)]}'
{
  "commit": "1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa",
  "tree": "faf5aa00e344e473957206bc82ffbb746e438d0b",
  "parents": [
    "2d7a66d02e11af9ab8e16c76d22767e622b4e3d7"
  ],
  "author": {
    "name": "Suresh Siddha",
    "email": "suresh.b.siddha@intel.com",
    "time": "Thu Jul 10 11:16:49 2008 -0700"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Sat Jul 12 08:44:59 2008 +0200"
  },
  "message": "x64, x2apic/intr-remap: basic apic ops support\n\nIntroduce basic apic operations which handle the apic programming. This\nwill be used later to introduce another specific operations for x2apic.\n\nFor the perfomance critial accesses like IPI\u0027s, EOI etc, we use the\nnative operations as they are already referenced by different\nindirections like genapic, irq_chip etc.\n\n64bit Paravirt ops can also define their apic operations accordingly.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: akpm@linux-foundation.org\nCc: arjan@linux.intel.com\nCc: andi@firstfloor.org\nCc: ebiederm@xmission.com\nCc: jbarnes@virtuousgeek.org\nCc: steiner@sgi.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e58b676d23b8fd96a87823e30fcc4566d60aad6",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/apic_32.c",
      "new_id": "2a83c07bd88731e5d958a79facd59bde74b09143",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/apic_32.c"
    },
    {
      "type": "modify",
      "old_id": "3963f590c3d4d6c10a7b0e6e53e9416e6426322b",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/apic_64.c",
      "new_id": "9bb040689b31aa0d8b6850b26d93d0905f7ff8cd",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/apic_64.c"
    },
    {
      "type": "modify",
      "old_id": "84dd63c13d6300c841748361a7935db15849f252",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/io_apic_64.c",
      "new_id": "b62d42ef928393ea7cc5d4ab40b6adbc10048a28",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/io_apic_64.c"
    },
    {
      "type": "modify",
      "old_id": "e0f571d58c19c0bfa4eeee39d89972ed2239f55f",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/paravirt.c",
      "new_id": "b80105a0f47402a47481f6e893f9e5b0604d6ded",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/paravirt.c"
    },
    {
      "type": "modify",
      "old_id": "f35c2d8016ac412c1c0433bf4382829c1d2cef31",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/smpboot.c",
      "new_id": "c55263b3df02633f40f33f6b18653848a15b9207",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/smpboot.c"
    },
    {
      "type": "modify",
      "old_id": "4e2c1e517f0652fb1877c378f760fdb03fe6e8bb",
      "old_mode": 33188,
      "old_path": "include/asm-x86/apic.h",
      "new_id": "6fda195337c53a92303aaa3450eaafa2feba9b64",
      "new_mode": 33188,
      "new_path": "include/asm-x86/apic.h"
    },
    {
      "type": "modify",
      "old_id": "196d63c28aa44aa3365977da4b729d59444fcb69",
      "old_mode": 33188,
      "old_path": "include/asm-x86/ipi.h",
      "new_id": "3d8d6a6c1f8e5f8435db4e6be54b0608d0872ace",
      "new_mode": 33188,
      "new_path": "include/asm-x86/ipi.h"
    },
    {
      "type": "modify",
      "old_id": "ef5e8ec6a6ab7431f0c799a2b56a4cd5f18fe5e9",
      "old_mode": 33188,
      "old_path": "include/asm-x86/paravirt.h",
      "new_id": "10adac02e6db3286a9bd240d2e770283709f388a",
      "new_mode": 33188,
      "new_path": "include/asm-x86/paravirt.h"
    },
    {
      "type": "modify",
      "old_id": "9848715fbd9ef7b448d6089b64f2dd8d3bd47c3d",
      "old_mode": 33188,
      "old_path": "include/asm-x86/smp.h",
      "new_id": "d9d007d227855a0c3fee1bb8f014d4bd0df22fd6",
      "new_mode": 33188,
      "new_path": "include/asm-x86/smp.h"
    }
  ]
}
