)]}'
{
  "log": [
    {
      "commit": "ed9216c1717a3f3738a77908aff78995ea69e7ff",
      "tree": "c6b5ace7c333dabbf1d94074a13a98244bcdfb26",
      "parents": [
        "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
        "d5696725b2a4c59503f5e0bc33adeee7f30cd45b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:02:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:02:38 2009 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.33\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.33\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (84 commits)\n  KVM: VMX: Fix comparison of guest efer with stale host value\n  KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c\n  KVM: Drop user return notifier when disabling virtualization on a cpu\n  KVM: VMX: Disable unrestricted guest when EPT disabled\n  KVM: x86 emulator: limit instructions to 15 bytes\n  KVM: s390: Make psw available on all exits, not just a subset\n  KVM: x86: Add KVM_GET/SET_VCPU_EVENTS\n  KVM: VMX: Report unexpected simultaneous exceptions as internal errors\n  KVM: Allow internal errors reported to userspace to carry extra data\n  KVM: Reorder IOCTLs in main kvm.h\n  KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG\n  KVM: only clear irq_source_id if irqchip is present\n  KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic\n  KVM: x86: disallow multiple KVM_CREATE_IRQCHIP\n  KVM: VMX: Remove vmx-\u003emsr_offset_efer\n  KVM: MMU: update invlpg handler comment\n  KVM: VMX: move CR3/PDPTR update to vmx_set_cr3\n  KVM: remove duplicated task_switch check\n  KVM: powerpc: Fix BUILD_BUG_ON condition\n  KVM: VMX: Use shared msr infrastructure\n  ...\n\nTrivial conflicts due to new Kconfig options in arch/Kconfig and kernel/Makefile\n"
    },
    {
      "commit": "d5696725b2a4c59503f5e0bc33adeee7f30cd45b",
      "tree": "56069b502c198fbfef0eb0d9bd3a2329b3d37cef",
      "parents": [
        "f50146bd7bdb75435638e60d4960edd9bcdf88b8"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 02 12:28:47 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:34:20 2009 +0200"
      },
      "message": "KVM: VMX: Fix comparison of guest efer with stale host value\n\nupdate_transition_efer() masks out some efer bits when deciding whether\nto switch the msr during guest entry; for example, NX is emulated using the\nmmu so we don\u0027t need to disable it, and LMA/LME are handled by the hardware.\n\nHowever, with shared msrs, the comparison is made against a stale value;\nat the time of the guest switch we may be running with another guest\u0027s efer.\n\nFix by deferring the mask/compare to the actual point of guest entry.\n\nNoted by Marcelo.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3548bab501887a698a887639b54d5ecaf35c387b",
      "tree": "5c04b0a64d680c08df6286e4348c4bfd1b73f76a",
      "parents": [
        "046d87103addc117f0d397196e85189722d4d7de"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sat Nov 28 14:18:47 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:26 2009 +0200"
      },
      "message": "KVM: Drop user return notifier when disabling virtualization on a cpu\n\nThis way, we don\u0027t leave a dangling notifier on cpu hotunplug or module\nunload.  In particular, module unload leaves the notifier pointing into\nfreed memory.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "046d87103addc117f0d397196e85189722d4d7de",
      "tree": "08896ae75f4842f1ae709f0683cec20d5a3e25cb",
      "parents": [
        "eb3c79e64a70fb8f7473e30fa07e89c1ecc2c9bb"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Fri Nov 27 16:46:26 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:25 2009 +0200"
      },
      "message": "KVM: VMX: Disable unrestricted guest when EPT disabled\n\nOtherwise would cause VMEntry failure when using ept\u003d0 on unrestricted guest\nsupported processors.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "eb3c79e64a70fb8f7473e30fa07e89c1ecc2c9bb",
      "tree": "e6c73345d26a553d0b36a9503d674fd70b66233d",
      "parents": [
        "d7b0b5eb3000c6fb902f08c619fcd673a23d8fab"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Nov 24 15:20:15 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:25 2009 +0200"
      },
      "message": "KVM: x86 emulator: limit instructions to 15 bytes\n\nWhile we are never normally passed an instruction that exceeds 15 bytes,\nsmp games can cause us to attempt to interpret one, which will cause\nlarge latencies in non-preempt hosts.\n\nCc: stable@kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3cfc3092f40bc37c57ba556cfd8de4218f2135ab",
      "tree": "562d61febfe7d3c99ea08e376b3f3c016cff613c",
      "parents": [
        "65ac7264043740572ba804edca03c374d70427c9"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Thu Nov 12 01:04:25 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:25 2009 +0200"
      },
      "message": "KVM: x86: Add KVM_GET/SET_VCPU_EVENTS\n\nThis new IOCTL exports all yet user-invisible states related to\nexceptions, interrupts, and NMIs. Together with appropriate user space\nchanges, this fixes sporadic problems of vmsave/restore, live migration\nand system reset.\n\n[avi: future-proof abi by adding a flags field]\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "65ac7264043740572ba804edca03c374d70427c9",
      "tree": "9adc0414526ed289a7f9d6ff7c2ae4e968113cd8",
      "parents": [
        "a9c7399d6cda0a092b347f8ee49bbe44f6e1fe66"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 04 11:59:01 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:24 2009 +0200"
      },
      "message": "KVM: VMX: Report unexpected simultaneous exceptions as internal errors\n\nThese happen when we trap an exception when another exception is being\ndelivered; we only expect these with MCEs and page faults.  If something\nunexpected happens, things probably went south and we\u0027re better off reporting\nan internal error and freezing.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a9c7399d6cda0a092b347f8ee49bbe44f6e1fe66",
      "tree": "a00b781aa1521efc387ae9b59875862cb37c1d3f",
      "parents": [
        "c54d2aba27f0c505d61700d656c5943e96982e60"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 04 11:54:59 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:24 2009 +0200"
      },
      "message": "KVM: Allow internal errors reported to userspace to carry extra data\n\nUsually userspace will freeze the guest so we can inspect it, but some\ninternal state is not available.  Add extra data to internal error\nreporting so we can expose it to the debugger.  Extra data is specific\nto the suberror.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4f926bf291863c237188bd2e27222ed801f12094",
      "tree": "f7cd491f8f05f0bc265271defc8be0b8012867be",
      "parents": [
        "e50212bb51356f0df48d6cce0aae5acf41df336d"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Oct 30 12:46:59 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:24 2009 +0200"
      },
      "message": "KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG\n\nDecouple KVM_GUESTDBG_INJECT_DB and KVM_GUESTDBG_INJECT_BP from\nKVM_GUESTDBG_ENABLE, their are actually orthogonal. At this chance,\navoid triggering the WARN_ON in kvm_queue_exception if there is already\nan exception pending and reject such invalid requests.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2204ae3c96e9a1fed50f7ee19ce092e69d7dfe82",
      "tree": "8cf0b2bb779c833b401b96e46c26f444ab70955d",
      "parents": [
        "3ddea128ad75bd33e88780fe44f44c3717369b98"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Oct 29 13:44:16 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:23 2009 +0200"
      },
      "message": "KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic\n\nOtherwise kvm might attempt to dereference a NULL pointer.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3ddea128ad75bd33e88780fe44f44c3717369b98",
      "tree": "dbf54798bda23cb8c105c6fc3926d30bae3c6321",
      "parents": [
        "92c0d900159a4fa582e1c8ebcc1c4a8020defff5"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Oct 29 13:44:15 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:23 2009 +0200"
      },
      "message": "KVM: x86: disallow multiple KVM_CREATE_IRQCHIP\n\nOtherwise kvm will leak memory on multiple KVM_CREATE_IRQCHIP.\nAlso serialize multiple accesses with kvm-\u003elock.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "92c0d900159a4fa582e1c8ebcc1c4a8020defff5",
      "tree": "2162cdabb8b4adb825c68cd30107dce6c574ac9c",
      "parents": [
        "5f5c35aad5ccaa8f1bd5d9e12f9f5251f3180093"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Oct 29 11:00:16 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:23 2009 +0200"
      },
      "message": "KVM: VMX: Remove vmx-\u003emsr_offset_efer\n\nThis variable is used to communicate between a caller and a callee; switch\nto a function argument instead.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5f5c35aad5ccaa8f1bd5d9e12f9f5251f3180093",
      "tree": "08b9b90e9ae8150a56f6b1f3e23a8fc04f872099",
      "parents": [
        "7c93be44a4790b0fd9dddf29c5503cf86c105304"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 26 16:50:14 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:23 2009 +0200"
      },
      "message": "KVM: MMU: update invlpg handler comment\n\nLarge page translations are always synchronized (either in level 3\nor level 2), so its not necessary to properly deal with them\nin the invlpg handler.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7c93be44a4790b0fd9dddf29c5503cf86c105304",
      "tree": "1c7b1d315b9e186b286843c30c54ca8c70f168c0",
      "parents": [
        "1655e3a3dc16e21b60d9950e201b38a9894f1bcf"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 26 16:48:33 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:22 2009 +0200"
      },
      "message": "KVM: VMX: move CR3/PDPTR update to vmx_set_cr3\n\nGUEST_CR3 is updated via kvm_set_cr3 whenever CR3 is modified from\noutside guest context. Similarly pdptrs are updated via load_pdptrs.\n\nLet kvm_set_cr3 perform the update, removing it from the vcpu_run\nfast path.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Acked-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1655e3a3dc16e21b60d9950e201b38a9894f1bcf",
      "tree": "3fd97ca395740b811b29578daa735b72dd34b298",
      "parents": [
        "c0a187e12d48235cb8af4cdeff283117ab42bbb2"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 25 17:45:07 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:22 2009 +0200"
      },
      "message": "KVM: remove duplicated task_switch check\n\nProbably introduced by a bad merge.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "26bb0981b3ff00b9177d61fe55806db978862b3c",
      "tree": "c64237caadf82729ca0d8aa9a9a66bdce27e66be",
      "parents": [
        "18863bdd60f895f3b3ba16b15e8331aee781e8ec"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Sep 07 11:14:12 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:22 2009 +0200"
      },
      "message": "KVM: VMX: Use shared msr infrastructure\n\nInstead of reloading syscall MSRs on every preemption, use the new shared\nmsr infrastructure to reload them at the last possible minute (just before\nexit to userspace).\n\nImproves vcpu/idle/vcpu switches by about 2000 cycles (when EFER needs to be\nreloaded as well).\n\n[jan: fix slot index missing indirection]\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "18863bdd60f895f3b3ba16b15e8331aee781e8ec",
      "tree": "2d0e456a8d2dc12def13f2fed386ca9e5a440823",
      "parents": [
        "44ea2b1758d88ad822e65b1c4c21ca6164494e27"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Sep 07 11:12:18 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:21 2009 +0200"
      },
      "message": "KVM: x86 shared msr infrastructure\n\nThe various syscall-related MSRs are fairly expensive to switch.  Currently\nwe switch them on every vcpu preemption, which is far too often:\n\n- if we\u0027re switching to a kernel thread (idle task, threaded interrupt,\n  kernel-mode virtio server (vhost-net), for example) and back, then\n  there\u0027s no need to switch those MSRs since kernel threasd won\u0027t\n  be exiting to userspace.\n\n- if we\u0027re switching to another guest running an identical OS, most likely\n  those MSRs will have the same value, so there\u0027s little point in reloading\n  them.\n\n- if we\u0027re running the same OS on the guest and host, the MSRs will have\n  identical values and reloading is unnecessary.\n\nThis patch uses the new user return notifiers to implement last-minute\nswitching, and checks the msr values to avoid unnecessary reloading.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "44ea2b1758d88ad822e65b1c4c21ca6164494e27",
      "tree": "8fd83b5184e9e472f96f25186695543de531b2ba",
      "parents": [
        "3ce672d48400e0112fec7a3cb6bb2120493c6e11"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 06 15:55:37 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:21 2009 +0200"
      },
      "message": "KVM: VMX: Move MSR_KERNEL_GS_BASE out of the vmx autoload msr area\n\nCurrently MSR_KERNEL_GS_BASE is saved and restored as part of the\nguest/host msr reloading.  Since we wish to lazy-restore all the other\nmsrs, save and reload MSR_KERNEL_GS_BASE explicitly instead of using\nthe common code.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3ce672d48400e0112fec7a3cb6bb2120493c6e11",
      "tree": "9c91c037539940ec13916118964b93566e79ab43",
      "parents": [
        "18fa000ae453767b59ab97477925895a3f0c46ea"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Sat Oct 24 02:50:00 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:21 2009 +0200"
      },
      "message": "KVM: SVM: init_vmcb(): remove redundant save-\u003ecr0 initialization\n\nThe svm_set_cr0() call will initialize save-\u003ecr0 properly even when npt is\nenabled, clearing the NW and CD bits as expected, so we don\u0027t need to\ninitialize it manually for npt_enabled anymore.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "18fa000ae453767b59ab97477925895a3f0c46ea",
      "tree": "47758dbcc1ac7294277cfd20457d7a39515eb1ba",
      "parents": [
        "fa40052ca04bdbbeb20b839cc8ffe9fa7beefbe9"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Sat Oct 24 02:49:59 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:21 2009 +0200"
      },
      "message": "KVM: SVM: Reset cr0 properly on vcpu reset\n\nsvm_vcpu_reset() was not properly resetting the contents of the guest-visible\ncr0 register, causing the following issue:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d525699\n\nWithout resetting cr0 properly, the vcpu was running the SIPI bootstrap routine\nwith paging enabled, making the vcpu get a pagefault exception while trying to\nrun it.\n\nInstead of setting vmcb-\u003esave.cr0 directly, the new code just resets\nkvm-\u003earch.cr0 and calls kvm_set_cr0(). The bits that were set/cleared on\nvmcb-\u003esave.cr0 (PG, WP, !CD, !NW) will be set properly by svm_set_cr0().\n\nkvm_set_cr0() is used instead of calling svm_set_cr0() directly to make sure\nkvm_mmu_reset_context() is called to reset the mmu to nonpaging mode.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fa40052ca04bdbbeb20b839cc8ffe9fa7beefbe9",
      "tree": "194c379e90fdd6d9a6f9454402c69863127de9bd",
      "parents": [
        "6ff5894cdfe7103083bd15b31002434ccd351039"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Sat Oct 24 02:49:58 2009 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:21 2009 +0200"
      },
      "message": "KVM: VMX: Use macros instead of hex value on cr0 initialization\n\nThis should have no effect, it is just to make the code clearer.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "afbcf7ab8d1bc8c2d04792f6d9e786e0adeb328d",
      "tree": "14320a1c768562139a550fd0c576d6d52829d9ec",
      "parents": [
        "cd5a2685de4a642fd0bd763e8c19711ef08dbe27"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@redhat.com",
        "time": "Fri Oct 16 15:28:36 2009 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:19 2009 +0200"
      },
      "message": "KVM: allow userspace to adjust kvmclock offset\n\nWhen we migrate a kvm guest that uses pvclock between two hosts, we may\nsuffer a large skew. This is because there can be significant differences\nbetween the monotonic clock of the hosts involved. When a new host with\na much larger monotonic time starts running the guest, the view of time\nwill be significantly impacted.\n\nSituation is much worse when we do the opposite, and migrate to a host with\na smaller monotonic clock.\n\nThis proposed ioctl will allow userspace to inform us what is the monotonic\nclock value in the source host, so we can keep the time skew short, and\nmore importantly, never goes backwards. Userspace may also need to trigger\nthe current data, since from the first migration onwards, it won\u0027t be\nreflected by a simple call to clock_gettime() anymore.\n\n[marcelo: future-proof abi with a flags field]\n[jan: fix KVM_GET_CLOCK by clearing flags field instead of checking it]\n\nSigned-off-by: Glauber Costa \u003cglommer@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6be7d3062b59af891be7e40c6802350de5f78cef",
      "tree": "288a374df5a3eb111aae003a2eeaa0442384e079",
      "parents": [
        "94fe45da48f921d01d8ff02a0ad54ee9c326d7f0"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Sun Oct 18 13:24:54 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:19 2009 +0200"
      },
      "message": "KVM: SVM: Cleanup NMI singlestep\n\nPush the NMI-related singlestep variable into vcpu_svm. It\u0027s dealing\nwith an AMD-specific deficit, nothing generic for x86.\n\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\n\n arch/x86/include/asm/kvm_host.h |    1 -\n arch/x86/kvm/svm.c              |   12 +++++++-----\n 2 files changed, 7 insertions(+), 6 deletions(-)\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "94fe45da48f921d01d8ff02a0ad54ee9c326d7f0",
      "tree": "7bf7482bcbe690313909d5f2770384f853562a2d",
      "parents": [
        "ffde22ac53b6d6b1d7206f1172176a667eead778"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Sun Oct 18 13:24:44 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:19 2009 +0200"
      },
      "message": "KVM: x86: Fix guest single-stepping while interruptible\n\nCommit 705c5323 opened the doors of hell by unconditionally injecting\nsingle-step flags as long as guest_debug signaled this. This doesn\u0027t\nwork when the guest branches into some interrupt or exception handler\nand triggers a vmexit with flag reloading.\n\nFix it by saving cs:rip when user space requests single-stepping and\nrestricting the trace flag injection to this guest code position.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ffde22ac53b6d6b1d7206f1172176a667eead778",
      "tree": "16ab77d364ba26928136e6d18463845941b6dd2c",
      "parents": [
        "94c30d9ca6fd00a69e367b91b6e13572c41938c5"
      ],
      "author": {
        "name": "Ed Swierk",
        "email": "eswierk@aristanetworks.com",
        "time": "Thu Oct 15 15:21:43 2009 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:18 2009 +0200"
      },
      "message": "KVM: Xen PV-on-HVM guest support\n\nSupport for Xen PV-on-HVM guests can be implemented almost entirely in\nuserspace, except for handling one annoying MSR that maps a Xen\nhypercall blob into guest address space.\n\nA generic mechanism to delegate MSR writes to userspace seems overkill\nand risks encouraging similar MSR abuse in the future.  Thus this patch\nadds special support for the Xen HVM MSR.\n\nI implemented a new ioctl, KVM_XEN_HVM_CONFIG, that lets userspace tell\nKVM which MSR the guest will write to, as well as the starting address\nand size of the hypercall blobs (one each for 32-bit and 64-bit) that\nuserspace has loaded from files.  When the guest writes to the MSR, KVM\ncopies one page of the blob from userspace to the guest.\n\nI\u0027ve tested this patch with a hacked-up version of Gerd\u0027s userspace\ncode, booting a number of guests (CentOS 5.3 i386 and x86_64, and\nFreeBSD 8.0-RC1 amd64) and exercising PV network and block devices.\n\n[jan: fix i386 build warning]\n[avi: future proof abi with a flags field]\n\nSigned-off-by: Ed Swierk \u003ceswierk@aristanetworks.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "94c30d9ca6fd00a69e367b91b6e13572c41938c5",
      "tree": "5075c2b883b3b68f01984d81c3e983977f6c72e9",
      "parents": [
        "9fb41ba8962b18159e16cac81e7d57e897964038"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Mon Oct 12 08:51:40 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:18 2009 +0200"
      },
      "message": "KVM: x86: Drop unneeded CONFIG_HAS_IOMEM check\n\nThis (broken) check dates back to the days when this code was shared\nacross architectures. x86 has IOMEM, so drop it.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9fb41ba8962b18159e16cac81e7d57e897964038",
      "tree": "7b92fdcdd6cfff61609ed7488d56def80c182df1",
      "parents": [
        "6b7d7e762b238f908fe4c3345c2c6eb5c3fdbd59"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 12 19:37:31 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:18 2009 +0200"
      },
      "message": "KVM: VMX: fix handle_pause declaration\n\nThere\u0027s no kvm_run argument anymore.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6b7d7e762b238f908fe4c3345c2c6eb5c3fdbd59",
      "tree": "ab2a77aec71450ba11c13a8f31e505df173efd78",
      "parents": [
        "565d0998ecac8373b9a9ecd5991abe74318cd235"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Fri Oct 09 16:26:08 2009 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:18 2009 +0200"
      },
      "message": "KVM: x86: Harden against cpufreq\n\nIf cpufreq can\u0027t determine the CPU khz, or cpufreq is not compiled in,\nwe should fallback to the measured TSC khz.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "565d0998ecac8373b9a9ecd5991abe74318cd235",
      "tree": "92b0964145a4e2cd7400eda3a9a8cb83eaa4ab33",
      "parents": [
        "4b8d54f9726f1159330201c5ed2ea30bce7e63ea"
      ],
      "author": {
        "name": "Mark Langsdorf",
        "email": "mark.langsdorf@amd.com",
        "time": "Tue Oct 06 14:25:02 2009 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:17 2009 +0200"
      },
      "message": "KVM: SVM: Support Pause Filter in AMD processors\n\nNew AMD processors (Family 0x10 models 8+) support the Pause\nFilter Feature.  This feature creates a new field in the VMCB\ncalled Pause Filter Count.  If Pause Filter Count is greater\nthan 0 and intercepting PAUSEs is enabled, the processor will\nincrement an internal counter when a PAUSE instruction occurs\ninstead of intercepting.  When the internal counter reaches the\nPause Filter Count value, a PAUSE intercept will occur.\n\nThis feature can be used to detect contended spinlocks,\nespecially when the lock holding VCPU is not scheduled.\nRescheduling another VCPU prevents the VCPU seeking the\nlock from wasting its quantum by spinning idly.\n\nExperimental results show that most spinlocks are held\nfor less than 1000 PAUSE cycles or more than a few\nthousand.  Default the Pause Filter Counter to 3000 to\ndetect the contended spinlocks.\n\nProcessor support for this feature is indicated by a CPUID\nbit.\n\nOn a 24 core system running 4 guests each with 16 VCPUs,\nthis patch improved overall performance of each guest\u0027s\n32 job kernbench by approximately 3-5% when combined\nwith a scheduler algorithm thati caused the VCPU to\nsleep for a brief period. Further performance improvement\nmay be possible with a more sophisticated yield algorithm.\n\nSigned-off-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "4b8d54f9726f1159330201c5ed2ea30bce7e63ea",
      "tree": "903eaf21f46359f3e42a6d4582ca792b73d4b7b9",
      "parents": [
        "d255f4f2bac81eb798fcf76938147f1f6c756ae2"
      ],
      "author": {
        "name": "Zhai, Edwin",
        "email": "edwin.zhai@intel.com",
        "time": "Fri Oct 09 18:03:20 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:17 2009 +0200"
      },
      "message": "KVM: VMX: Add support for Pause-Loop Exiting\n\nNew NHM processors will support Pause-Loop Exiting by adding 2 VM-execution\ncontrol fields:\nPLE_Gap    - upper bound on the amount of time between two successive\n             executions of PAUSE in a loop.\nPLE_Window - upper bound on the amount of time a guest is allowed to execute in\n             a PAUSE loop\n\nIf the time, between this execution of PAUSE and previous one, exceeds the\nPLE_Gap, processor consider this PAUSE belongs to a new loop.\nOtherwise, processor determins the the total execution time of this loop(since\n1st PAUSE in this loop), and triggers a VM exit if total time exceeds the\nPLE_Window.\n* Refer SDM volume 3b section 21.6.13 \u0026 22.1.3.\n\nPause-Loop Exiting can be used to detect Lock-Holder Preemption, where one VP\nis sched-out after hold a spinlock, then other VPs for same lock are sched-in\nto waste the CPU time.\n\nOur tests indicate that most spinlocks are held for less than 212 cycles.\nPerformance tests show that with 2X LP over-commitment we can get +2% perf\nimprovement for kernel build(Even more perf gain with more LPs).\n\nSigned-off-by: Zhai Edwin \u003cedwin.zhai@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d36f19e9ecd22dc035ef4cc6361b564be650f8e7",
      "tree": "70ee0627a4298909413efcdf516cdca44abba47d",
      "parents": [
        "532a46b98963f110e9425a251e127d6537915dde"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:33 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:17 2009 +0200"
      },
      "message": "KVM: SVM: Remove nsvm_printk debugging code\n\nWith all important informations now delivered through\ntracepoints we can savely remove the nsvm_printk debugging\ncode for nested svm.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "532a46b98963f110e9425a251e127d6537915dde",
      "tree": "54b41094e6f1fef54db79fbcad3e4b36128542a5",
      "parents": [
        "ec1ff79084fccdae0dca9b04b89dcdf3235bbfa1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:32 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:16 2009 +0200"
      },
      "message": "KVM: SVM: Add tracepoint for skinit instruction\n\nThis patch adds a tracepoint for the event that the guest\nexecuted the SKINIT instruction. This information is\nimportant because SKINIT is an SVM extenstion not yet\nimplemented by nested SVM and we may need this information\nfor debugging hypervisors that do not yet run on nested SVM.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ec1ff79084fccdae0dca9b04b89dcdf3235bbfa1",
      "tree": "fddd8cfce75d88116c2fbcb1cf15e70a3588dfbc",
      "parents": [
        "236649de3360916ef85f95c82723af17a25b9179"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:31 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:16 2009 +0200"
      },
      "message": "KVM: SVM: Add tracepoint for invlpga instruction\n\nThis patch adds a tracepoint for the event that the guest\nexecuted the INVLPGA instruction.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "236649de3360916ef85f95c82723af17a25b9179",
      "tree": "48cc0be4905254408ccac916dd4ca8205074a17f",
      "parents": [
        "17897f366847a9ef8a13e3671a0eb1c15422abed"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:30 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:16 2009 +0200"
      },
      "message": "KVM: SVM: Add tracepoint for #vmexit because intr pending\n\nThis patch adds a special tracepoint for the event that a\nnested #vmexit is injected because kvm wants to inject an\ninterrupt into the guest.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "17897f366847a9ef8a13e3671a0eb1c15422abed",
      "tree": "c43e10807f6ff17a5d6f0b65bee7b319437fc00c",
      "parents": [
        "d8cabddf7e8fbdced2dd668c98d7762c7ef75245"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:29 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:15 2009 +0200"
      },
      "message": "KVM: SVM: Add tracepoint for injected #vmexit\n\nThis patch adds a tracepoint for a nested #vmexit that gets\nre-injected to the guest.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d8cabddf7e8fbdced2dd668c98d7762c7ef75245",
      "tree": "17d8f451b1bc9552cc09a3753d5e612f58c6f919",
      "parents": [
        "0ac406de8f3780c8e0801d5719e1ec531d4a6ec4"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:28 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:15 2009 +0200"
      },
      "message": "KVM: SVM: Add tracepoint for nested #vmexit\n\nThis patch adds a tracepoint for every #vmexit we get from a\nnested guest.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0ac406de8f3780c8e0801d5719e1ec531d4a6ec4",
      "tree": "b489495da026d557b65f579c13f7b23b7b18d99b",
      "parents": [
        "cd3ff653ae0b45bac7a19208e9c75034fcacc85f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:27 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:15 2009 +0200"
      },
      "message": "KVM: SVM: Add tracepoint for nested vmrun\n\nThis patch adds a dedicated kvm tracepoint for a nested\nvmrun.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cd3ff653ae0b45bac7a19208e9c75034fcacc85f",
      "tree": "636bee346e23154216babd9d588ff7715ac11859",
      "parents": [
        "8d23c4662427507f432c96ac4fa3b76f0a8360cd"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 09 16:08:26 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:15 2009 +0200"
      },
      "message": "KVM: SVM: Move INTR vmexit out of atomic code\n\nThe nested SVM code emulates a #vmexit caused by a request\nto open the irq window right in the request function. This\nis a bug because the request function runs with preemption\nand interrupts disabled but the #vmexit emulation might\nsleep. This can cause a schedule()-while-atomic bug and is\nfixed with this patch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8d23c4662427507f432c96ac4fa3b76f0a8360cd",
      "tree": "2390dd2597dae341903d98b12c66a43368674270",
      "parents": [
        "e3267cbbbfbcbe9c18833e89b10beabb1117cb55"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 09 16:08:25 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:14 2009 +0200"
      },
      "message": "KVM: SVM: Notify nested hypervisor of lost event injections\n\nIf event_inj is valid on a #vmexit the host CPU would write\nthe contents to exit_int_info, so the hypervisor knows that\nthe event wasn\u0027t injected.\n\nWe don\u0027t do this in nested SVM by now which is a bug and\nfixed by this patch.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e3267cbbbfbcbe9c18833e89b10beabb1117cb55",
      "tree": "8d9ffc473a0a32fb7c0454069a30ac85a9a41e62",
      "parents": [
        "91586a3b7d79432772a3cdcb81473cd08a237c79"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@redhat.com",
        "time": "Tue Oct 06 13:24:50 2009 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:14 2009 +0200"
      },
      "message": "KVM: x86: include pvclock MSRs in msrs_to_save\n\nFor a while now, we are issuing a rdmsr instruction to find out which\nmsrs in our save list are really supported by the underlying machine.\nHowever, it fails to account for kvm-specific msrs, such as the pvclock\nones.\n\nThis patch moves then to the beginning of the list, and skip testing them.\n\nCc: stable@kernel.org\nSigned-off-by: Glauber Costa \u003cglommer@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "91586a3b7d79432772a3cdcb81473cd08a237c79",
      "tree": "3d5955b02c81485f0fe446649e969251598972c6",
      "parents": [
        "a68a6a7282373bedba8a2ed751b6384edb983a64"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Mon Oct 05 13:07:21 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:14 2009 +0200"
      },
      "message": "KVM: x86: Rework guest single-step flag injection and filtering\n\nPush TF and RF injection and filtering on guest single-stepping into the\nvender get/set_rflags callbacks. This makes the whole mechanism more\nrobust wrt user space IOCTL order and instruction emulations.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a68a6a7282373bedba8a2ed751b6384edb983a64",
      "tree": "dc92225ea662d36146f4fb66eec61c29b9e0a132",
      "parents": [
        "355be0b9300579e02275d7d19374806a974ce622"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Oct 01 19:28:39 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:14 2009 +0200"
      },
      "message": "KVM: x86: disable paravirt mmu reporting\n\nDisable paravirt MMU capability reporting, so that new (or rebooted)\nguests switch to native operation.\n\nParavirt MMU is a burden to maintain and does not bring significant\nadvantages compared to shadow anymore.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "355be0b9300579e02275d7d19374806a974ce622",
      "tree": "faa52bac7a0d1d83c7a0a8f1bec01088b77a68fb",
      "parents": [
        "201d945bcfb0d53e67c9c081f7c28532eb4669c7"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Sat Oct 03 00:31:21 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:14 2009 +0200"
      },
      "message": "KVM: x86: Refactor guest debug IOCTL handling\n\nMuch of so far vendor-specific code for setting up guest debug can\nactually be handled by the generic code. This also fixes a minor deficit\nin the SVM part /wrt processing KVM_GUESTDBG_ENABLE.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "201d945bcfb0d53e67c9c081f7c28532eb4669c7",
      "tree": "6a16d9cfcc377e27158b4b152ad841ce72d11e13",
      "parents": [
        "3230bb4707278dba25e24cd0a11ea7b2337678ee"
      ],
      "author": {
        "name": "Juan Quintela",
        "email": "quintela@redhat.com",
        "time": "Wed Sep 30 17:39:07 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:13 2009 +0200"
      },
      "message": "KVM: remove pre_task_link setting in save_state_to_tss16\n\nNow, also remove pre_task_link setting in save_state_to_tss16.\n\n  commit b237ac37a149e8b56436fabf093532483bff13b0\n  Author: Gleb Natapov \u003cgleb@redhat.com\u003e\n  Date:   Mon Mar 30 16:03:24 2009 +0300\n\n    KVM: Fix task switch back link handling.\n\nCC: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Juan Quintela \u003cquintela@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3230bb4707278dba25e24cd0a11ea7b2337678ee",
      "tree": "9548dc371d338b1eb7ee93ef077c70a050cd303f",
      "parents": [
        "e6732a5af9dfcc87078706a1598df0efe5010f73"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Tue Sep 29 11:38:37 2009 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:13 2009 +0200"
      },
      "message": "KVM: Fix hotplug of CPUs\n\nBoth VMX and SVM require per-cpu memory allocation, which is done at module\ninit time, for only online cpus.\n\nBackend was not allocating enough structure for all possible CPUs, so\nnew CPUs coming online could not be hardware enabled.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e6732a5af9dfcc87078706a1598df0efe5010f73",
      "tree": "d3a68c03f6042f68f1de282939d21bf33cbf9619",
      "parents": [
        "0cca790753bf0cab4b070801a46df8e1297c17f6"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Tue Sep 29 11:38:36 2009 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:13 2009 +0200"
      },
      "message": "KVM: Fix printk name error in svm.c\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0cca790753bf0cab4b070801a46df8e1297c17f6",
      "tree": "9b2887a5f00872248875ecd001d03e36e425f97a",
      "parents": [
        "b820cc0ca20fdcf8014d8e57421cf29095e39392"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Tue Sep 29 11:38:35 2009 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:12 2009 +0200"
      },
      "message": "KVM: Kill the confusing tsc_ref_khz and ref_freq variables\n\nThey are globals, not clearly protected by any ordering or locking, and\nvulnerable to various startup races.\n\nInstead, for variable TSC machines, register the cpufreq notifier and get\nthe TSC frequency directly from the cpufreq machinery.  Not only is it\nalways right, it is also perfectly accurate, as no error prone measurement\nis required.\n\nOn such machines, when a new CPU online is brought online, it isn\u0027t clear what\nfrequency it will start with, and it may not correspond to the reference, thus\nin hardware_enable we clear the cpu_tsc_khz variable to zero and make sure\nit is set before running on a VCPU.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b820cc0ca20fdcf8014d8e57421cf29095e39392",
      "tree": "15df0ebf5d62a2842a55963c549dd4b3b5c21152",
      "parents": [
        "0c6ddcebd8303ada6faefa6f72ac18b6230320c4"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Tue Sep 29 11:38:34 2009 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:12 2009 +0200"
      },
      "message": "KVM: Separate timer intialization into an indepedent function\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e935d48e1b49451490218e1181d9834176200955",
      "tree": "bf852b3705300973bc440daa7ce74b0240149093",
      "parents": [
        "33527ad7e12a5cb50b39165945464600ab2f7632"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 16 15:24:19 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:12 2009 +0200"
      },
      "message": "KVM: SVM: Remove remaining occurences of rdtscll\n\nThis patch replaces them with native_read_tsc() which can\nalso be used in expressions and saves a variable on the\nstack in this case.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "33527ad7e12a5cb50b39165945464600ab2f7632",
      "tree": "4ece90c91c8bba5951beec47f158654b4c839a19",
      "parents": [
        "7fcdb5103d10d2eb75876637a2efa9679cce14d3"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 16 15:24:16 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:11 2009 +0200"
      },
      "message": "KVM: SVM: don\u0027t copy exit_int_info on nested vmrun\n\nThe exit_int_info field is only written by the hardware and\nnever read. So it does not need to be copied on a vmrun\nemulation.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7fcdb5103d10d2eb75876637a2efa9679cce14d3",
      "tree": "f8879cd7baeab1e2d40a2dbadac8df638200ba8b",
      "parents": [
        "bfc33beaed3ecf0f92612dc7fb7095029ae7722e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 16 15:24:15 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:11 2009 +0200"
      },
      "message": "KVM: SVM: reorganize svm_interrupt_allowed\n\nThis patch reorganizes the logic in svm_interrupt_allowed to\nmake it better to read. This is important because the logic\nis a lot more complicated with Nested SVM.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "bfc33beaed3ecf0f92612dc7fb7095029ae7722e",
      "tree": "ea90ebc2ab67e7bbf34ff976606b298affe9d757",
      "parents": [
        "10474ae8945ce08622fd1f3464e55bd817bf2376"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Wed Sep 16 21:09:39 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:10 2009 +0200"
      },
      "message": "KVM: remove duplicated #include\n\nRemove duplicated #include(\u0027s) in\n  arch/x86/kvm/lapic.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "10474ae8945ce08622fd1f3464e55bd817bf2376",
      "tree": "d390843b5107e600fbbf745eb24d85d745fe449f",
      "parents": [
        "e8b3433a5c062e94e34cadb6144c10689a497bc3"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Sep 15 11:37:46 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:10 2009 +0200"
      },
      "message": "KVM: Activate Virtualization On Demand\n\nX86 CPUs need to have some magic happening to enable the virtualization\nextensions on them. This magic can result in unpleasant results for\nusers, like blocking other VMMs from working (vmx) or using invalid TLB\nentries (svm).\n\nCurrently KVM activates virtualization when the respective kernel module\nis loaded. This blocks us from autoloading KVM modules without breaking\nother VMMs.\n\nTo circumvent this problem at least a bit, this patch introduces on\ndemand activation of virtualization. This means, that instead\nvirtualization is enabled on creation of the first virtual machine\nand disabled on destruction of the last one.\n\nSo using this, KVM can be easily autoloaded, while keeping other\nhypervisors usable.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e8b3433a5c062e94e34cadb6144c10689a497bc3",
      "tree": "51af19ba8f6a25e02dc8a1530a0d7bbd2f5a7a3b",
      "parents": [
        "80ced186d1761d2a66163d9eeb468ddb1f7e0697"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 08 14:47:38 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:10 2009 +0200"
      },
      "message": "KVM: SVM: remove needless mmap_sem acquision from nested_svm_map\n\nnested_svm_map unnecessarily takes mmap_sem around gfn_to_page, since\ngfn_to_page / get_user_pages are responsible for it.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "80ced186d1761d2a66163d9eeb468ddb1f7e0697",
      "tree": "6dd263059ef5a8f5ea82da1ea0a6880f941f7915",
      "parents": [
        "abcf14b560a4ba62c659e6f5aafc8f9934d8c130"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Tue Sep 01 12:48:18 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:09 2009 +0200"
      },
      "message": "KVM: VMX: Enhance invalid guest state emulation\n\n- Change returned handle_invalid_guest_state() to return relevant exit codes\n- Move triggering the emulation from vmx_vcpu_run() to vmx_handle_exit()\n- Return to userspace instead of repeatedly trying to emulate instructions that have already failed\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "abcf14b560a4ba62c659e6f5aafc8f9934d8c130",
      "tree": "8a150ee04c05b09d5429252b5563b2e142d5283d",
      "parents": [
        "94677e61fdcf4cdae11a1b7c8974d7034ef9bd1b"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Tue Sep 01 15:28:11 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:09 2009 +0200"
      },
      "message": "KVM: x86 emulator: Add pusha and popa instructions\n\nThis adds pusha and popa instructions (opcodes 0x60-0x61), this enables booting\nMINIX with invalid guest state emulation on.\n\n[marcelo: remove unused variable]\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "94677e61fdcf4cdae11a1b7c8974d7034ef9bd1b",
      "tree": "7e118c02b1cc034e9f2dd9fe27b273d056f0afa4",
      "parents": [
        "bfd99ff5d483b11c32bca49fbff7a5ac59038b0a"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Fri Aug 28 16:41:44 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:09 2009 +0200"
      },
      "message": "KVM: x86 emulator: Add missing decoder flags for \u0027or\u0027 instructions\n\nAdd missing decoder flags for or instructions (0xc-0xd).\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bfd99ff5d483b11c32bca49fbff7a5ac59038b0a",
      "tree": "e48d9dbf89f6f3940133f7b80559740152af3f7b",
      "parents": [
        "367e1319b229110a27c53221c2fa32a6aa86d4a9"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 26 14:57:50 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:09 2009 +0200"
      },
      "message": "KVM: Move assigned device code to own file\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "367e1319b229110a27c53221c2fa32a6aa86d4a9",
      "tree": "189e289b9985cf3c9b1416b3cc7be3c7ddc7d130",
      "parents": [
        "680b3648ba89c44ac8d0316f78a0d6e147b88809"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 26 14:57:07 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:08 2009 +0200"
      },
      "message": "KVM: Return -ENOTTY on unrecognized ioctls\n\nNot the incorrect -EINVAL.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "680b3648ba89c44ac8d0316f78a0d6e147b88809",
      "tree": "b2b40034c4c33affef8b89822673cca835874651",
      "parents": [
        "eba0226bdfffe262e72b8360e4d0d12070e9a0f0"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Aug 24 11:54:26 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:08 2009 +0200"
      },
      "message": "KVM: Drop kvm-\u003eirq_lock lock from irq injection path\n\nThe only thing it protects now is interrupt injection into lapic and\nthis can work lockless. Even now with kvm-\u003eirq_lock in place access\nto lapic is not entirely serialized since vcpu access doesn\u0027t take\nkvm-\u003eirq_lock.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@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": "1a6e4a8c276e122dbeb6f9c610f29735e4236bfd",
      "tree": "a954fc1865f41cd79e5336c59904de1213e141d5",
      "parents": [
        "79c727d4371aa9af47b0cdbcad53742b5a7919ea"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Aug 24 11:54:19 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:06 2009 +0200"
      },
      "message": "KVM: Move irq sharing information to irqchip level\n\nThis removes assumptions that max GSIs is smaller than number of pins.\nSharing is tracked on pin level not GSI level.\n\n[avi: no PIC on ia64]\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "79c727d4371aa9af47b0cdbcad53742b5a7919ea",
      "tree": "575bbf2e56acb50e036f2019a2632034e6742220",
      "parents": [
        "851ba6922ac575b749f63dee0ae072808163ba6a"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Aug 24 11:54:18 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:06 2009 +0200"
      },
      "message": "KVM: Call pic_clear_isr() on pic reset to reuse logic there\n\nAlso move call of ack notifiers after pic state change.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "851ba6922ac575b749f63dee0ae072808163ba6a",
      "tree": "665111285e65fea316ce6614f1208261a255fb70",
      "parents": [
        "d8769fedd4e8323d8afea9a1b2bdebff4f1d2d37"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 24 11:10:17 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:06 2009 +0200"
      },
      "message": "KVM: Don\u0027t pass kvm_run arguments\n\nThey\u0027re just copies of vcpu-\u003erun, which is readily accessible.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d8769fedd4e8323d8afea9a1b2bdebff4f1d2d37",
      "tree": "8137ff2b04a63a06e7173ee6a6f6a6a16f12a6a7",
      "parents": [
        "0934ac9d135021bec7f877340a039104af233bf3"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Aug 23 14:24:25 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:05 2009 +0200"
      },
      "message": "KVM: x86 emulator: Introduce No64 decode option\n\nIntroduces a new decode option \"No64\", which is used for instructions that are\ninvalid in long mode.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0934ac9d135021bec7f877340a039104af233bf3",
      "tree": "7a10b1401120948ceaeae1c9c16ab11f7a880e28",
      "parents": [
        "45ec431c52f89218ac01d87663e54de30458edf0"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Aug 23 14:24:24 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:05 2009 +0200"
      },
      "message": "KVM: x86 emulator: Add \u0027push/pop sreg\u0027 instructions\n\n[avi: avoid buffer overflow]\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "96200591a34f8ecb98481c626125df43a2463b55",
      "tree": "314c376b01f254d04f9aaf449b1f9147ad177fa6",
      "parents": [
        "7031281e02bf951a2259849217193fb9d75a9762",
        "68efa37df779b3e04280598e8b5b3a1919b65fee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/hw-breakpoints\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/kprobes.c\n\tkernel/trace/Makefile\n\nMerge reason: hw-breakpoints perf integration is looking\n              good in testing and in reviews, plus conflicts\n              are mounting up - so merge \u0026 resolve.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59d8eb53ea9947db7cad8ebc31b0fb54f23a9851",
      "tree": "99a1e3f7e2ba5ccf139b46a5d120c47af17d79a1",
      "parents": [
        "f60d24d2ad04977b0bd9e3eb35dba2d2fa569af9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 10 11:03:12 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 10 11:23:43 2009 +0100"
      },
      "message": "hw-breakpoints: Wrap in the KVM breakpoint active state check\n\nWrap in the cpu dr7 check that tells if we have active\nbreakpoints that need to be restored in the cpu.\n\nThis wrapper makes the check more self-explainable and also\nreusable for any further other uses.\n\nReported-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: \"K. Prasad\" \u003cprasad@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "24f1e32c60c45c89a997c73395b69c8af6f0a84e",
      "tree": "4f30f16e18cb4abbcf96b3b331e6a3f01bfa26e6",
      "parents": [
        "2da3e160cb3d226d87b907fab26850d838ed8d7c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 09 19:22:48 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 08 15:34:42 2009 +0100"
      },
      "message": "hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events\n\nThis patch rebase the implementation of the breakpoints API on top of\nperf events instances.\n\nEach breakpoints are now perf events that handle the\nregister scheduling, thread/cpu attachment, etc..\n\nThe new layering is now made as follows:\n\n       ptrace       kgdb      ftrace   perf syscall\n          \\          |          /         /\n           \\         |         /         /\n                                        /\n            Core breakpoint API        /\n                                      /\n                     |               /\n                     |              /\n\n              Breakpoints perf events\n\n                     |\n                     |\n\n               Breakpoints PMU ---- Debug Register constraints handling\n                                    (Part of core breakpoint API)\n                     |\n                     |\n\n             Hardware debug registers\n\nReasons of this rewrite:\n\n- Use the centralized/optimized pmu registers scheduling,\n  implying an easier arch integration\n- More powerful register handling: perf attributes (pinned/flexible\n  events, exclusive/non-exclusive, tunable period, etc...)\n\nImpact:\n\n- New perf ABI: the hardware breakpoints counters\n- Ptrace breakpoints setting remains tricky and still needs some per\n  thread breakpoints references.\n\nTodo (in the order):\n\n- Support breakpoints perf counter events for perf tools (ie: implement\n  perf_bpcounter_event())\n- Support from perf tools\n\nChanges in v2:\n\n- Follow the perf \"event \" rename\n- The ptrace regression have been fixed (ptrace breakpoint perf events\n  weren\u0027t released when a task ended)\n- Drop the struct hw_breakpoint and store generic fields in\n  perf_event_attr.\n- Separate core and arch specific headers, drop\n  asm-generic/hw_breakpoint.h and create linux/hw_breakpoint.h\n- Use new generic len/type for breakpoint\n- Handle off case: when breakpoints api is not supported by an arch\n\nChanges in v3:\n\n- Fix broken CONFIG_KVM, we need to propagate the breakpoint api\n  changes to kvm when we exit the guest and restore the bp registers\n  to the host.\n\nChanges in v4:\n\n- Drop the hw_breakpoint_restore() stub as it is only used by KVM\n- EXPORT_SYMBOL_GPL hw_breakpoint_restore() as KVM can be built as a\n  module\n- Restore the breakpoints unconditionally on kvm guest exit:\n  TIF_DEBUG_THREAD doesn\u0027t anymore cover every cases of running\n  breakpoints and vcpu-\u003earch.switch_db_regs might not always be\n  set when the guest used debug registers.\n  (Waiting for a reliable optimization)\n\nChanges in v5:\n\n- Split-up the asm-generic/hw-breakpoint.h moving to\n  linux/hw_breakpoint.h into a separate patch\n- Optimize the breakpoints restoring while switching from kvm guest\n  to host. We only want to restore the state if we have active\n  breakpoints to the host, otherwise we don\u0027t care about messed-up\n  address registers.\n- Add asm/hw_breakpoint.h to Kbuild\n- Fix bad breakpoint type in trace_selftest.c\n\nChanges in v6:\n\n- Fix wrong header inclusion in trace.h (triggered a build\n  error with CONFIG_FTRACE_SELFTEST\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "abb3911965c1bd8eea305f64d4840a314259d96d",
      "tree": "0df1063b5300a0914d1cbe6f49af7c607945d9db",
      "parents": [
        "a9e38c3e01ad242fe2a625354cf065c34b01e3aa"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 25 17:42:02 2009 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Nov 04 12:42:36 2009 -0200"
      },
      "message": "KVM: get_tss_base_addr() should return a gpa_t\n\nIf TSS we are switching to resides in high memory task switch will fail\nsince address will be truncated. Windows2k3 does this sometimes when\nrunning with more then 4G\n\nCc: stable@kernel.org\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a9e38c3e01ad242fe2a625354cf065c34b01e3aa",
      "tree": "4ea957d97f8d7399f1f58cfce2470f703f6d1a58",
      "parents": [
        "51bb296b09a83ee1aae025778db38f9d2cc7bb1a"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Oct 23 09:37:00 2009 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Nov 04 12:42:35 2009 -0200"
      },
      "message": "KVM: x86: Catch potential overrun in MCE setup\n\nWe only allocate memory for 32 MCE banks (KVM_MAX_MCE_BANKS) but we\nallow user space to fill up to 255 on setup (mcg_cap \u0026 0xff), corrupting\nkernel memory. Catch these overflows.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0f8f86c7bdd1c954fbe153af437a0d91a6c5721a",
      "tree": "94a8d419a470a4f9852ca397bb9bbe48db92ff5c",
      "parents": [
        "dca2d6ac09d9ef59ff46820d4f0c94b08a671202",
        "f39cdf25bf77219676ec5360980ac40b1a7e144a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 01:09:09 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 01:12:33 2009 +0200"
      },
      "message": "Merge commit \u0027perf/core\u0027 into perf/hw-breakpoint\n\nConflicts:\n\tkernel/Makefile\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tsamples/Makefile\n\nMerge reason: We need to be uptodate with the perf events development\nbranch because we plan to rewrite the breakpoints API on top of\nperf events.\n"
    },
    {
      "commit": "8a8365c560b8b631e0a2d1ac032fbca66a9645bc",
      "tree": "ca4f74170aade039440b38cfb0fe6d78e0ebeed4",
      "parents": [
        "ace1546487a0fe4634e3251067f8a32cb2cdc099"
      ],
      "author": {
        "name": "Frederik Deweerdt",
        "email": "frederik.deweerdt@xprog.eu",
        "time": "Fri Oct 09 11:42:56 2009 +0000"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Oct 16 12:30:26 2009 -0300"
      },
      "message": "KVM: MMU: fix pointer cast\n\nOn a 32 bits compile, commit 3da0dd433dc399a8c0124d0614d82a09b6a49bce\nintroduced the following warnings:\n\narch/x86/kvm/mmu.c: In function ‘kvm_set_pte_rmapp’:\narch/x86/kvm/mmu.c:770: warning: cast to pointer from integer of different size\narch/x86/kvm/mmu.c: In function ‘kvm_set_spte_hva’:\narch/x86/kvm/mmu.c:849: warning: cast from pointer to integer of different size\n\nThe following patch uses \u0027unsigned long\u0027 instead of u64 to match the\npointer size on both arches.\n\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@xprog.eu\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ace1546487a0fe4634e3251067f8a32cb2cdc099",
      "tree": "6f7ac8a23d0ac1ae5af287916cdd356de114f877",
      "parents": [
        "012abeea669ea49636cf952d13298bb68654146a"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Oct 08 10:55:03 2009 -0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Oct 16 12:30:25 2009 -0300"
      },
      "message": "KVM: use proper hrtimer function to retrieve expiration time\n\nhrtimer-\u003ebase can be temporarily NULL due to racing hrtimer_start.\nSee switch_hrtimer_base/lock_hrtimer_base.\n\nUse hrtimer_get_remaining which is robust against it.\n\nCC: stable@kernel.org\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3da0dd433dc399a8c0124d0614d82a09b6a49bce",
      "tree": "233d2dc2915d996f8ba97321ea8bfe36fbd700f4",
      "parents": [
        "1403283acca398e244ece35741ad251c1feb5972"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "ieidus@redhat.com",
        "time": "Wed Sep 23 21:47:18 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 17:04:53 2009 +0200"
      },
      "message": "KVM: add support for change_pte mmu notifiers\n\nthis is needed for kvm if it want ksm to directly map pages into its\nshadow page tables.\n\n[marcelo: cast pfn assignment to u64]\n\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1403283acca398e244ece35741ad251c1feb5972",
      "tree": "59a19bdd805c2e58929a38503435fb73d95f2ee4",
      "parents": [
        "acb66dd051d0834c8b36d147ff83a8d39da0fe0b"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "ieidus@redhat.com",
        "time": "Wed Sep 23 21:47:17 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 17:04:50 2009 +0200"
      },
      "message": "KVM: MMU: add SPTE_HOST_WRITEABLE flag to the shadow ptes\n\nthis flag notify that the host physical page we are pointing to from\nthe spte is write protected, and therefore we cant change its access\nto be write unless we run get_user_pages(write \u003d 1).\n\n(this is needed for change_pte support in kvm)\n\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "acb66dd051d0834c8b36d147ff83a8d39da0fe0b",
      "tree": "20c5fb817e34ddca6dd4ec20ce70613eba5b10d1",
      "parents": [
        "6a54435560efdab1a08f429a954df4d6c740bddf"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "ieidus@redhat.com",
        "time": "Wed Sep 23 21:47:16 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 17:04:48 2009 +0200"
      },
      "message": "KVM: MMU: dont hold pagecount reference for mapped sptes pages\n\nWhen using mmu notifiers, we are allowed to remove the page count\nreference tooken by get_user_pages to a specific page that is mapped\ninside the shadow page tables.\n\nThis is needed so we can balance the pagecount against mapcount\nchecking.\n\n(Right now kvm increase the pagecount and does not increase the\nmapcount when mapping page into shadow page table entry,\nso when comparing pagecount against mapcount, you have no\nreliable result.)\n\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6a54435560efdab1a08f429a954df4d6c740bddf",
      "tree": "f2141a331095cf2e7d3e1e5a14f2a7c264eaf923",
      "parents": [
        "eb5109e311b5152c0614a28d7d615d087f268f19"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 16:45:13 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 17:04:16 2009 +0200"
      },
      "message": "KVM: Prevent overflow in KVM_GET_SUPPORTED_CPUID\n\nThe number of entries is multiplied by the entry size, which can\noverflow on 32-bit hosts.  Bound the entry count instead.\n\nReported-by: David Wagner \u003cdaw@cs.berkeley.edu\u003e\nCc: stable@kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "eb5109e311b5152c0614a28d7d615d087f268f19",
      "tree": "7e6cff230fb9ba1c0af815f1cdbb08cdf818389d",
      "parents": [
        "b2d83cfa3fdefe5c6573d443d099a18dc3a93c5f"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Oct 01 19:16:58 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 13:57:24 2009 +0200"
      },
      "message": "KVM: VMX: flush TLB with INVEPT on cpu migration\n\nIt is possible that stale EPTP-tagged mappings are used, if a\nvcpu migrates to a different pcpu.\n\nSet KVM_REQ_TLB_FLUSH in vmx_vcpu_load, when switching pcpus, which\nwill invalidate both VPID and EPT mappings on the next vm-entry.\n\nCc: stable@kernel.org\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b2d83cfa3fdefe5c6573d443d099a18dc3a93c5f",
      "tree": "4833580d843369a6a16a317a93114c512bc6504d",
      "parents": [
        "8feda6f786fc44f5f8b5cf88e3b6c03514f5be93"
      ],
      "author": {
        "name": "Aurelien Jarno",
        "email": "aurelien@aurel32.net",
        "time": "Fri Sep 25 11:09:37 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 13:57:23 2009 +0200"
      },
      "message": "KVM: fix LAPIC timer period overflow\n\nDon\u0027t overflow when computing the 64-bit period from 32-bit registers.\n\nFixes sourceforge bug #2826486.\n\nSigned-off-by: Aurelien Jarno \u003caurelien@aurel32.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "20824f30bb0b8ae0a4099895fd4509f54cf2e1e2",
      "tree": "253c30ec098720c1c2ac69f3bd38967c02d26b7b",
      "parents": [
        "77b1ab1732feb5e3dcbaf31d2f7547c5229f5f3a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 16 15:24:18 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 13:57:23 2009 +0200"
      },
      "message": "KVM: SVM: Handle tsc in svm_get_msr/svm_set_msr correctly\n\nWhen running nested we need to touch the l1 guests\ntsc_offset. Otherwise changes will be lost or a wrong value\nbe read.\n\nCc: stable@kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "77b1ab1732feb5e3dcbaf31d2f7547c5229f5f3a",
      "tree": "bf9378c8d5b36b561b4a3d98f9e96046cb80112a",
      "parents": [
        "8a0382f6fceaf0c6479e582e1054f36333ea3d24"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 16 15:24:17 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 13:57:22 2009 +0200"
      },
      "message": "KVM: SVM: Fix tsc offset adjustment when running nested\n\nWhen svm_vcpu_load is called while the vcpu is running in\nguest mode the tsc adjustment made there is lost on the next\nemulated #vmexit. This causes the tsc running backwards in\nthe guest. This patch fixes the issue by also adjusting the\ntsc_offset in the emulated hsave area so that it will not\nget lost.\n\nCc: stable@kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "dca2d6ac09d9ef59ff46820d4f0c94b08a671202",
      "tree": "fdec753b842dad09e3a4151954fab3eb5c43500d",
      "parents": [
        "d6a65dffb30d8636b1e5d4c201564ef401a246cf",
        "18240904960a39e582ced8ba8ececb10b8c22dd3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 12:18:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 12:18:15 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/hw-breakpoints\n\nConflicts:\n\tarch/x86/kernel/process_64.c\n\nSemantic conflict fixed in:\n\tarch/x86/kvm/x86.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69def9f05dfce3281bb06599057e6b8097385d39",
      "tree": "7d826b22924268ddbfad101993b248996d40e2ec",
      "parents": [
        "353f6dd2dec992ddd34620a94b051b0f76227379",
        "8e616fc8d343bd7f0f0a0c22407fdcb77f6d22b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:43:43 2009 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.32\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.32\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (202 commits)\n  MAINTAINERS: update KVM entry\n  KVM: correct error-handling code\n  KVM: fix compile warnings on s390\n  KVM: VMX: Check cpl before emulating debug register access\n  KVM: fix misreporting of coalesced interrupts by kvm tracer\n  KVM: x86: drop duplicate kvm_flush_remote_tlb calls\n  KVM: VMX: call vmx_load_host_state() only if msr is cached\n  KVM: VMX: Conditionally reload debug register 6\n  KVM: Use thread debug register storage instead of kvm specific data\n  KVM guest: do not batch pte updates from interrupt context\n  KVM: Fix coalesced interrupt reporting in IOAPIC\n  KVM guest: fix bogus wallclock physical address calculation\n  KVM: VMX: Fix cr8 exiting control clobbering by EPT\n  KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp\n  KVM: Document KVM_CAP_IRQCHIP\n  KVM: Protect update_cr8_intercept() when running without an apic\n  KVM: VMX: Fix EPT with WP bit change during paging\n  KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors\n  KVM: x86 emulator: Add adc and sbb missing decoder flags\n  KVM: Add missing #include\n  ...\n"
    },
    {
      "commit": "0a79b009525b160081d75cef5dbf45817956acf2",
      "tree": "86dc2671cbd3326e92c8845ce699bdb651d785b5",
      "parents": [
        "4da748960a6bd7b1e123e01bfa8f2dbcb6be209e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Sep 01 12:03:25 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 18:11:10 2009 +0300"
      },
      "message": "KVM: VMX: Check cpl before emulating debug register access\n\nDebug registers may only be accessed from cpl 0.  Unfortunately, vmx will\ncode to emulate the instruction even though it was issued from guest\nuserspace, possibly leading to an unexpected trap later.\n\nCc: stable@kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "4da748960a6bd7b1e123e01bfa8f2dbcb6be209e",
      "tree": "c97e1303a0690caba07acc950647cf709d852206",
      "parents": [
        "e3904e6ed0d525e383eb961ed1da0596a10e5387"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Aug 27 16:25:04 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 18:11:09 2009 +0300"
      },
      "message": "KVM: fix misreporting of coalesced interrupts by kvm tracer\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e3904e6ed0d525e383eb961ed1da0596a10e5387",
      "tree": "b6afc68d515fdd7c4e81682e6b301f303698a0ee",
      "parents": [
        "542423b0dd162a9dbf91109461703bd0e545c71f"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 08 14:50:51 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 18:11:08 2009 +0300"
      },
      "message": "KVM: x86: drop duplicate kvm_flush_remote_tlb calls\n\nkvm_mmu_slot_remove_write_access already calls it.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "542423b0dd162a9dbf91109461703bd0e545c71f",
      "tree": "5d070234ecda6fbe3bc91df53852a4431da13d64",
      "parents": [
        "e8a48342e9bc1c65ffe4bb3b3ac964e726dbd4c0"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Aug 27 15:07:30 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 18:11:07 2009 +0300"
      },
      "message": "KVM: VMX: call vmx_load_host_state() only if msr is cached\n\nNo need to call it before each kvm_(set|get)_msr_common()\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e8a48342e9bc1c65ffe4bb3b3ac964e726dbd4c0",
      "tree": "a669d0c24552f924ad7d1ee463ceb823a60bdd30",
      "parents": [
        "3d53c27d05950390712f92c5ad1604c60190ed64"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Sep 01 16:06:25 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 18:11:06 2009 +0300"
      },
      "message": "KVM: VMX: Conditionally reload debug register 6\n\nOnly reload debug register 6 if we\u0027re running with the guest\u0027s\ndebug registers.  Saves around 150 cycles from the guest lightweight\nexit path.\n\ndr6 contains a couple of bits that are updated on #DB, so intercept\nthat unconditionally and update those bits then.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3d53c27d05950390712f92c5ad1604c60190ed64",
      "tree": "37c93b2eaa334ccdeb0195f16d02cfc8cc0a22f7",
      "parents": [
        "6ba661787594868512a71c129062ebd57d0c01e7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Sep 01 12:34:07 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 18:11:04 2009 +0300"
      },
      "message": "KVM: Use thread debug register storage instead of kvm specific data\n\nInstead of saving the debug registers from the processor to a kvm data\nstructure, rely in the debug registers stored in the thread structure.\nThis allows us not to save dr6 and dr7.\n\nReduces lightweight vmexit cost by 350 cycles, or 11 percent.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5fff7d270bd6a4759b6d663741b729cdee370257",
      "tree": "9d80d9aa7e949a60488f9d16145e7054fc0d9968",
      "parents": [
        "60f24784a92c25c269a5e741a8ce8ff63e887be8"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Aug 27 18:41:30 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:57 2009 +0300"
      },
      "message": "KVM: VMX: Fix cr8 exiting control clobbering by EPT\n\nDon\u0027t call adjust_vmx_controls() two times for the same control.\nIt restores options that were dropped earlier.  This loses us the cr8\nexit control, which causes a massive performance regression Windows x64.\n\nCc: stable@kernel.org\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "60f24784a92c25c269a5e741a8ce8ff63e887be8",
      "tree": "e14483c4f507bad1756b8ce82f2f73b0190b026f",
      "parents": [
        "5dadbfd64724c41716d4fc82df6f01b023d5b15d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 27 13:37:06 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:56 2009 +0300"
      },
      "message": "KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp\n\nWe know no pages are protected, so we can short-circuit the whole thing\n(including fairly nasty guest memory accesses).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "88c808fd42b53a7e01a2ac3253ef31fef74cb5af",
      "tree": "570998f7bc61caa35c493bca3b1ca50a3f74af0c",
      "parents": [
        "95eb84a7588d7d7afd3096807efc052adc7479e1"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 17 22:49:40 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:54 2009 +0300"
      },
      "message": "KVM: Protect update_cr8_intercept() when running without an apic\n\nupdate_cr8_intercept() can be triggered from userspace while there\nis no apic present.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "95eb84a7588d7d7afd3096807efc052adc7479e1",
      "tree": "e87021f78dc09d49bcf7f9ca55f5143898bc24a5",
      "parents": [
        "d9048d3278ed4d395e63899257c3fa377693968b"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Aug 19 09:52:18 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:53 2009 +0300"
      },
      "message": "KVM: VMX: Fix EPT with WP bit change during paging\n\nQNX update WP bit when paging enabled, which is not covered yet. This one fix\nQNX boot with EPT.\n\nCc: stable@kernel.org\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d9048d3278ed4d395e63899257c3fa377693968b",
      "tree": "8a1b95d5bb939690ab03513efcc6cd4bff9ab923",
      "parents": [
        "7bdb588827265bf42dd420e95d34275c83603568"
      ],
      "author": {
        "name": "Mikhail Ershov",
        "email": "Mike.Ershov@gmail.com",
        "time": "Wed Aug 19 14:08:07 2009 +0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:52 2009 +0300"
      },
      "message": "KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors\n\nSegment descriptors tables can be placed on two non-contiguous pages.\nThis patch makes reading segment descriptors by linear address.\n\nSigned-off-by: Mikhail Ershov \u003cMike.Ershov@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7bdb588827265bf42dd420e95d34275c83603568",
      "tree": "990dd4205f2040beccf9d67d7251781394a437b5",
      "parents": [
        "fa6870c6b64214aced218d930ec7221e2a9767b8"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Wed Aug 19 01:26:28 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:51 2009 +0300"
      },
      "message": "KVM: x86 emulator: Add adc and sbb missing decoder flags\n\nAdd missing decoder flags for adc and sbb instructions\n(opcodes 0x14-0x15, 0x1c-0x1d)\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "56e8231841301ad38e347e33fd4319c89f697045",
      "tree": "77a30a9ccb9bd2e664b32d95470f719809385280",
      "parents": [
        "c0c7c04b874bf98a10d8e0c8322a5d3bc93536bc"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 12 15:04:37 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:45 2009 +0300"
      },
      "message": "KVM: Rename x86_emulate.c to emulate.c\n\nWe\u0027re in arch/x86, what could we possibly be emulating?\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c0c7c04b874bf98a10d8e0c8322a5d3bc93536bc",
      "tree": "fd1fd86a26767fb8b59db3190f17b2c40a035ba4",
      "parents": [
        "345dcaa8fde7fa70252d58c862bf41fd2149ca2c"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Tue Aug 11 15:57:59 2009 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:44 2009 +0300"
      },
      "message": "KVM: When switching to a vm8086 task, load segments as 16-bit\n\nAccording to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading\nand new segments.  If eflags.vm \u003d\u003d 1, then the segments are treated as 16-bit\nsegments.  The LDTR and TR are not normally available in vm86 mode so if they\nhappen to somehow get loaded, they need to be treated as 32-bit segments.\n\nThis fixes an invalid vmentry failure in a custom OS that was happening after\na task switch into vm8086 mode.  Since the segments were being mistakenly\ntreated as 32-bit, we loaded garbage state.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "345dcaa8fde7fa70252d58c862bf41fd2149ca2c",
      "tree": "7e351dd56f459ab19eaf8f46b5fa94f81006c00f",
      "parents": [
        "6621fbc2c6add9c9abfc87d7bc9b248ffd307ae3"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 12 15:29:37 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:43 2009 +0300"
      },
      "message": "KVM: VMX: Adjust rflags if in real mode emulation\n\nWe set rflags.vm86 when virtualizing real mode to do through vm8086 mode;\nso we need to take it out again when reading rflags.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "52c7847d121da3651c08d9e9a99eb8a7cf2faa7a",
      "tree": "b84e1817a8878fa8a121ecac4a4d3d23b903905a",
      "parents": [
        "cb142eb743d02d48165c9d941b601d731cc4a003"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 10 15:42:41 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 10:46:40 2009 +0300"
      },
      "message": "KVM: SVM: Drop tlb flush workaround in npt\n\nIt is no longer possible to reproduce the problem any more, so presumably\nit has been fixed.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    }
  ],
  "next": "cb142eb743d02d48165c9d941b601d731cc4a003"
}
