)]}'
{
  "log": [
    {
      "commit": "aa2fbe6d44892070d78995f0df875ce930904e29",
      "tree": "bc2350a65c4e656df5597ebe4111bcfd98116bfe",
      "parents": [
        "f3bff6318fa0f54956b02ed451d9b120441006ea"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:40 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Let ioapic know the irq line status\n\nUserspace may deliver RTC interrupt without query the status. So we\nwant to track RTC EOI for this case.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f3bff6318fa0f54956b02ed451d9b120441006ea",
      "tree": "3a4e541963bd4b0c1338cd705d10af4b8b71a265",
      "parents": [
        "106069193ce501ea68649037bde7ea50ed492948"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:39 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Force vmexit with virtual interrupt delivery\n\nNeed the EOI to track interrupt deliver status, so force vmexit\non EOI for rtc interrupt when enabling virtual interrupt delivery.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "106069193ce501ea68649037bde7ea50ed492948",
      "tree": "3dea2fb1878a3c8a116b88258f1324591433aa84",
      "parents": [
        "b4f2225c07dd4d8eef7aa7f5b36a3b72c3cbbe5b"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:38 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Add reset/restore rtc_status support\n\nrestore rtc_status from migration or save/restore\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b4f2225c07dd4d8eef7aa7f5b36a3b72c3cbbe5b",
      "tree": "47cecd1a3cec51c6dee70e8558aa749b744ca0e9",
      "parents": [
        "8dc6aade5bdc9d436d4ab8328cb15f0adbbc47bf"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:37 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:34 2013 -0300"
      },
      "message": "KVM: Return destination vcpu on interrupt injection\n\nAdd a new parameter to know vcpus who received the interrupt.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1fcc7890dbf32571c25278803ee19182c801c006",
      "tree": "cf53a1b42ce73b3b57e4d3f7639102df13bff067",
      "parents": [
        "c0d1c770c05ac7051df86914f9627b68f29c1d67"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Thu Apr 11 19:21:35 2013 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 15 23:20:33 2013 -0300"
      },
      "message": "KVM: Add vcpu info to ioapic_update_eoi()\n\nAdd vcpu info to ioapic_update_eoi, so we can know which vcpu\nissued this EOI.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "44944d4d28948c71b110b09a2e924e505cd39e8b",
      "tree": "6d0b96165c11414c98edd14501f016627687d7dd",
      "parents": [
        "99437a2782730ec8c7e6cfebb6143d00b091e4a8"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Sun Apr 07 08:25:18 2013 +0800"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Apr 07 13:55:49 2013 +0300"
      },
      "message": "KVM: Call kvm_apic_match_dest() to check destination vcpu\n\nFor a given vcpu, kvm_apic_match_dest() will tell you whether\nthe vcpu in the destination list quickly. Drop kvm_calculate_eoi_exitmap()\nand use kvm_apic_match_dest() instead.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "a2c118bfab8bc6b8bb213abfc35201e441693d55",
      "tree": "39261e300db388699d388d98afa4aca107258571",
      "parents": [
        "0b79459b482e85cb7426aa7da683a9f2c97aeae1"
      ],
      "author": {
        "name": "Andy Honig",
        "email": "ahonig@google.com",
        "time": "Wed Feb 20 14:49:16 2013 -0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Mar 19 14:20:21 2013 -0300"
      },
      "message": "KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)\n\nIf the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows\nthat with a read of the IOAPIC_REG_WINDOW KVM does not properly validate\nthat request.  ioapic_read_indirect contains an\nASSERT(redir_index \u003c IOAPIC_NUM_PINS), but the ASSERT has no effect in\nnon-debug builds.  In recent kernels this allows a guest to cause a kernel\noops by reading invalid memory.  In older kernels (pre-3.3) this allows a\nguest to read from large ranges of host memory.\n\nTested: tested against apic unit tests.\n\nSigned-off-by: Andrew Honig \u003cahonig@google.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c7c9c56ca26f7b9458711b2d78b60b60e0d38ba7",
      "tree": "feab61b2f3a5587dd502a9d2bf4b27a8b2ebe507",
      "parents": [
        "8d14695f9542e9e0195d6e41ddaa52c32322adf5"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Fri Jan 25 10:18:51 2013 +0800"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jan 29 10:48:19 2013 +0200"
      },
      "message": "x86, apicv: add virtual interrupt delivery support\n\nVirtual interrupt delivery avoids KVM to inject vAPIC interrupts\nmanually, which is fully taken care of by the hardware. This needs\nsome special awareness into existing interrupr injection path:\n\n- for pending interrupt, instead of direct injection, we may need\n  update architecture specific indicators before resuming to guest.\n\n- A pending interrupt, which is masked by ISR, should be also\n  considered in above update action, since hardware will decide\n  when to inject it at right time. Current has_interrupt and\n  get_interrupt only returns a valid vector from injection p.o.v.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Kevin Tian \u003ckevin.tian@intel.com\u003e\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "871a069db9f29938071b3d214cb964980071ffbf",
      "tree": "038149d2708d00ac6411a22fd90eca82531260a5",
      "parents": [
        "7e64e0597fd67c975bfa3e76401bfbcdd5ae0ff9"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yang.z.zhang@Intel.com",
        "time": "Wed Dec 12 13:05:12 2012 +0800"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Dec 23 10:04:35 2012 +0200"
      },
      "message": "KVM: remove a wrong hack of delivery PIT intr to vcpu0\n\nThis hack is wrong. The pin number of PIT is connected to\n2 not 0. This means this hack never takes effect. So it is ok\nto remove it.\n\nSigned-off-by: Yang Zhang \u003cyang.z.zhang@Intel.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "28a6fdabb3ea775d3d707afd9d2728b3ced2c34d",
      "tree": "13e8ec656afd83c2a8064256668ae665c81d4912",
      "parents": [
        "dbcb4e798072d114fe68813f39a9efd239ab99c0"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Aug 14 19:20:28 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Aug 14 22:35:22 2012 -0300"
      },
      "message": "KVM: x86: drop parameter validation in ioapic/pic\n\nWe validate irq pin number when routing is setup, so\ncode handling illegal irq # in pic and ioapic on each injection\nis never called.\nDrop it, replace with BUG_ON to catch out of bounds access bugs.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1a577b72475d161b6677c05abe57301362023bb2",
      "tree": "d8a9910f0016ada479c5a88c1a330b5e1cbc7ef1",
      "parents": [
        "d63d3e6217c49b81d74141b7920bbe5950532432"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 19 13:45:20 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jul 20 16:12:00 2012 -0300"
      },
      "message": "KVM: fix race with level interrupts\n\nWhen more than 1 source id is in use for the same GSI, we have the\nfollowing race related to handling irq_states race:\n\nCPU 0 clears bit 0. CPU 0 read irq_state as 0. CPU 1 sets level to 1.\nCPU 1 calls kvm_ioapic_set_irq(1). CPU 0 calls kvm_ioapic_set_irq(0).\nNow ioapic thinks the level is 0 but irq_state is not 0.\n\nFix by performing all irq_states bitmap handling under pic/ioapic lock.\nThis also removes the need for atomics with irq_states handling.\n\nReported-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a0c9a822bf37e6282eb6006b407ec5aec22e08fb",
      "tree": "62e0ba3e3b031ded8187b1c37681015ec920ebe2",
      "parents": [
        "e59717550e5cf0e7159c5b7af1d1ead35fef49dd"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Apr 11 18:49:55 2012 +0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 16 20:36:38 2012 -0300"
      },
      "message": "KVM: dont clear TMR on EOI\n\nIntel spec says that TMR needs to be set/cleared\nwhen IRR is set, but kvm also clears it on  EOI.\n\nI did some tests on a real (AMD based) system,\nand I see same TMR values both before\nand after EOI, so I think it\u0027s a minor bug in kvm.\n\nThis patch fixes TMR to be set/cleared on IRR set\nonly as per spec.\n\nAnd now that we don\u0027t clear TMR, we can save\nan atomic read of TMR on EOI that\u0027s not propagated\nto ioapic, by checking whether ioapic needs\na specific vector first and calculating\nthe mode afterwards.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d546cb406ea0d83e2d39ec14221957a24f88a622",
      "tree": "32ed0f1cc2e56a8fcd2a24cf0db97d1326b4c9bd",
      "parents": [
        "a647795efbedeedf8a1dc6deded26defa23562bd"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Dec 15 12:38:40 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:32 2011 +0200"
      },
      "message": "KVM: drop bsp_vcpu pointer from kvm struct\n\nDrop bsp_vcpu pointer from kvm struct since its only use is incorrect\nanyway.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d77fe6354d5b67f4d4eb62a47621da2b3ee3539e",
      "tree": "4c399e8125d69d128c200807eb517dd7c20b277b",
      "parents": [
        "60f9a9ef5492cae66aca2ad9873360161320d5af"
      ],
      "author": {
        "name": "Julian Stecklina",
        "email": "js@alien8.de",
        "time": "Wed Nov 23 13:54:30 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:44 2011 +0200"
      },
      "message": "KVM: Allow aligned byte and word writes to IOAPIC registers.\n\nThis fixes byte accesses to IOAPIC_REG_SELECT as mandated by at least the\nICH10 and Intel Series 5 chipset specs. It also makes ioapic_mmio_write\nconsistent with ioapic_mmio_read, which also allows byte and word accesses.\n\nSigned-off-by: Julian Stecklina \u003cjs@alien8.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "743eeb0b01d2fbf4154bf87bff1ebb6fb18aeb7a",
      "tree": "5392464930f7e77131d65f32ba96ce4665307629",
      "parents": [
        "0d460ffc0956d2dbe12ca9f5f6aa0f8701ea9d73"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Wed Jul 27 16:00:48 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 25 19:17:59 2011 +0300"
      },
      "message": "KVM: Intelligent device lookup on I/O bus\n\nCurrently the method of dealing with an IO operation on a bus (PIO/MMIO)\nis to call the read or write callback for each device registered\non the bus until we find a device which handles it.\n\nSince the number of devices on a bus can be significant due to ioeventfds\nand coalesced MMIO zones, this leads to a lot of overhead on each IO\noperation.\n\nInstead of registering devices, we now register ranges which points to\na device. Lookup is done using an efficient bsearch instead of a linear\nsearch.\n\nPerformance test was conducted by comparing exit count per second with\n200 ioeventfds created on one byte and the guest is trying to access a\ndifferent byte continuously (triggering usermode exits).\nBefore the patch the guest has achieved 259k exits per second, after the\npatch the guest does 274k exits per second.\n\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a38f84ca8c6991925cb8bb6371ade8df9d3cc1e6",
      "tree": "6c0b7f3d773f97b40dd2711cb59dca05b6673b3b",
      "parents": [
        "a78484c60e35555d6e0e5b1eb83d4913621c59fb"
      ],
      "author": {
        "name": "Liu Yuan",
        "email": "tailai.ly@taobao.com",
        "time": "Thu Apr 21 14:53:57 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun May 22 08:39:27 2011 -0400"
      },
      "message": "KVM: ioapic: Fix an error field reference\n\nFunction ioapic_debug() in the ioapic_deliver() misnames\none filed by reference. This patch correct it.\n\nSigned-off-by: Liu Yuan \u003ctailai.ly@taobao.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4a994358b919c3b14de61be5e30d9edc9089ba3f",
      "tree": "122e0cc88dbb97733b02aac0e5e30e33d592444a",
      "parents": [
        "2e2602ca5df09e4c4e2b593bc30abead9a8617d4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Jul 11 15:32:23 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:39 2010 +0300"
      },
      "message": "KVM: Convert mask notifiers to use irqchip/pin instead of gsi\n\nDevices register mask notifier using gsi, but irqchip knows about\nirqchip/pin, so conversion from irqchip/pin to gsi should be done before\nlooking for mask notifier to call.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "221d059d15f1c8bd070a63fd45cd8d2598af5f99",
      "tree": "d3f58d21aa9cd5a28a29f5187ae9f03bd4f9e089",
      "parents": [
        "9fb2d2b4ff292a01ae30da003d1dc097917b0988"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun May 23 18:37:00 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:35:51 2010 +0300"
      },
      "message": "KVM: Update Red Hat copyrights\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "07dc7263b99e4ddad2b4c69765a428ccb7d48938",
      "tree": "a1c5cd9a50362b03c60c93f11ed34739d4f9da0f",
      "parents": [
        "3499f4d0d1159a21245d6071f8af6a71b86a78bc"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jun 02 11:26:26 2010 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jun 10 20:29:03 2010 +0300"
      },
      "message": "KVM: read apic-\u003eirr with ioapic lock held\n\nRead ioapic-\u003eirr inside ioapic-\u003elock protected section.\n\nKVM-Stable-Tag\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "46a47b1ed118cda1a08b7f6077b837a00fbc112b",
      "tree": "d86686ebd47f9e5751b91121926ddbf6917e39a6",
      "parents": [
        "be835674b55324c1abe973b15343c3663910c620"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 23 14:03:38 2010 -0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:23:55 2010 -0300"
      },
      "message": "KVM: convert ioapic lock to spinlock\n\nkvm_set_irq is used from non sleepable contexes, so convert ioapic from\nmutex to spinlock.\n\nKVM-Stable-Tag.\nTested-by: Ralf Bonenkamp \u003cralf.bonenkamp@swyx.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "72bb2fcd23afe8db53b47e8f9edd736c517ba532",
      "tree": "b79884bcb50077fec7cb5615178cacbbf9e6ce04",
      "parents": [
        "1ae77badc2504d157800f10a81a58cc9c941e7cb"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Feb 09 10:33:03 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:10 2010 -0300"
      },
      "message": "KVM: cleanup the failure path of KVM_CREATE_IRQCHIP ioctrl\n\nIf we fail to init ioapic device or the fail to setup the default irq\nrouting, the device register by kvm_create_pic() and kvm_ioapic_init()\nremain unregister. This patch fixed to do this.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1ae77badc2504d157800f10a81a58cc9c941e7cb",
      "tree": "57f590b82a8e20863635ce8b528b79c022b0a8e9",
      "parents": [
        "d225f53b76f4287365efd381b9e3a732e6bad27e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Feb 09 10:31:09 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:09 2010 -0300"
      },
      "message": "KVM: kvm-\u003earch.vioapic should be NULL if kvm_ioapic_init() failure\n\nkvm-\u003earch.vioapic should be NULL in case of kvm_ioapic_init() failure\ndue to cannot register io dev.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "46a929bc15fcd48e1e0e770a44040a6949cae133",
      "tree": "5351d75586821e74d82c59f1e1cde10806a25237",
      "parents": [
        "f4c9e87c83a9f5bc1800db27dbb39e5cd1254c0a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 28 14:08:30 2009 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:46 2010 -0300"
      },
      "message": "KVM: avoid taking ioapic mutex for non-ioapic EOIs\n\nWhen the guest acknowledges an interrupt, it sends an EOI message to the local\napic, which broadcasts it to the ioapic.  To handle the EOI, we need to take\nthe ioapic mutex.\n\nOn large guests, this causes a lot of contention on this mutex.  Since large\nguests usually don\u0027t route interrupts via the ioapic (they use msi instead),\nthis is completely unnecessary.\n\nAvoid taking the mutex by introducing a handled_vectors bitmap.  Before taking\nthe mutex, check if the ioapic was actually responsible for the acked vector.\nIf not, we can return early.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "79fac95ecfa3969aab8119d37ccd7226165f933a",
      "tree": "4103169c7fd2b7fb1ba95dae2db6b3f365476b9d",
      "parents": [
        "f656ce0185cabbbb0cf96877306879661297c7ad"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:26 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:45 2010 -0300"
      },
      "message": "KVM: convert slots_lock to a mutex\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e93f8a0f821e290ac5149830110a5f704db7a1fc",
      "tree": "f88a5e97286031a8105d63a069a4131b74dab113",
      "parents": [
        "a983fb238728e1123177e8058d4f644b949a7d05"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:24 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:45 2010 -0300"
      },
      "message": "KVM: convert io_bus to SRCU\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "eba0226bdfffe262e72b8360e4d0d12070e9a0f0",
      "tree": "93da785e3bba63a9232e529a2572541ef87c0615",
      "parents": [
        "280aa177dcd1edc718d8a92f17f235b783ec6307"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Aug 24 11:54:25 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:08 2009 +0200"
      },
      "message": "KVM: Move IO APIC to its own lock\n\nThe allows removal of irq_lock from the injection path.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "65a82211636f156a276cac3f8665605ae18f371f",
      "tree": "e3747c159a8c86bcd92dde36dd58b59c942ed9ff",
      "parents": [
        "a20316d2aa41a8f4fd171648bad8f044f6060826"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Sep 03 12:10:34 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:59 2009 +0300"
      },
      "message": "KVM: Fix coalesced interrupt reporting in IOAPIC\n\nThis bug was introduced by b4a2f5e723e4f7df467.\n\nCc: stable@kernel.org\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "090b7aff27120cdae76a346a70db394844fea598",
      "tree": "4676410f57a44d7c0fba9d791fc77d7850ad1d51",
      "parents": [
        "fef07aae9cd9ed82f94228c311b35360f1f38902"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Tue Jul 07 17:08:44 2009 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:12 2009 +0300"
      },
      "message": "KVM: make io_bus interface more robust\n\nToday kvm_io_bus_regsiter_dev() returns void and will internally BUG_ON\nif it fails.  We want to create dynamic MMIO/PIO entries driven from\nuserspace later in the series, so we need to enhance the code to be more\nrobust with the following changes:\n\n   1) Add a return value to the registration function\n   2) Fix up all the callsites to check the return code, handle any\n      failures, and percolate the error up to the caller.\n   3) Add an unregister function that collapses holes in the array\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1000ff8d893765d7b56e32fe16dbe4814f172588",
      "tree": "f76731c391a5044c26531b2a00feeb98b6e457b0",
      "parents": [
        "07fb8bb29f5269f30afa6f1b3d941406677f6ad2"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jul 07 16:00:57 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:11 2009 +0300"
      },
      "message": "KVM: Add trace points in irqchip code\n\nAdd tracepoint in msi/ioapic/pic set_irq() functions,\nin IPI sending and in the point where IRQ is placed into\napic\u0027s IRR.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "70f93dae32aca8b3b7da66891aecd3ee0ee48060",
      "tree": "29f52c2179255b27fd067afbcce6d7e75bc23697",
      "parents": [
        "0105d1a526404cfc9779552a6198bfd0e5fc937a"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Jul 05 18:48:12 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:08 2009 +0300"
      },
      "message": "KVM: Use temporary variable to shorten lines.\n\nCosmetic only. No logic is changed by this patch.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "27c4ba60171d9ce29d3645619837760d758ed288",
      "tree": "b32696a5c783c90009200b80783cb667b6e15005",
      "parents": [
        "22fc02943a630417cb71734cd0b2e6f8dc4210b6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Jun 29 18:05:10 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:06 2009 +0300"
      },
      "message": "KVM: fix lock imbalance\n\nThere is a missing unlock on one fail path in ioapic_mmio_write,\nfix that.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bda9020e2463ec94db9f97e8615f3bae22069838",
      "tree": "48125316d4c0f419a35aefdfbf665d30ad0c55ca",
      "parents": [
        "6c474694530f377507f9aca438c17206e051e6e7"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jun 29 22:24:32 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:05 2009 +0300"
      },
      "message": "KVM: remove in_range from io devices\n\nThis changes bus accesses to use high-level kvm_io_bus_read/kvm_io_bus_write\nfunctions. in_range now becomes unused so it is removed from device ops in\nfavor of read/write callbacks performing range checks internally.\n\nThis allows aliasing (mostly for in-kernel virtio), as well as better error\nhandling by making it possible to pass errors up to userspace.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6c474694530f377507f9aca438c17206e051e6e7",
      "tree": "11590f6cca777716e7dfbc16c2d98fc7d64c11b0",
      "parents": [
        "108b56690f35e083c5559116d6656f59a557a815"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jun 29 22:24:26 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:05 2009 +0300"
      },
      "message": "KVM: convert bus to slots_lock\n\nUse slots_lock to protect device list on the bus.  slots_lock is already\ntaken for read everywhere, so we only need to take it for write when\nregistering devices.  This is in preparation to removing in_range and\nkvm-\u003elock around it.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c5af89b68abb26eea5e745f33228f4d672f115e5",
      "tree": "aad12571ebedea7b869adbeec27e614c498715f4",
      "parents": [
        "d555c333aa544b222fe077adcd5dfea024b2c913"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jun 09 15:56:26 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:51 2009 +0300"
      },
      "message": "KVM: Introduce kvm_vcpu_is_bsp() function.\n\nUse it instead of open code \"vcpu_id zero is BSP\" assumption.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "60eead79ad8750f80384cbe48fc44edcc78a0305",
      "tree": "bf7b2a6e83c47f709e9d0afb2a8c53eb2944b05c",
      "parents": [
        "64a2268dcfc9c3626aa7f70902690e2fc10c1630"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jun 04 15:08:23 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:49 2009 +0300"
      },
      "message": "KVM: introduce irq_lock, use it to protect ioapic\n\nIntroduce irq_lock, and use to protect ioapic data structures.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d76685c4a074041ed168e0b04dd604c3df5dcaa5",
      "tree": "828fb3a57b7829530904318a0ad9d006e21408ad",
      "parents": [
        "787a660a4f03325a0e00493ac39017e53fd345fa"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Jun 01 12:54:50 2009 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:45 2009 +0300"
      },
      "message": "KVM: cleanup io_device code\n\nWe modernize the io_device code so that we use container_of() instead of\ndev-\u003eprivate, and move the vtable to a separate ops structure\n(theoretically allows better caching for multiple instances of the same\nops structure)\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b4a2f5e723e4f7df46731106faf9e2405673c073",
      "tree": "98766bcb94182957b27b9bdd371c742d927da951",
      "parents": [
        "53a27b39ff4d2492f84b1fdc2f0047175f0b0b93"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Jul 05 18:48:11 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 09 11:45:49 2009 +0300"
      },
      "message": "KVM: Avoid redelivery of edge interrupt before next edge\n\nThe check for an edge is broken in current ioapic code. ioapic-\u003eirr is\ncleared on each edge interrupt by ioapic_service() and this makes\nold_irr !\u003d ioapic-\u003eirr condition in kvm_ioapic_set_irq() to be always\ntrue. The patch fixes the code to properly recognise edge.\n\nSome HW emulation calls set_irq() without level change. If each such\ncall is propagated to an OS it may confuse a device driver. This is the\ncase with keyboard device emulation and Windows XP x64  installer on SMP VM.\nEach keystroke produce two interrupts (down/up) one interrupt is\nsubmitted to CPU0 and another to CPU1. This confuses Windows somehow\nand it ignores keystrokes.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "58c2dde17d6eb6c8c0566e52d184aa16755d890f",
      "tree": "a968731cbce73932decd63e00be313cebfd2f57f",
      "parents": [
        "e1035715ef8d3171e29f9c6aee6f40d57b3fead5"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 05 16:35:04 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:27 2009 +0300"
      },
      "message": "KVM: APIC: get rid of deliver_bitmask\n\nDeliver interrupt during destination matching loop.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nAcked-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "343f94fe4d16ec898da77720c03da9e09f8523d2",
      "tree": "fa0180a8446a90000086593b9fa8d4d81708ddd8",
      "parents": [
        "a53c17d21c46a752f5ac6695376481bc27865b04"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 05 16:34:54 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:27 2009 +0300"
      },
      "message": "KVM: consolidate ioapic/ipi interrupt delivery logic\n\nUse kvm_apic_match_dest() in kvm_get_intr_delivery_bitmask() instead\nof duplicating the same code. Use kvm_get_intr_delivery_bitmask() in\napic_send_ipi() to figure out ipi destination instead of reimplementing\nthe logic.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a53c17d21c46a752f5ac6695376481bc27865b04",
      "tree": "f7ece20fcb0adbf4cabc580fb5a16cf5eec0a897",
      "parents": [
        "6da7e3f643cf7099965d75fda8606b9d3a8650b9"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 05 16:34:49 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:27 2009 +0300"
      },
      "message": "KVM: ioapic/msi interrupt delivery consolidation\n\nioapic_deliver() and kvm_set_msi() have code duplication. Move\nthe code into ioapic_deliver_entry() function and call it from\nboth places.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6da7e3f643cf7099965d75fda8606b9d3a8650b9",
      "tree": "af1ae2e8e3cca59c127d252b3f84efda1dfadc5d",
      "parents": [
        "f5a1e9f89504f57b2b45645a7239dc8a8ddb0f4c"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 05 16:34:44 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:26 2009 +0300"
      },
      "message": "KVM: APIC: kvm_apic_set_irq deliver all kinds of interrupts\n\nGet rid of ioapic_inj_irq() and ioapic_inj_nmi() functions.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "74a3a8f152053394a016518cc2f2fee216897fa4",
      "tree": "96e2d2a9a8583836280063fde54323715ff8d90a",
      "parents": [
        "3f5e06f8799adca3e7e1bbafe1cd780a3e69f604"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Mar 04 13:33:02 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:26 2009 +0300"
      },
      "message": "KVM: Merge kvm_ioapic_get_delivery_bitmask into kvm_get_intr_delivery_bitmask\n\nGleb fixed bitmap ops usage in kvm_ioapic_get_delivery_bitmask.\n\nSheng merged two functions, as well as fixed several issues in\nkvm_get_intr_delivery_bitmask\n1. deliver_bitmask is a bitmap rather than a unsigned long intereger.\n2. Lowest priority target bitmap wrong calculated by mistake.\n3. Prevent potential NULL reference.\n4. Declaration in include/kvm_host.h caused powerpc compilation warning.\n5. Add warning for guest broadcast interrupt with lowest priority delivery mode.\n6. Removed duplicate bitmap clean up in caller of kvm_get_intr_delivery_bitmask.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "bfd349d073b2838a6a031f057d25e266619b7093",
      "tree": "b2b2f2f3f99a7e860fb7bb7c54ce322700055ebd",
      "parents": [
        "110c2faeba1f1994bcb1de55b9c31f4147dbfdb6"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Feb 11 16:03:40 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:22 2009 +0300"
      },
      "message": "KVM: bit ops for deliver_bitmap\n\nIt\u0027s also convenient when we extend KVM supported vcpu number in the future.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e5871be0f5d6847bc9585c997acb1b917c168f03",
      "tree": "9a0c44db7affcc72137455f186d0a4193e206612",
      "parents": [
        "116191b69b608d0f1513e3abe71d6a46800f2bd6"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Feb 11 16:03:38 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:22 2009 +0300"
      },
      "message": "KVM: Change API of kvm_ioapic_get_delivery_bitmask\n\nIn order to use with bit ops.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "116191b69b608d0f1513e3abe71d6a46800f2bd6",
      "tree": "d2c257dc1888d84b6cf869460c4e94ef53669011",
      "parents": [
        "cf9e4e15e8f6306b2559979269ead7c02e6b2b95"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Feb 11 16:03:37 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:22 2009 +0300"
      },
      "message": "KVM: Unify the delivery of IOAPIC and MSI interrupts\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "cf9e4e15e8f6306b2559979269ead7c02e6b2b95",
      "tree": "08913212c62e64e3f3a6622e9cc302e7b1f386b5",
      "parents": [
        "5897297bc228fc3c85fdc421fd5c487f9a99821a"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Feb 11 16:03:36 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:21 2009 +0300"
      },
      "message": "KVM: Split IOAPIC structure\n\nPrepared for reuse ioapic_redir_entry for MSI.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4925663a079c77d95d8685228ad6675fc5639c8e",
      "tree": "52e93df78b23a44ed21d015f835688f673dd351a",
      "parents": [
        "452425dbaa1974e9fc489e64a8de46a47b4c2754"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Feb 04 17:28:14 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:11 2009 +0200"
      },
      "message": "KVM: Report IRQ injection status to userspace.\n\nIRQ injection status is either -1 (if there was no CPU found\nthat should except the interrupt because IRQ was masked or\nioapic was misconfigured or ...) or \u003e\u003d 0 in that case the\nnumber indicates to how many CPUs interrupt was injected.\nIf the value is 0 it means that the interrupt was coalesced\nand probably should be reinjected.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "44882eed2ebe7f75f8cdae5671ab1d6e0fa40dbc",
      "tree": "e026a4067370e2dac1a5a3a9d9995e2b6f82ba49",
      "parents": [
        "934d534f8a5a39e20d5682b3a3a45ff351706b59"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Jan 27 15:12:38 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:08 2009 +0200"
      },
      "message": "KVM: make irq ack notifications aware of routing table\n\nIRQ ack notifications assume an identity mapping between pin-\u003egsi,\nwhich might not be the case with, for example, HPET.\n\nTranslate before acking.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "75858a84a6207f5e60196f6bbd18fde4250e5759",
      "tree": "ad8ab5d60a616270c61d88a9af08713cefbc9d35",
      "parents": [
        "5d9b8e30f543a9f21a968a4cda71e8f6d1c66a61"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jan 04 17:10:50 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:03 2009 +0200"
      },
      "message": "KVM: Interrupt mask notifiers for ioapic\n\nAllow clients to request notifications when the guest masks or unmasks a\nparticular irq line.  This complements irq ack notifications, as the guest\nwill not ack an irq line that is masked.\n\nCurrently implemented for the ioapic only.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "68b76f51675809c8ce200a86276c3c7266f17a64",
      "tree": "a3720533a4f516f1db85ff4c1a086be2ece25600",
      "parents": [
        "0937c48d075ddd59ae2c12a6fa8308b9c7a63753"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Mon Nov 24 14:32:54 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:01 2008 +0200"
      },
      "message": "KVM: Export ioapic_get_delivery_bitmask\n\nIt would be used for MSI in device assignment, for MSI dispatch.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "26df99c6c5807115f06d4e1abae397b7f5f3e00c",
      "tree": "d0ab22cc61ddd6d3ae0ea59a8aba83c49982553d",
      "parents": [
        "0496fbb973ccc9477082e859ed0faab5acb805ba"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Sep 26 09:30:54 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:51:42 2008 +0200"
      },
      "message": "KVM: Kick NMI receiving VCPU\n\nKick the NMI receiving VCPU in case the triggering caller runs in a\ndifferent context.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "26815a648e1ec2b338a63a2bc301dcf449b93e5a",
      "tree": "5e91362ff4d522dad277621f1492627ecc8eebe5",
      "parents": [
        "ee032c993edd34e0bdf64dab06a55d0e08a4eeb9"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Aug 19 20:48:03 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: ia64: add a dummy irq ack notification\n\nBefore enabling notify_acked_irq for ia64, leave the related APIs as\nnop-op first.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f52447261bc8c21dfd4635196e32d2da1352f589",
      "tree": "a0de6cefa7fbfdd07285bd60c4f61e4e2f2d4ed6",
      "parents": [
        "564f15378f04921d5749f27ec53d5e68a6d1d446"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sat Jul 26 17:01:00 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: irq ack notification\n\nBased on a patch from: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nwhich was based on a patch from: Amit Shah \u003camit.shah@qumranet.com\u003e\n\nNotify IRQ acking on PIC/APIC emulation. The previous patch missed two things:\n\n- Edge triggered interrupts on IOAPIC\n- PIC reset with IRR/ISR set should be equivalent to ack (LAPIC probably\nneeds something similar).\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCC: Amit Shah \u003camit.shah@qumranet.com\u003e\nCC: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "92760499d01ef91518119908eb9b8798b6c9bd3f",
      "tree": "a6bd80fbad82589eb5aa98f81edda4537bc1f625",
      "parents": [
        "131d82791b628d4aeafd94ddc74a9b68f3d15a83"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Fri May 30 16:05:53 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:30 2008 +0300"
      },
      "message": "KVM: kvm_io_device: extend in_range() to manage len and write attribute\n\nModify member in_range() of structure kvm_io_device to pass length and the type\nof the I/O (write or read).\n\nThis modification allows to use kvm_io_device with coalesced MMIO.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3419ffc8e45a5344abc87684cbca6cdc5c9c8a01",
      "tree": "53d00e67ba8844800d1f73242ce42fad117f0eaf",
      "parents": [
        "50d40d7fb9b09e68a657c68837fcfa067b70cc42"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu May 15 09:52:48 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:25 2008 +0300"
      },
      "message": "KVM: IOAPIC/LAPIC: Enable NMI support\n\n[avi: fix ia64 build breakage]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "35baff256d8fe1eec0b8988fcb5cde80df7bfa1a",
      "tree": "f239537b52023a63ab562c2e31b118214c502aa9",
      "parents": [
        "ca3739327b89bb4053a62ac41b67b106c1967ab0"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Jul 04 18:23:15 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 06 11:05:35 2008 +0300"
      },
      "message": "KVM: IOAPIC: Fix level-triggered irq injection hang\n\nThe \"remote_irr\" variable is used to indicate an interrupt\nwhich has been received by the LAPIC, but not acked.\n\nIn our EOI handler, we unset remote_irr and re-inject the\ninterrupt if the interrupt line is still asserted.\n\nHowever, we do not set remote_irr here, leading to a\nsituation where if kvm_ioapic_set_irq() is called, then we go\nahead and call ioapic_service(). This means that IRR is\nre-asserted even though the interrupt is currently in service\n(i.e. LAPIC IRR is cleared and ISR/TMR set)\n\nThe issue with this is that when the currently executing\ninterrupt handler finishes and writes LAPIC EOI, then TMR is\nunset and EOI sent to the IOAPIC. Since IRR is now asserted,\nbut TMR is not, then when the second interrupt is handled,\nno EOI is sent and if there is any pending interrupt, it is\nnot re-injected.\n\nThis fixes a hang only seen while running mke2fs -j on an\n8Gb virtio disk backed by a fully sparse raw file, with\naliguori \"avoid fragmented virtio-blk transfers by copying\"\nchanges.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nAcked-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4fa6b9c5dc4134bdeac341d731a87783cc11ca10",
      "tree": "3542acc44ec41a0c9f79fbda570f64d315bdb0b1",
      "parents": [
        "6bf6a9532fd03ad719f0c86654f16ef777b78fc6"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 17 15:36:36 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:23:55 2008 +0300"
      },
      "message": "KVM: ioapic: fix lost interrupt when changing a device\u0027s irq\n\nThe ioapic acknowledge path translates interrupt vectors to irqs.  It\ncurrently uses a first match algorithm, stopping when it finds the first\nredirection table entry containing the vector.  That fails however if the\nguest changes the irq to a different line, leaving the old redirection table\nentry in place (though masked).  Result is interrupts not making it to the\nguest.\n\nFix by always scanning the entire redirection table.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ff4b9df877b30b8a371d706d3552999dee450738",
      "tree": "f2195b2d4305643b59b78be266e98215a31bdcf4",
      "parents": [
        "8d2d73b9a5c35f2c6abf427afba7888cfc4cc65d"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jun 05 00:08:11 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jun 06 21:32:39 2008 +0300"
      },
      "message": "KVM: IOAPIC: only set remote_irr if interrupt was injected\n\nThere\u0027s a bug in the IOAPIC code for level-triggered interrupts. Its\nrelatively easy to trigger by sharing (virtio-blk + usbtablet was the\ntestcase, initially reported by Gerd von Egidy).\n\nThe \"remote_irr\" variable is used to indicate accepted but not yet acked\ninterrupts. Its cleared from the EOI handler.\n\nProblem is that the EOI handler clears remote_irr unconditionally, even\nif it reinjected another pending interrupt.\n\nIn that case, kvm_ioapic_set_irq() proceeds to ioapic_service() which\nsets remote_irr even if it failed to inject (since the IRR was high due\nto EOI reinjection).\n\nSince the TMR bit has been cleared by the first EOI, the second one\nfails to clear remote_irr.\n\nEnd result is interrupt line dead.\n\nFix it by setting remote_irr only if a new pending interrupt has been\ngenerated (and the TMR bit for vector in question set).\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8c35f237fb5664d30aa90448c3d6cea0cbb43f35",
      "tree": "1de7e021aff7ac0593ed9307045f6dd4fa771995",
      "parents": [
        "0b975a3c2d53829fa978e18fabae7d99031f588f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Feb 25 10:28:31 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 04 15:19:48 2008 +0200"
      },
      "message": "KVM: Route irq 0 to vcpu 0 exclusively\n\nSome Linux versions allow the timer interrupt to be processed by more than\none cpu, leading to hangs due to tsc instability.  Work around the issue\nby only disaptching the interrupt to vcpu 0.\n\nProblem analyzed (and patch tested) by Sheng Yang.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0eb8f4984824b8a811d44963995133f47813330a",
      "tree": "73c35c552c84b7756ea11a05c11c885cd7c12b1a",
      "parents": [
        "82470196fa346f50ab4071935597017de33c9ee3"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Mon Dec 17 14:16:14 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 18:01:19 2008 +0200"
      },
      "message": "KVM: Move ioapic code to common directory.\n\nMove ioapic code to common, since IA64 also needs it.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "82470196fa346f50ab4071935597017de33c9ee3",
      "tree": "2dc26c39f17d13555badb8e451c2d6fbe80902ec",
      "parents": [
        "0fce5623ba248d3af0d7fb719d5ac367cc9d5192"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Mon Dec 17 13:59:56 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 18:01:19 2008 +0200"
      },
      "message": "KVM: Move irqchip declarations into new ioapic.h and lapic.h\n\nThis allows reuse of ioapic in ia64.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "edf884172e9828c6234b254208af04655855038d",
      "tree": "f5e5d1eecaed9737eced6ba60d09fe93149751c1",
      "parents": [
        "9584bf2c93f56656dba0de8f6c75b54ca7995143"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 16 11:02:48 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 18:01:18 2008 +0200"
      },
      "message": "KVM: Move arch dependent files to new directory arch/x86/kvm/\n\nThis paves the way for multiple architecture support.  Note that while\nioapic.c could potentially be shared with ia64, it is also moved.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d7deeeb02cf73fd98cb71a6a0a5dffab9ef79556",
      "tree": "d1f1d1bf5ae822ddf1d91caf484366ebabf11217",
      "parents": [
        "f05e70ac03a6614af12194a014b338ec5594cb5c"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 10:17:34 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: move vpic and vioapic to kvm_arch\n\nThis patches moves two fields vpid and vioapic to kvm_arch\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ad312c7c79f781c822e37effe41307503a2bb85b",
      "tree": "d979bfb70e76ada58b79b456c61a0507a8f0847d",
      "parents": [
        "682c59a3f3f211ed555b17144f2d82eb8286a1db"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Thu Dec 13 23:50:52 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:09 2008 +0200"
      },
      "message": "KVM: Portability: Introduce kvm_vcpu_arch\n\nMove all the architecture-specific fields in kvm_vcpu into a new struct\nkvm_vcpu_arch.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b1fd3d30ba46360fc94d40ee8dc1f7a4338b19be",
      "tree": "f4da83ade6adf2ef27e6ed903afc2667ee22b375",
      "parents": [
        "0c7ac28d3dd27d718493aae4bbc7de89a2d9d386"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Sun Dec 02 22:53:07 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:17 2008 +0200"
      },
      "message": "KVM: Extend ioapic code to support iosapic\n\niosapic supports an additional mmio EOI register compared to ioapic.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0c7ac28d3dd27d718493aae4bbc7de89a2d9d386",
      "tree": "976c243aa5f4325c9087f3e2f88d81d8b0e48983",
      "parents": [
        "8be5453f95933340a42c6e7fc7b66f3bb786fddd"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Sun Dec 02 22:49:09 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:17 2008 +0200"
      },
      "message": "KVM: Replace dest_Lowest_Prio and dest_Fixed with self-defined macros\n\nChange\n  dest_Loest_Prio -\u003e IOAPIC_LOWEST_PRIORITY\n  dest_Fixed -\u003e IOAPIC_FIXED\n\nthe original names are x86 specific, while the ioapic code will be reused\nfor ia64.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8be5453f95933340a42c6e7fc7b66f3bb786fddd",
      "tree": "7c17e5413f4085d1dd344c72ffad88b728ffadcd",
      "parents": [
        "2b5203ee6828e9cabab1e1fb42e53d72ab9351a6"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Sun Dec 02 22:35:57 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:17 2008 +0200"
      },
      "message": "KVM: Replace kvm_lapic with kvm_vcpu in ioapic/lapic interface\n\nThis patch replaces lapic structure with kvm_vcpu in ioapic.c, making ioapic\nindependent of the local apic, as required by ia64.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8c392696e749171531d155ea5cefdfc1c970fd18",
      "tree": "36b97e721b3423b3272c9866ed32b06251db8b09",
      "parents": [
        "2fcceae145645ec6a4fab0a806bb674d7484d97b"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Wed Oct 10 12:15:54 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:52:55 2008 +0200"
      },
      "message": "KVM: Split IOAPIC reset function and export for kernel RESET\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "34c16eecf78ed4cf01f39ac7211f5b57942ec899",
      "tree": "9a9d6192db411cc3c7ff665cc94a8797eb55aa80",
      "parents": [
        "8d4e1288ebb753d3140d81cb349f22b0a6829a4a"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Sat Oct 20 15:34:38 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:52:54 2008 +0200"
      },
      "message": "KVM: Portability: Split kvm_vcpu into arch dependent and independent parts (part 1)\n\nFirst step to split kvm_vcpu.  Currently, we just use an macro to define\nthe common fields in kvm_vcpu for all archs, and all archs need to define\nits own kvm_vcpu struct.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e25e3ed56fce591e09477b0ce043d90f97988f37",
      "tree": "bf71477e427298f59cb12978e3ddfa9d5b90993c",
      "parents": [
        "e4d47f404b59adf22f639fedc943db99f090f9ee"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Fri Oct 12 11:01:59 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:52:53 2008 +0200"
      },
      "message": "KVM: Add some \\n in ioapic_debug()\n\nAdd new-line at end of debug strings.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997",
      "tree": "eb7d79c7f39788547a5dd9844295814085fcccc6",
      "parents": [
        "97222cc8316328965851ed28d23f6b64b4c912d2"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Wed Jul 18 12:03:39 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: In-kernel I/O APIC model\n\nThis allows in-kernel host-side device drivers to raise guest interrupts\nwithout going to userspace.\n\n[avi: fix level-triggered interrupt redelivery on eoi]\n[avi: add missing #include]\n[avi: avoid redelivery of edge-triggered interrupt]\n[avi: implement polarity]\n[avi: don\u0027t deliver edge-triggered interrupts when unmasking]\n[avi: fix host oops on invalid guest access]\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ]
}
