)]}'
{
  "log": [
    {
      "commit": "5f4e3f882731c65b5d64a2ff743fda96eaebb9ee",
      "tree": "25d538b6a58066d01711daa505acbabf47aaf125",
      "parents": [
        "624d84cfe63b5afdd087bf5b2075a8a8cac5c83f"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Sat Sep 18 14:38:13 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:53:04 2010 +0200"
      },
      "message": "KVM: x86: Make math work for other scales\n\nThe math in kvm_get_time_scale relies on the fact that\nNSEC_PER_SEC \u003c 2^32.  To use the same function to compute\narbitrary time scales, we must extend the first reduction\nstep to shrink the base rate to a 32-bit value, and\npossibly reduce the scaled rate into a 32-bit as well.\n\nNote we must take care to avoid an arithmetic overflow\nwhen scaling up the tps32 value (this could not happen\nwith the fixed scaled value of NSEC_PER_SEC, but can\nhappen with scaled rates above 2^31.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "624d84cfe63b5afdd087bf5b2075a8a8cac5c83f",
      "tree": "49b3e2ac87797d2fe852251570e7e2b5e3765db8",
      "parents": [
        "49e9d557f9b6e9639390b63b645f2def8dde5f1b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Sep 21 19:59:44 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:53:03 2010 +0200"
      },
      "message": "KVM: cpu_relax() during spin waiting for reboot\n\nIt doesn\u0027t really matter, but if we spin, we should spin in a more relaxed\nmanner.  This way, if something goes wrong at least it won\u0027t contribute to\nglobal warming.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "49e9d557f9b6e9639390b63b645f2def8dde5f1b",
      "tree": "bf5938665cfa712845d6e490f1cb169bf8f2d78f",
      "parents": [
        "a92601bb707f6f49fd5563ef3d09928e70cc222e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 19 14:34:08 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:53:02 2010 +0200"
      },
      "message": "KVM: VMX: Respect interrupt window in big real mode\n\nIf an interrupt is pending, we need to stop emulation so we\ncan inject it.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a92601bb707f6f49fd5563ef3d09928e70cc222e",
      "tree": "4c3f344957d5ee77dc91091ea186eab1169e0fc1",
      "parents": [
        "63995653ade16deacaea5b49ceaf6376314593ac"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Sep 19 14:34:07 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:53:01 2010 +0200"
      },
      "message": "KVM: VMX: Emulated real mode interrupt injection\n\nReplace the inject-as-software-interrupt hack we currently have with\nemulated injection.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "63995653ade16deacaea5b49ceaf6376314593ac",
      "tree": "92c4dc379a1c8925a53ce6d6abd5d4d0f85ecc49",
      "parents": [
        "4ab8e02404fcbc16beefac66de24dbb2706fe2f3"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Sep 19 14:34:06 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:53:01 2010 +0200"
      },
      "message": "KVM: Add kvm_inject_realmode_interrupt() wrapper\n\nThis adds a wrapper function kvm_inject_realmode_interrupt() around the\nemulator function emulate_int_real() to allow real mode interrupt injection.\n\n[avi: initialize operand and address sizes before emulating interrupts]\n[avi: initialize rip for real mode interrupt injection]\n[avi: clear interrupt pending flag after emulating interrupt injection]\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "4ab8e02404fcbc16beefac66de24dbb2706fe2f3",
      "tree": "18607bd0b29d6b091027a2ce960999961117960d",
      "parents": [
        "cb16a7b3872e9a806f16b1f09b59103fafc7b796"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Sep 19 14:34:05 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:53:00 2010 +0200"
      },
      "message": "KVM: x86 emulator: Expose emulate_int_real()\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cb16a7b3872e9a806f16b1f09b59103fafc7b796",
      "tree": "255ee31572d138a2d1a54281881483654f02bf56",
      "parents": [
        "a182d8737f0bdfb684b3255c8e266e71999e2225"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Sat Sep 18 08:41:02 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:59 2010 +0200"
      },
      "message": "KVM: MMU: fix counting of rmap entries in rmap_add()\n\nIt seems that rmap entries are under counted.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a182d8737f0bdfb684b3255c8e266e71999e2225",
      "tree": "90c4b4bb39b49ae6124f582534c97cd7dcb8bafc",
      "parents": [
        "8475f94abfa40d6975923ff022280cf7250fc5fb"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Sep 20 22:17:48 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:58 2010 +0200"
      },
      "message": "KVM: document \u0027kvm.mmu_audit\u0027 parameter\n\nDocument this parameter into Documentation/kernel-parameters.txt\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8475f94abfa40d6975923ff022280cf7250fc5fb",
      "tree": "877bcae3e684d685c88cada1dd7ec059838fe7e1",
      "parents": [
        "a0a07cd2c5fc8703db8a07287cdde3d29a286082"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Sep 20 22:16:45 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:58 2010 +0200"
      },
      "message": "KVM: fix the description of kvm-amd.nested in documentation\n\nThe default state of \u0027kvm-amd.nested\u0027 is enabled now, so fix the documentation\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a0a07cd2c5fc8703db8a07287cdde3d29a286082",
      "tree": "79730f314db290e0def664eb25f90dc630ae1c2f",
      "parents": [
        "f4f510508741680e423524c222f615276ca6222c"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Sep 20 10:15:32 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:56 2010 +0200"
      },
      "message": "KVM: SVM: do not generate \"external interrupt exit\" if other exit is pending\n\nNested SVM checks for external interrupt after injecting nested exception.\nIn case there is external interrupt pending the code generates \"external\ninterrupt exit\" and overwrites previous exit info. If previously injected\nexception already generated exit it will be lost.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f4f510508741680e423524c222f615276ca6222c",
      "tree": "6c5212b82659ff7c0e7c9124b3583ea39987bc83",
      "parents": [
        "28e4639adf0c9f26f6bb56149b7ab547bf33bb95"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 19 18:44:07 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:56 2010 +0200"
      },
      "message": "KVM: Convert PIC lock from raw spinlock to ordinary spinlock\n\nThe PIC code used to be called from preempt_disable() context, which\nwasn\u0027t very good for PREEMPT_RT.  That is no longer the case, so move\nback from raw_spinlock_t to spinlock_t.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "28e4639adf0c9f26f6bb56149b7ab547bf33bb95",
      "tree": "0d20f168f33bc0165ee4a9d18c386a7cdbad63c4",
      "parents": [
        "0959ffacf39b1ae7f56072b0c64429ee528100ca"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Sat Sep 18 14:38:12 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:56 2010 +0200"
      },
      "message": "KVM: x86: Fix kvmclock bug\n\nIf preempted after kvmclock values are updated, but before hardware\nvirtualization is entered, the last tsc time as read by the guest is\nnever set.  It underflows the next time kvmclock is updated if there\nhas not yet been a successful entry / exit into hardware virt.\n\nFix this by simply setting last_tsc to the newly read tsc value so\nthat any computed nsec advance of kvmclock is nulled.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0959ffacf39b1ae7f56072b0c64429ee528100ca",
      "tree": "4144335ba89e62522430b04f8436f98958834e7d",
      "parents": [
        "625831a3f40d330c611fe37cf501d80d611921f9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 14 17:46:12 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:55 2010 +0200"
      },
      "message": "KVM: MMU: Don\u0027t track nested fault info in error-code\n\nThis patch moves the detection whether a page-fault was\nnested or not out of the error code and moves it into a\nseparate variable in the fault struct.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "625831a3f40d330c611fe37cf501d80d611921f9",
      "tree": "caa9d6b9a04929fc68082778ef2d1935e16bda2a",
      "parents": [
        "b463a6f744a263fccd7da14db1afdc880371a280"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 22 13:09:54 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:54 2010 +0200"
      },
      "message": "KVM: VMX: Move fixup_rmode_irq() to avoid forward declaration\n\nNo code changes.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b463a6f744a263fccd7da14db1afdc880371a280",
      "tree": "30dbb8d47f4a3a6b2036dd890d03cb53081eadef",
      "parents": [
        "83422e17c19d61399cab7dbf9bf40ff9af2a7dd2"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 20 15:06:17 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:54 2010 +0200"
      },
      "message": "KVM: Non-atomic interrupt injection\n\nChange the interrupt injection code to work from preemptible, interrupts\nenabled context.  This works by adding a -\u003ecancel_injection() operation\nthat undoes an injection in case we were not able to actually enter the guest\n(this condition could never happen with atomic injection).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "83422e17c19d61399cab7dbf9bf40ff9af2a7dd2",
      "tree": "66baed88c811ca2f2a453254af08eb980ee3c842",
      "parents": [
        "537b37e2674b7e4390a490e03cae53ca9ca99e30"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 20 14:43:23 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:52 2010 +0200"
      },
      "message": "KVM: VMX: Parameterize vmx_complete_interrupts() for both exit and entry\n\nCurrently vmx_complete_interrupts() can decode event information from vmx\nexit fields into the generic kvm event queues.  Make it able to decode\nthe information from the entry fields as well by parametrizing it.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "537b37e2674b7e4390a490e03cae53ca9ca99e30",
      "tree": "c69f89afe9ba789af5bb53530fe6f5255f5aa939",
      "parents": [
        "51aa01d13d4a64422cf8095205fc4a02322aca2c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 22 12:54:21 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:51 2010 +0200"
      },
      "message": "KVM: VMX: Move real-mode interrupt injection fixup to vmx_complete_interrupts()\n\nThis allows reuse of vmx_complete_interrupts() for cancelling injections.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "51aa01d13d4a64422cf8095205fc4a02322aca2c",
      "tree": "362110e17562f7f1e89c114af5447c8f0275bac3",
      "parents": [
        "3842d135ff246b6543f1df77f5600e12094a6845"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 20 14:31:20 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:51 2010 +0200"
      },
      "message": "KVM: VMX: Split up vmx_complete_interrupts()\n\nvmx_complete_interrupts() does too much, split it up:\n - vmx_vcpu_run() gets the \"cache important vmcs fields\" part\n - a new vmx_complete_atomic_exit() gets the parts that must be done atomically\n - a new vmx_recover_nmi_blocking() does what its name says\n - vmx_complete_interrupts() retains the event injection recovery code\n\nThis helps in reducing the work done in atomic context.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3842d135ff246b6543f1df77f5600e12094a6845",
      "tree": "7b65456a0527fc3ea753a49c528643fd3b52a7d6",
      "parents": [
        "b0bc3ee2b54fcea0df42cc9aa05103b1ccd89db0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 27 12:30:24 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:50 2010 +0200"
      },
      "message": "KVM: Check for pending events before attempting injection\n\nInstead of blindly attempting to inject an event before each guest entry,\ncheck for a possible event first in vcpu-\u003erequests.  Sites that can trigger\nevent injection are modified to set KVM_REQ_EVENT:\n\n- interrupt, nmi window opening\n- ppr updates\n- i8259 output changes\n- local apic irr changes\n- rflags updates\n- gif flag set\n- event set on exit\n\nThis improves non-injecting entry performance, and sets the stage for\nnon-atomic injection.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b0bc3ee2b54fcea0df42cc9aa05103b1ccd89db0",
      "tree": "15f55e178b86b69116bff5f1e53a1fbcd88ed033",
      "parents": [
        "c39cbd2a0012334714409eec1e9cf4d542e359e9"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Sep 13 16:45:28 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:49 2010 +0200"
      },
      "message": "KVM: MMU: Fix regression with ept memory types merged into non-ept page tables\n\nCommit \"KVM: MMU: Make tdp_enabled a mmu-context parameter\" made real-mode\nset -\u003edirect_map, and changed the code that merges in the memory type depend\non direct_map instead of tdp_enabled.  However, in this case what really\nmatters is tdp, not direct_map, since tdp changes the pte format regardless\nof whether the mapping is direct or not.\n\nAs a result, real-mode shadow mappings got corrupted with ept memory types.\nThe result was a huge slowdown, likely due to the cache being disabled.\n\nChange it back as the simplest fix for the regression (real fix is to move\nall that to vmx code, and not use tdp_enabled as a synonym for ept).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c39cbd2a0012334714409eec1e9cf4d542e359e9",
      "tree": "e94140969bb45a0f8e861aabcba69661eda94287",
      "parents": [
        "4c62a2dc92518c5adf434df8e5c2283c6762672a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 12 16:39:11 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:48 2010 +0200"
      },
      "message": "KVM: Document that KVM_GET_SUPPORTED_CPUID may return emulated values\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4c62a2dc92518c5adf434df8e5c2283c6762672a",
      "tree": "610ba76b930c0d126a72871ba15b35c89b06fbc3",
      "parents": [
        "3d4aeaad8bb8f8084a414819934b73ab49c26c92"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:06 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:48 2010 +0200"
      },
      "message": "KVM: X86: Report SVM bit to userspace only when supported\n\nThis patch fixes a bug in KVM where it _always_ reports the\nsupport of the SVM feature to userspace. But KVM only\nsupports SVM on AMD hardware and only when it is enabled in\nthe kernel module. This patch fixes the wrong reporting.\n\nCc: stable@kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3d4aeaad8bb8f8084a414819934b73ab49c26c92",
      "tree": "528a6e48aa450be8dd78e44941b6ee98c20f198b",
      "parents": [
        "55c5e464fcc28ee763d40561abf2b259131dd703"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:05 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:47 2010 +0200"
      },
      "message": "KVM: SVM: Report Nested Paging support to userspace\n\nThis patch implements the reporting of the nested paging\nfeature support to userspace.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "55c5e464fcc28ee763d40561abf2b259131dd703",
      "tree": "a285f4cbad347bb3adcae3c66d92d4dca32ed006",
      "parents": [
        "4b16184c1ccafa4b0c188c622ea532fb90e6f5b0"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:46 2010 +0200"
      },
      "message": "KVM: SVM: Expect two more candiates for exit_int_info\n\nThis patch adds INTR and NMI intercepts to the list of\nexpected intercepts with an exit_int_info set. While this\ncan\u0027t happen on bare metal it is architectural legal and may\nhappen with KVMs SVM emulation.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4b16184c1ccafa4b0c188c622ea532fb90e6f5b0",
      "tree": "27bac1b008fc41f2b27a70faecf3e1ca1b7473ee",
      "parents": [
        "5bd2edc341d11af175e759a546e4335ba3e0584f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:03 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:46 2010 +0200"
      },
      "message": "KVM: SVM: Initialize Nested Nested MMU context on VMRUN\n\nThis patch adds code to initialize the Nested Nested Paging\nMMU context when the L1 guest executes a VMRUN instruction\nand has nested paging enabled in its VMCB.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5bd2edc341d11af175e759a546e4335ba3e0584f",
      "tree": "c376bdae4ee4a84f4be89ac16a030812ea63f06d",
      "parents": [
        "2d48a985c7bbcd72b4e92e301ea96bf1252ffc61"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:02 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:45 2010 +0200"
      },
      "message": "KVM: SVM: Implement MMU helper functions for Nested Nested Paging\n\nThis patch adds the helper functions which will be used in\nthe mmu context for handling nested nested page faults.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2d48a985c7bbcd72b4e92e301ea96bf1252ffc61",
      "tree": "df3c876c8754f57dfc255175ba5f4d9da7c08c77",
      "parents": [
        "81407ca553c0c852b8cd3f38f3ec362d307f829b"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:01 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:44 2010 +0200"
      },
      "message": "KVM: MMU: Track NX state in struct kvm_mmu\n\nWith Nested Paging emulation the NX state between the two\nMMU contexts may differ. To make sure that always the right\nfault error code is recorded this patch moves the NX state\ninto struct kvm_mmu so that the code can distinguish between\nL1 and L2 NX state.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "81407ca553c0c852b8cd3f38f3ec362d307f829b",
      "tree": "d84b98769b9c14a2cb33d318fac7028bbb4e18eb",
      "parents": [
        "651dd37a9ce6fdacdcd75da86619c62111efcbc2"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:31:00 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:43 2010 +0200"
      },
      "message": "KVM: MMU: Allow long mode shadows for legacy page tables\n\nCurrently the KVM softmmu implementation can not shadow a 32\nbit legacy or PAE page table with a long mode page table.\nThis is a required feature for nested paging emulation\nbecause the nested page table must alway be in host format.\nSo this patch implements the missing pieces to allow long\nmode page tables for page table types.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "651dd37a9ce6fdacdcd75da86619c62111efcbc2",
      "tree": "62b8c506c076b4c66e1c144d6e831db551c61749",
      "parents": [
        "d41d1895eb856b5d1c82f3be106b7a3e75e4216b"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:59 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:42 2010 +0200"
      },
      "message": "KVM: MMU: Refactor mmu_alloc_roots function\n\nThis patch factors out the direct-mapping paths of the\nmmu_alloc_roots function into a seperate function. This\nmakes it a lot easier to avoid all the unnecessary checks\ndone in the shadow path which may break when running direct.\nIn fact, this patch already fixes a problem when running PAE\nguests on a PAE shadow page table.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d41d1895eb856b5d1c82f3be106b7a3e75e4216b",
      "tree": "9c03b7f6b304fcebea1e242de53f39a9d26de395",
      "parents": [
        "ff03a073e715d49b5cfeeec862649b1df2481ae0"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:58 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:42 2010 +0200"
      },
      "message": "KVM: MMU: Introduce kvm_pdptr_read_mmu\n\nThis function is implemented to load the pdptr pointers of\nthe currently running guest (l1 or l2 guest). Therefore it\ntakes care about the current paging mode and can read pdptrs\nout of l2 guest physical memory.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ff03a073e715d49b5cfeeec862649b1df2481ae0",
      "tree": "fa0642550d0d1af65a4a02def7f1862410a36edc",
      "parents": [
        "d47f00a62b2e14b4a811b87bdb9ea1809693a377"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:57 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:41 2010 +0200"
      },
      "message": "KVM: MMU: Add kvm_mmu parameter to load_pdptrs function\n\nThis function need to be able to load the pdptrs from any\nmmu context currently in use. So change this function to\ntake an kvm_mmu parameter to fit these needs.\nAs a side effect this patch also moves the cached pdptrs\nfrom vcpu_arch into the kvm_mmu struct.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d47f00a62b2e14b4a811b87bdb9ea1809693a377",
      "tree": "85f0697d0714818c8f0d92047905782f275c9ce3",
      "parents": [
        "d4f8cf664e4c1fd579df6b6e6378335c9f79d790"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:56 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:41 2010 +0200"
      },
      "message": "KVM: X86: Propagate fetch faults\n\nKVM currently ignores fetch faults in the instruction\nemulator. With nested-npt we could have such faults. This\npatch adds the code to handle these.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d4f8cf664e4c1fd579df6b6e6378335c9f79d790",
      "tree": "e5f5ce71daa78ebf2bae27d355f1e9a11d59ef77",
      "parents": [
        "02f59dc9f1f51d2148d87d48f84adb455a4fd697"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:55 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:40 2010 +0200"
      },
      "message": "KVM: MMU: Propagate the right fault back to the guest after gva_to_gpa\n\nThis patch implements logic to make sure that either a\npage-fault/page-fault-vmexit or a nested-page-fault-vmexit\nis propagated back to the guest.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "02f59dc9f1f51d2148d87d48f84adb455a4fd697",
      "tree": "f1947e95af0dd4e2211c1b152e48f9784a749ebb",
      "parents": [
        "3d06b8bfd44ec421c386241f7c5af66c8200cbf4"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:39 2010 +0200"
      },
      "message": "KVM: MMU: Introduce init_kvm_nested_mmu()\n\nThis patch introduces the init_kvm_nested_mmu() function\nwhich is used to re-initialize the nested mmu when the l2\nguest changes its paging mode.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3d06b8bfd44ec421c386241f7c5af66c8200cbf4",
      "tree": "3b9c13bbc974a711db264d60384e869c94f8a6cd",
      "parents": [
        "2329d46d213d0721dafae18db29f54b196f11468"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:53 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:38 2010 +0200"
      },
      "message": "KVM: MMU: Introduce kvm_read_nested_guest_page()\n\nThis patch introduces the kvm_read_guest_page_x86 function\nwhich reads from the physical memory of the guest. If the\nguest is running in guest-mode itself with nested paging\nenabled it will read from the guest\u0027s guest physical memory\ninstead.\nThe patch also changes changes the code to use this function\nwhere it is necessary.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2329d46d213d0721dafae18db29f54b196f11468",
      "tree": "d417b780c53b11c00e927e31bde995e26bfcb51f",
      "parents": [
        "ec92fe44e7ff94d04d8305e49efcffd8773e1cf6"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:52 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:38 2010 +0200"
      },
      "message": "KVM: MMU: Make walk_addr_generic capable for two-level walking\n\nThis patch uses kvm_read_guest_page_tdp to make the\nwalk_addr_generic functions suitable for two-level page\ntable walking.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ec92fe44e7ff94d04d8305e49efcffd8773e1cf6",
      "tree": "a1f3c9e47e5c05a83d0d507d0616f810234c80a4",
      "parents": [
        "6539e738f65a8f1fc7806295d5d701fba4008343"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:51 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:37 2010 +0200"
      },
      "message": "KVM: X86: Add kvm_read_guest_page_mmu function\n\nThis patch adds a function which can read from the guests\nphysical memory or from the guest\u0027s guest physical memory.\nThis will be used in the two-dimensional page table walker.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6539e738f65a8f1fc7806295d5d701fba4008343",
      "tree": "7b66b9d2c28eae8a332cdb1da0e602357b0cbeda",
      "parents": [
        "14dfe855f978181cd611ec018e5ceba860a98545"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:50 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:36 2010 +0200"
      },
      "message": "KVM: MMU: Implement nested gva_to_gpa functions\n\nThis patch adds the functions to do a nested l2_gva to\nl1_gpa page table walk.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "14dfe855f978181cd611ec018e5ceba860a98545",
      "tree": "e81ec5a9162a2588f12c21de415ab8778c655c1f",
      "parents": [
        "c30a358d33e0e111f06e54a4a4125371e6b6693c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:49 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:35 2010 +0200"
      },
      "message": "KVM: X86: Introduce pointer to mmu context used for gva_to_gpa\n\nThis patch introduces the walk_mmu pointer which points to\nthe mmu-context currently used for gva_to_gpa translations.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c30a358d33e0e111f06e54a4a4125371e6b6693c",
      "tree": "bdd1d80f2eca1a63344b80f8e4353095cd06a947",
      "parents": [
        "1e301feb079e8ee6091bb75283e960fc33059a68"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:34 2010 +0200"
      },
      "message": "KVM: MMU: Add infrastructure for two-level page walker\n\nThis patch introduces a mmu-callback to translate gpa\naddresses in the walk_addr code. This is later used to\ntranslate l2_gpa addresses into l1_gpa addresses.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1e301feb079e8ee6091bb75283e960fc33059a68",
      "tree": "458abbfb4f1b3c86a3c137f711c5fce93c5d7002",
      "parents": [
        "8df25a328a6ca3bd0f048278f4d5ae0a1f6fadc1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:47 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:33 2010 +0200"
      },
      "message": "KVM: MMU: Introduce generic walk_addr function\n\nThis is the first patch in the series towards a generic\nwalk_addr implementation which could walk two-dimensional\npage tables in the end. In this first step the walk_addr\nfunction is renamed into walk_addr_generic which takes a\nmmu context as an additional parameter.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8df25a328a6ca3bd0f048278f4d5ae0a1f6fadc1",
      "tree": "613b4e3c09fa90a7a52b4283cc0687ce547bd5c7",
      "parents": [
        "3241f22da85d26505b39f525a88f52ebd1235975"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:33 2010 +0200"
      },
      "message": "KVM: MMU: Track page fault data in struct vcpu\n\nThis patch introduces a struct with two new fields in\nvcpu_arch for x86:\n\n\t* fault.address\n\t* fault.error_code\n\nThis will be used to correctly propagate page faults back\ninto the guest when we could have either an ordinary page\nfault or a nested page fault. In the case of a nested page\nfault the fault-address is different from the original\naddress that should be walked. So we need to keep track\nabout the real fault-address.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3241f22da85d26505b39f525a88f52ebd1235975",
      "tree": "48b98fa9824a6f94cb4fc71d930864fb5f3527d2",
      "parents": [
        "52fde8df7dd13d90f5f8dc43157418bff968d90a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:45 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:32 2010 +0200"
      },
      "message": "KVM: MMU: Let is_rsvd_bits_set take mmu context instead of vcpu\n\nThis patch changes is_rsvd_bits_set() function prototype to\ntake only a kvm_mmu context instead of a full vcpu.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "52fde8df7dd13d90f5f8dc43157418bff968d90a",
      "tree": "b02791abecb83a1b9772b95c333581087ab622f5",
      "parents": [
        "cb659db8a7d1ed558898f533a957dfc342f9499d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:44 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:32 2010 +0200"
      },
      "message": "KVM: MMU: Introduce kvm_init_shadow_mmu helper function\n\nSome logic of the init_kvm_softmmu function is required to\nbuild the Nested Nested Paging context. So factor the\nrequired logic into a seperate function and export it.\nAlso make the whole init path suitable for more than one mmu\ncontext.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "cb659db8a7d1ed558898f533a957dfc342f9499d",
      "tree": "706528d7eb311f956cadcc50e666012ef59d8ada",
      "parents": [
        "5777ed340d89cdc6c76a5c552337a3861b40a806"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:43 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:31 2010 +0200"
      },
      "message": "KVM: MMU: Introduce inject_page_fault function pointer\n\nThis patch introduces an inject_page_fault function pointer\ninto struct kvm_mmu which will be used to inject a page\nfault. This will be used later when Nested Nested Paging is\nimplemented.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5777ed340d89cdc6c76a5c552337a3861b40a806",
      "tree": "7f3c3a8da975dadef7e00fc92c39bd3ab5862a60",
      "parents": [
        "1c97f0a04c74196880f22a563134c8f6d0b9d752"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:42 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:31 2010 +0200"
      },
      "message": "KVM: MMU: Introduce get_cr3 function pointer\n\nThis function pointer in the MMU context is required to\nimplement Nested Nested Paging.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1c97f0a04c74196880f22a563134c8f6d0b9d752",
      "tree": "060da15688879d0a50c4854f40980ac915f39663",
      "parents": [
        "f43addd46168110d572dcf69100cb215a4e9fd08"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:41 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:30 2010 +0200"
      },
      "message": "KVM: X86: Introduce a tdp_set_cr3 function\n\nThis patch introduces a special set_tdp_cr3 function pointer\nin kvm_x86_ops which is only used for tpd enabled mmu\ncontexts. This allows to remove some hacks from svm code.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f43addd46168110d572dcf69100cb215a4e9fd08",
      "tree": "b17a5d13f1d765cc6ec7f53ffbf29a22033f45e3",
      "parents": [
        "c5a78f2b649ae75ae788e7622ca5a586af2cb35a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:29 2010 +0200"
      },
      "message": "KVM: MMU: Make set_cr3 a function pointer in kvm_mmu\n\nThis is necessary to implement Nested Nested Paging. As a\nside effect this allows some cleanups in the SVM nested\npaging code.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c5a78f2b649ae75ae788e7622ca5a586af2cb35a",
      "tree": "969423628be1dd64996c10359edddf02ed4f7343",
      "parents": [
        "957446afce22df9a42b9482fcd55985f4037fe66"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:28 2010 +0200"
      },
      "message": "KVM: MMU: Make tdp_enabled a mmu-context parameter\n\nThis patch changes the tdp_enabled flag from its global\nmeaning to the mmu-context and renames it to direct_map\nthere. This is necessary for Nested SVM with emulation of\nNested Paging where we need an extra MMU context to shadow\nthe Nested Nested Page Table.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "957446afce22df9a42b9482fcd55985f4037fe66",
      "tree": "13b3965a5cb6096397ec2ed4cdd5a5a4e2ec7fe6",
      "parents": [
        "7b91409822ed37f2a58974e49498bdbe92ddd93c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 10 17:30:38 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:27 2010 +0200"
      },
      "message": "KVM: MMU: Check for root_level instead of long mode\n\nThe walk_addr function checks for !is_long_mode in its 64\nbit version. But what is meant here is a check for pae\npaging. Change the condition to really check for pae paging\nso that it also works with nested nested paging.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7b91409822ed37f2a58974e49498bdbe92ddd93c",
      "tree": "82b049d7840556e576dd33409ae2499c25bd9074",
      "parents": [
        "b9a52c4b78ec254ee00cce47d75efd89b09f13dd"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "Jes.Sorensen@redhat.com",
        "time": "Thu Sep 09 12:06:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:27 2010 +0200"
      },
      "message": "KVM: x86: Emulate MSR_EBC_FREQUENCY_ID\n\nSome operating systems store data about the host processor at the\ntime of installation, and when booted on a more uptodate cpu tries\nto read MSR_EBC_FREQUENCY_ID. This has been found with XP.\n\nSigned-off-by: Jes Sorensen \u003cJes.Sorensen@redhat.com\u003e\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b9a52c4b78ec254ee00cce47d75efd89b09f13dd",
      "tree": "4319be081ca4d1535d34fd4c3532d24e920d5fef",
      "parents": [
        "b75f4eb34122b60ee4f07ec89973d1589002c68a"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "Jes.Sorensen@redhat.com",
        "time": "Thu Sep 09 12:06:45 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:26 2010 +0200"
      },
      "message": "x86: Define MSR_EBC_FREQUENCY_ID\n\nSigned-off-by: Jes Sorensen \u003cJes.Sorensen@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b75f4eb34122b60ee4f07ec89973d1589002c68a",
      "tree": "031aa153a287f46c77da150fcb155057563f9b14",
      "parents": [
        "cda0008299a06f0d7218c6037c3c02d7a865e954"
      ],
      "author": {
        "name": "Roedel, Joerg",
        "email": "Joerg.Roedel@amd.com",
        "time": "Fri Sep 03 14:21:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:25 2010 +0200"
      },
      "message": "KVM: SVM: Clean up rip handling in vmrun emulation\n\nThis patch changes the rip handling in the vmrun emulation\npath from using next_rip to the generic kvm register access\nfunctions.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cda0008299a06f0d7218c6037c3c02d7a865e954",
      "tree": "43ce57af80bf3b963f04a057864ce766dbf263a6",
      "parents": [
        "f87f928882d080eaec8b0d76aecff003d664697d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 02 17:29:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:24 2010 +0200"
      },
      "message": "KVM: SVM: Restore correct registers after sel_cr0 intercept emulation\n\nThis patch implements restoring of the correct rip, rsp, and\nrax after the svm emulation in KVM injected a selective_cr0\nwrite intercept into the guest hypervisor. The problem was\nthat the vmexit is emulated in the instruction emulation\nwhich later commits the registers right after the write-cr0\ninstruction. So the l1 guest will continue to run with the\nl2 rip, rsp and rax resulting in unpredictable behavior.\n\nThis patch is not the final word, it is just an easy patch\nto fix the issue. The real fix will be done when the\ninstruction emulator is made aware of nested virtualization.\nUntil this is done this patch fixes the issue and provides\nan easy way to fix this in -stable too.\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": "f87f928882d080eaec8b0d76aecff003d664697d",
      "tree": "f0bb8eca9f517e12b3fff5ea9ed53d6b7eed2844",
      "parents": [
        "26e673c3003bc8f24bdbbdcb8bc91a78556f579a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 02 17:29:45 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:23 2010 +0200"
      },
      "message": "KVM: MMU: Fix 32 bit legacy paging with NPT\n\nThis patch fixes 32 bit legacy paging with NPT enabled. The\nmmu_check_root call on the top-level of the loop causes\nroot_gfn to take values (in the tdp_enabled path) which are\noutside of guest memory. So the mmu_check_root call fails at\nsome point in the loop interation causing the guest to\ntiple-fault.\nThis patch changes the mmu_check_root calls to the places\nwhere they are really necessary. As a side-effect it\nintroduces a check for the root of a pae page table too.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "26e673c3003bc8f24bdbbdcb8bc91a78556f579a",
      "tree": "c18d426385b0d75ef875cd6c9742ed3b6c930e29",
      "parents": [
        "d1e87c7ee65a20b10faf7e59dbe2cc934c32473b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Sep 03 10:22:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:23 2010 +0200"
      },
      "message": "KVM: PPC: Move of include to __KERNEL__ section\n\nWe have to protect the include for linux/of.h by __KERNEL__ so it doesn\u0027t\naccidently get referenced outside.\n\nThis patch fixes this and makes the tree compile again.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "d1e87c7ee65a20b10faf7e59dbe2cc934c32473b",
      "tree": "8f28ef6f662e391e0c7b4dcc387927eb2aba2979",
      "parents": [
        "344941beb9926418663e171a347d1a31d727fe45"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 31 04:25:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:22 2010 +0200"
      },
      "message": "KVM: PPC: Add documentation for magic page enhancements\n\nThis documents how to detect additional features inside the magic\npage when a guest maps it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "344941beb9926418663e171a347d1a31d727fe45",
      "tree": "3056a0e6f8957834579415da1a21551e83028fcf",
      "parents": [
        "21e537ba149be99c4d31a04949ca6e0770379662"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 31 03:45:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:22 2010 +0200"
      },
      "message": "KVM: PPC: Fix compile error in e500_tlb.c\n\nThe e500_tlb.c file didn\u0027t compile for me due to the following error:\n\narch/powerpc/kvm/e500_tlb.c: In function ‘kvmppc_e500_shadow_map’:\narch/powerpc/kvm/e500_tlb.c:300: error: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘gfn_t’\n\nSo let\u0027s explicitly cast the argument to make printk happy.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "21e537ba149be99c4d31a04949ca6e0770379662",
      "tree": "74b671032651e6bc5ac58663922c0c7e0737ff21",
      "parents": [
        "6f7a2bd41fa8d52cbf5f32fdf8ba659d4ce4ae59"
      ],
      "author": {
        "name": "Kyle Moffett",
        "email": "Kyle.D.Moffett@boeing.com",
        "time": "Mon Aug 30 11:38:39 2010 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:21 2010 +0200"
      },
      "message": "KVM: PPC: e500_tlb: Fix a minor copy-paste tracing bug\n\nThe kvmppc_e500_stlbe_invalidate() function was trying to pass too many\nparameters to trace_kvm_stlb_inval().  This appears to be a bad\ncopy-paste from a call to trace_kvm_stlb_write().\n\nSigned-off-by: Kyle Moffett \u003cKyle.D.Moffett@boeing.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "6f7a2bd41fa8d52cbf5f32fdf8ba659d4ce4ae59",
      "tree": "6615affe7c3561b08967cb9cf055e00dd1e3efd5",
      "parents": [
        "c5335f17651de5075313524ccc3881527268966f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 31 02:03:32 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:20 2010 +0200"
      },
      "message": "KVM: PPC: Document KVM_INTERRUPT ioctl\n\nThis adds some documentation for the KVM_INTERRUPT special cases that\nPowerPC now implements.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c5335f17651de5075313524ccc3881527268966f",
      "tree": "d81c88bb7ab6af6940d116d0fc31189f2576e21e",
      "parents": [
        "7b4203e8cb5c5d9bc49da62b7a6fa4ba876a1b3f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 30 14:03:24 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:20 2010 +0200"
      },
      "message": "KVM: PPC: Implement level interrupts for BookE\n\nBookE also wants to support level based interrupts, so let\u0027s implement\nall the necessary logic there. We need to trick a bit here because the\nirqprios are 1:1 assigned to architecture defined values. But since there\nis some space left there, we can just pick a random one and move it later\non - it\u0027s internal anyways.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "7b4203e8cb5c5d9bc49da62b7a6fa4ba876a1b3f",
      "tree": "b14c7ef749a8ec5c5b11b958a94ad25b19a3e6d4",
      "parents": [
        "17bd158006a33615270f9dba15c62f49bd447435"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 30 13:50:45 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:19 2010 +0200"
      },
      "message": "KVM: PPC: Expose level based interrupt cap\n\nNow that we have all the level interrupt magic in place, let\u0027s\nexpose the capability to user space, so it can make use of it!\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "17bd158006a33615270f9dba15c62f49bd447435",
      "tree": "05f60fb73b8f5fed8045220fe8a8adecde672dde",
      "parents": [
        "591bd8e7b4c8b9246d7a1c81ffbd28e35dc5de4e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 30 10:44:15 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:19 2010 +0200"
      },
      "message": "KVM: PPC: Implement Level interrupts on Book3S\n\nThe current interrupt logic is just completely broken. We get a notification\nfrom user space, telling us that an interrupt is there. But then user space\nexpects us that we just acknowledge an interrupt once we deliver it to the\nguest.\n\nThis is not how real hardware works though. On real hardware, the interrupt\ncontroller pulls the external interrupt line until it gets notified that the\ninterrupt was received.\n\nSo in reality we have two events: pulling and letting go of the interrupt line.\n\nTo maintain backwards compatibility, I added a new request for the pulling\npart. The letting go part was implemented earlier already.\n\nWith this in place, we can now finally start guests that do not randomly stall\nand stop to work at random times.\n\nThis patch implements above logic for Book3S.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "591bd8e7b4c8b9246d7a1c81ffbd28e35dc5de4e",
      "tree": "5d512d445bb6d74cc0d9e2bc84fc28d265d03c9c",
      "parents": [
        "ebc65874e9e8f3b8bbbc69aa49acd7489cd41c52"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 17 22:08:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:19 2010 +0200"
      },
      "message": "KVM: PPC: Enable napping only for Book3s_64\n\nBefore I incorrectly enabled napping also for BookE, which would result in\nneedless dcache flushes. Since we only need to force enable napping on\nBook3s_64 because it doesn\u0027t go into MSR_POW otherwise, we can just #ifdef\nthat code to this particular platform.\n\nReported-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "ebc65874e9e8f3b8bbbc69aa49acd7489cd41c52",
      "tree": "0c8df4aa1339a8d01ba6979c4ac6033f8b1aef51",
      "parents": [
        "0b3bafc8e5867039e265869749abbb7ea6dd2c8b"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollis_blanchard@mentor.com",
        "time": "Sat Aug 07 10:33:58 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:18 2010 +0200"
      },
      "message": "KVM: PPC: allow ppc440gp to pass the compatibility check\n\nMatch only the first part of cur_cpu_spec-\u003eplatform.\n\n440GP (the first 440 processor) is identified by the string \"ppc440gp\", while\nall later 440 processors use simply \"ppc440\".\n\nSigned-off-by: Hollis Blanchard \u003chollis_blanchard@mentor.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "0b3bafc8e5867039e265869749abbb7ea6dd2c8b",
      "tree": "636d2fff6fb1ff90b0c2e489f6c70c803b08a4e8",
      "parents": [
        "082decf29a9fe5bd5dcbfb26223e44edd9deabed"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollis_blanchard@mentor.com",
        "time": "Sat Aug 07 10:33:57 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:17 2010 +0200"
      },
      "message": "KVM: PPC: fix compilation of \"dump tlbs\" debug function\n\nMissing local variable.\n\nSigned-off-by: Hollis Blanchard \u003chollis_blanchard@mentor.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "082decf29a9fe5bd5dcbfb26223e44edd9deabed",
      "tree": "3babba7308cec2535df21d6c31dd1d7e308b71d4",
      "parents": [
        "296c19d0b4072dd9594daeec532563e56bddd119"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollis_blanchard@mentor.com",
        "time": "Sat Aug 07 10:33:56 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:17 2010 +0200"
      },
      "message": "KVM: PPC: initialize IVORs in addition to IVPR\n\nDevelopers can now tell at a glace the exact type of the premature interrupt,\ninstead of just knowing that there was some premature interrupt.\n\nSigned-off-by: Hollis Blanchard \u003chollis_blanchard@mentor.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "296c19d0b4072dd9594daeec532563e56bddd119",
      "tree": "75070ed734b71414fd42f5b3f92f679ed3023ce3",
      "parents": [
        "8b6db3bc965c204db6868d4005808b4fdc9c46d7"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Aug 15 08:39:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:16 2010 +0200"
      },
      "message": "KVM: PPC: Don\u0027t put MSR_POW in MSR\n\nOn Book3S a mtmsr with the MSR_POW bit set indicates that the OS is in\nidle and only needs to be waked up on the next interrupt.\n\nNow, unfortunately we let that bit slip into the stored MSR value which\nis not what the real CPU does, so that we ended up executing code like\nthis:\n\n\tr \u003d mfmsr();\n\t/* r containts MSR_POW */\n\tmtmsr(r | MSR_EE);\n\nThis obviously breaks, as we\u0027re going into idle mode in code sections that\ndon\u0027t expect to be idling.\n\nThis patch masks MSR_POW out of the stored MSR value on wakeup, making\nguests happy again.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8b6db3bc965c204db6868d4005808b4fdc9c46d7",
      "tree": "973d040d221d5fd3448c97b1c102d014fe6e6687",
      "parents": [
        "ad0873763a83e7b31ba87a85ec2027dd6a9d7b55"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Aug 15 08:04:24 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:15 2010 +0200"
      },
      "message": "KVM: PPC: Implement correct SID mapping on Book3s_32\n\nUp until now we were doing segment mappings wrong on Book3s_32. For Book3s_64\nwe were using a trick where we know that a single mmu_context gives us 16 bits\nof context ids.\n\nThe mm system on Book3s_32 instead uses a clever algorithm to distribute VSIDs\nacross the available range, so a context id really only gives us 16 available\nVSIDs.\n\nTo keep at least a few guest processes in the SID shadow, let\u0027s map a number of\ncontexts that we can use as VSID pool. This makes the code be actually correct\nand shouldn\u0027t hurt performance too much.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "ad0873763a83e7b31ba87a85ec2027dd6a9d7b55",
      "tree": "efc7e87eb5026732633f655d7270b66c7f586ec1",
      "parents": [
        "df08bd10266ce6132278f6b4ddc4bb0a12330b56"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 17 11:41:44 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:15 2010 +0200"
      },
      "message": "KVM: PPC: Force enable nap on KVM\n\nThere are some heuristics in the PPC power management code that try to find\nout if the particular hardware we\u0027re running on supports proper power management\nor just hangs the machine when going into nap mode.\n\nSince we know that KVM is safe with nap, let\u0027s force enable it in the PV code\nonce we\u0027re certain that we are on a KVM VM.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "df08bd10266ce6132278f6b4ddc4bb0a12330b56",
      "tree": "c0edb224d7b9fa46d18b66e6fcb622005f6e91c3",
      "parents": [
        "9ee18b1e08e6a5648aeaaf998eabc72b5304cc17"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Aug 05 15:44:41 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:14 2010 +0200"
      },
      "message": "KVM: PPC: Make PV mtmsrd L\u003d1 work with r30 and r31\n\nWe had an arbitrary limitation in mtmsrd L\u003d1 that kept us from using r30 and\nr31 as input registers. Let\u0027s get rid of that and get more potential speedups!\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "9ee18b1e08e6a5648aeaaf998eabc72b5304cc17",
      "tree": "8d474d9652d47e5287386e0c6ee6482554ad94a0",
      "parents": [
        "512ba59ed9c580b5e5575beda0041bb19a641127"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Aug 05 12:24:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:14 2010 +0200"
      },
      "message": "KVM: PPC: Update int_pending also on dequeue\n\nWhen having a decrementor interrupt pending, the dequeuing happens manually\nthrough an mtdec instruction. This instruction simply calls dequeue on that\ninterrupt, so the int_pending hint doesn\u0027t get updated.\n\nThis patch enables updating the int_pending hint also on dequeue, thus\ncorrectly enabling guests to stay in guest contexts more often.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "512ba59ed9c580b5e5575beda0041bb19a641127",
      "tree": "a262fbb9260d4af7e39f184ef2b90a8c8e02e8c2",
      "parents": [
        "cbe487fac7fc016dbabbcbe83f11384e1803a56d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Aug 05 11:26:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:13 2010 +0200"
      },
      "message": "KVM: PPC: Make PV mtmsr work with r30 and r31\n\nSo far we\u0027ve been restricting ourselves to r0-r29 as registers an mtmsr\ninstruction could use. This was bad, as there are some code paths in\nLinux actually using r30.\n\nSo let\u0027s instead handle all registers gracefully and get rid of that\nstupid limitation\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "cbe487fac7fc016dbabbcbe83f11384e1803a56d",
      "tree": "7144ae2f0b5a920aba061c101b9a0ac8305d5e31",
      "parents": [
        "df1bfa25d81f9451715ccbbb67551e0f792ceec8"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 10:39:35 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:12 2010 +0200"
      },
      "message": "KVM: PPC: Add mtsrin PV code\n\nThis is the guest side of the mtsr acceleration. Using this a guest can now\ncall mtsrin with almost no overhead as long as it ensures that it only uses\nit with (MSR_IR|MSR_DR) \u003d\u003d 0. Linux does that, so we\u0027re good.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "df1bfa25d81f9451715ccbbb67551e0f792ceec8",
      "tree": "c0a214d5acd8f152e53b11f5972d9c19fe413641",
      "parents": [
        "8e8651783ff2458f31098be7c2abacf2fcab054a"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 02:29:27 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:11 2010 +0200"
      },
      "message": "KVM: PPC: Put segment registers in shared page\n\nNow that the actual mtsr doesn\u0027t do anything anymore, we can move the sr\ncontents over to the shared page, so a guest can directly read and write\nits sr contents from guest context.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8e8651783ff2458f31098be7c2abacf2fcab054a",
      "tree": "a8afc1f2093faa9b85bda703e846ed461630f88d",
      "parents": [
        "c1c88e2fa16f979ba3e99018a53962abe852b30f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 01:06:11 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:11 2010 +0200"
      },
      "message": "KVM: PPC: Interpret SR registers on demand\n\nRight now we\u0027re examining the contents of Book3s_32\u0027s segment registers when\nthe register is written and put the interpreted contents into a struct.\n\nThere are two reasons this is bad. For starters, the struct has worse real-time\nperformance, as it occupies more ram. But the more important part is that with\nsegment registers being interpreted from their raw values, we can put them in\nthe shared page, allowing guests to mess with them directly.\n\nThis patch makes the internal representation of SRs be u32s.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c1c88e2fa16f979ba3e99018a53962abe852b30f",
      "tree": "0266ec09777ae881679361cb4fffb46446f02502",
      "parents": [
        "7508e16c9f2a20f7721d7bc47c33a7b34c873a2c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 23:23:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:10 2010 +0200"
      },
      "message": "KVM: PPC: Move BAT handling code into spr handler\n\nThe current approach duplicates the spr-\u003ebat finding logic and makes it harder\nto reuse the actually used variables. So let\u0027s move everything down to the spr\nhandler.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "7508e16c9f2a20f7721d7bc47c33a7b34c873a2c",
      "tree": "dac48c9ea56f69f4d8b9759aa51349bad0f3abdc",
      "parents": [
        "cb24c50826e0722bffb0674f088954cd4980818b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 11:32:56 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:09 2010 +0200"
      },
      "message": "KVM: PPC: Add feature bitmap for magic page\n\nWe will soon add SR PV support to the shared page, so we need some\ninfrastructure that allows the guest to query for features KVM exports.\n\nThis patch adds a second return value to the magic mapping that\nindicated to the guest which features are available.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "cb24c50826e0722bffb0674f088954cd4980818b",
      "tree": "959f41beca6c2fe44eb6e668676b3125d587c706",
      "parents": [
        "b9877ce2994cc812f00dbb2adb88c1749b6dac86"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 22:05:00 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:08 2010 +0200"
      },
      "message": "KVM: PPC: Remove unused define\n\nThe define VSID_ALL is unused. Let\u0027s remove it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "b9877ce2994cc812f00dbb2adb88c1749b6dac86",
      "tree": "e922a4f2db2f8e226f1e9cf9ec1234fe7b56a41e",
      "parents": [
        "928d78be54014e65498e289fdc3f82acc4b804a9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 21:48:53 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:08 2010 +0200"
      },
      "message": "KVM: PPC: Revert \"KVM: PPC: Use kernel hash function\"\n\nIt turns out the in-kernel hash function is sub-optimal for our subtle\nhash inputs where every bit is significant. So let\u0027s revert to the original\nhash functions.\n\nThis reverts commit 05340ab4f9a6626f7a2e8f9fe5397c61d494f445.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "928d78be54014e65498e289fdc3f82acc4b804a9",
      "tree": "fea2b1f5c4c322d3381f32ba43a4a77ec82936af",
      "parents": [
        "e7c1d14e3bf40b87e6a3f68964b36dbb2c875c0f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 21:25:33 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:07 2010 +0200"
      },
      "message": "KVM: PPC: Move slb debugging to tracepoints\n\nThis patch moves debugging printks for shadow SLB debugging over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "e7c1d14e3bf40b87e6a3f68964b36dbb2c875c0f",
      "tree": "2dd5d3e6f3ac88f532b790cc4215d349c8b95790",
      "parents": [
        "2e602847d9c2d6b487bda62bbbe550db40ca912f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 21:24:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:06 2010 +0200"
      },
      "message": "KVM: PPC: Make invalidation code more reliable\n\nThere is a race condition in the pte invalidation code path where we can\u0027t\nbe sure if a pte was invalidated already. So let\u0027s move the spin lock around\nto get rid of the race.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "2e602847d9c2d6b487bda62bbbe550db40ca912f",
      "tree": "e93c763d86987b7aa10f87f6582eacbdee9fa792",
      "parents": [
        "4cb6b7ea0cd085e6613153ad69608cad6421abcc"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 20:11:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:06 2010 +0200"
      },
      "message": "KVM: PPC: Don\u0027t flush PTEs on NX/RO hit\n\nWhen hitting a no-execute or read-only data/inst storage interrupt we were\nflushing the respective PTE so we\u0027re sure it gets properly overwritten next.\n\nAccording to the spec, this is unnecessary though. The guest issues a tlbie\nanyways, so we\u0027re safe to just keep the PTE around and have it manually removed\nfrom the guest, saving us a flush.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "4cb6b7ea0cd085e6613153ad69608cad6421abcc",
      "tree": "79c5eae68895c2ac75e09846f44782dd347a0cdd",
      "parents": [
        "c60b4cf70127941e2f944a7971a7f6b3ecb367ac"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 16:08:22 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:05 2010 +0200"
      },
      "message": "KVM: PPC: Preload magic page when in kernel mode\n\nWhen the guest jumps into kernel mode and has the magic page mapped, theres a\nvery high chance that it will also use it. So let\u0027s detect that scenario and\nmap the segment accordingly.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c60b4cf70127941e2f944a7971a7f6b3ecb367ac",
      "tree": "1cd31df67b8bad110ad9c3c6bafb26840921ff92",
      "parents": [
        "c22c31963b4b0c23250e8f520a76427b3986b73b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 13:40:30 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:04 2010 +0200"
      },
      "message": "KVM: PPC: Add tracepoints for generic spte flushes\n\nThe different ways of flusing shadow ptes have their own debug prints which use\nstupid old printk.\n\nLet\u0027s move them to tracepoints, making them easier available, faster and\npossible to activate on demand\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c22c31963b4b0c23250e8f520a76427b3986b73b",
      "tree": "5b928c047d53b3f385e7f9e736c941b00b38be0d",
      "parents": [
        "8696ee431233171b3c1cc82bae0193efc4fef2ac"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 13:38:18 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:03 2010 +0200"
      },
      "message": "KVM: PPC: Fix sid map search after flush\n\nAfter a flush the sid map contained lots of entries with 0 for their gvsid and\nhvsid value. Unfortunately, 0 can be a real value the guest searches for when\nlooking up a vsid so it would incorrectly find the host\u0027s 0 hvsid mapping which\ndoesn\u0027t belong to our sid space.\n\nSo let\u0027s also check for the valid bit that indicated that the sid we\u0027re\nlooking at actually contains useful data.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8696ee431233171b3c1cc82bae0193efc4fef2ac",
      "tree": "ee3f85a7501d0b40901bb9c310bf90ad3984680b",
      "parents": [
        "4c4eea7769d0099ea09f9bdb7aed1cc61d57c9d6"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 12:55:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:03 2010 +0200"
      },
      "message": "KVM: PPC: Move pte invalidate debug code to tracepoint\n\nThis patch moves the SPTE flush debug printk over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "4c4eea7769d0099ea09f9bdb7aed1cc61d57c9d6",
      "tree": "4a03091f6c7b9585859c8ad21ffedbf2b981c705",
      "parents": [
        "82fdee7bce546c3ce38dcf0db6096eea73dbe7bd"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 12:51:07 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:02 2010 +0200"
      },
      "message": "KVM: PPC: Add tracepoint for generic mmu map\n\nThis patch moves the generic mmu map debugging over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "82fdee7bce546c3ce38dcf0db6096eea73dbe7bd",
      "tree": "965c8dc11d6912fa139214567353d73413094f0c",
      "parents": [
        "bed1ed9860d3744cc6488831fa5672d5c7aff4be"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 11:38:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:01 2010 +0200"
      },
      "message": "KVM: PPC: Move book3s_64 mmu map debug print to trace point\n\nThis patch moves Book3s MMU debugging over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "bed1ed9860d3744cc6488831fa5672d5c7aff4be",
      "tree": "72aa499b692d2c1e136dfcac03f6028c697e4946",
      "parents": [
        "55438cc751c32cfafac52938403a86069e25b1bf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 11:06:26 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:00 2010 +0200"
      },
      "message": "KVM: PPC: Move EXIT_DEBUG partially to tracepoints\n\nWe have a debug printk on every exit that is usually #ifdef\u0027ed out. Using\ntracepoints makes a lot more sense here though, as they can be dynamically\nenabled.\n\nThis patch converts the most commonly used debug printks of EXIT_DEBUG to\ntracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "55438cc751c32cfafac52938403a86069e25b1bf",
      "tree": "4da311cf4f26fd8e00af3e7f60e46dd3d167574b",
      "parents": [
        "30644b902c5eef5328d37a2e15f1921aaca2588b"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Thu Sep 02 17:55:00 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:00 2010 +0200"
      },
      "message": "KVM: ia64: define kvm_lapic_enabled() to fix a compile error\n\nThe following patch\n\n  commit 57ce1659316f4ca298919649f9b1b55862ac3826\n  KVM: x86: In DM_LOWEST, only deliver interrupts to vcpus with enabled LAPIC\u0027s\n\nignored the fact that kvm_irq_delivery_to_apic() was also used by ia64.\n\nWe define kvm_lapic_enabled() to fix a compile error caused by this.\nThis will have the same effect as reverting the problematic patch for ia64.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "30644b902c5eef5328d37a2e15f1921aaca2588b",
      "tree": "e8b00712784cfa6a3f4787443ba3a75eebbefb19",
      "parents": [
        "eb2591865a234c6fb1162085d9b277236fa890b6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:26:33 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:59 2010 +0200"
      },
      "message": "KVM: MMU: lower the aduit frequency\n\nThe audit is very high overhead, so we need lower the frequency to assure\nthe guest is running.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "eb2591865a234c6fb1162085d9b277236fa890b6",
      "tree": "ccc0b0b6a837ca8ecc13cc2184da25fd6478860c",
      "parents": [
        "49edf87806f52a005152beaed9f4731862efc8fe"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:25:51 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:58 2010 +0200"
      },
      "message": "KVM: MMU: improve spte audit\n\nBoth audit_mappings() and audit_sptes_have_rmaps() need to walk vcpu\u0027s page\ntable, so we can do these checking in a spte walking\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "49edf87806f52a005152beaed9f4731862efc8fe",
      "tree": "5644102bac68fdb28266d2961a2763f872443ee7",
      "parents": [
        "2f4f337248cd5660040b7e09b7287a7a0a861f3f"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:25:03 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:57 2010 +0200"
      },
      "message": "KVM: MMU: improve active sp audit\n\nBoth audit_rmap() and audit_write_protection() need to walk all active sp, so\nwe can do these checking in a sp walking\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2f4f337248cd5660040b7e09b7287a7a0a861f3f",
      "tree": "262aac82066af397975f7680707965cf4a2ce969",
      "parents": [
        "8b1fe17cc7a8b2c62b400dcbfaebd96da6b4f58e"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:24:10 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:57 2010 +0200"
      },
      "message": "KVM: MMU: move audit to a separate file\n\nMove the audit code from arch/x86/kvm/mmu.c to arch/x86/kvm/mmu_audit.c\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8b1fe17cc7a8b2c62b400dcbfaebd96da6b4f58e",
      "tree": "d453a7a24163e58fee9830b42c101fd717a0f67c",
      "parents": [
        "84e0cefa8ddd5d5018d3b582e1e90585ed551757"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:22:53 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:56 2010 +0200"
      },
      "message": "KVM: MMU: support disable/enable mmu audit dynamicly\n\nAdd a r/w module parameter named \u0027mmu_audit\u0027, it can control audit\nenable/disable:\n\nenable:\n  echo 1 \u003e /sys/module/kvm/parameters/mmu_audit\n\ndisable:\n  echo 0 \u003e /sys/module/kvm/parameters/mmu_audit\n\nThis patch not change the logic\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "84e0cefa8ddd5d5018d3b582e1e90585ed551757",
      "tree": "4faa04c04b8fc555584cc806acd7e31c4d879d42",
      "parents": [
        "9ed049c3b6230b68985da31f8243d4bec95e0b3a"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "Jes.Sorensen@redhat.com",
        "time": "Wed Sep 01 11:42:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:55 2010 +0200"
      },
      "message": "KVM: Fix guest kernel crash on MSR_K7_CLK_CTL\n\nMSR_K7_CLK_CTL is a no longer documented MSR, which is only relevant\non said old AMD CPU models. This change returns the expected value,\nwhich the Linux kernel is expecting to avoid writing back the MSR,\nplus it ignores all writes to the MSR.\n\nSigned-off-by: Jes Sorensen \u003cJes.Sorensen@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ed049c3b6230b68985da31f8243d4bec95e0b3a",
      "tree": "dd2eda8711ee3ae3ecee5cbb94e635e1fb78297a",
      "parents": [
        "7d9ddaedd8a9d0442fda5b5a90f22a33becbd235"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 30 12:18:24 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:54 2010 +0200"
      },
      "message": "KVM: i8259: Make ICW1 conform to spec\n\nICW is not a full reset, instead it resets a limited number of registers\nin the PIC.  Change ICW1 emulation to only reset those registers.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7d9ddaedd8a9d0442fda5b5a90f22a33becbd235",
      "tree": "e1784c42c41e2a981378e3a24e5befc6c6fc9d79",
      "parents": [
        "a4d4a7c1880db98a521bc27c15348185fa30c256"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 30 17:12:28 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:54 2010 +0200"
      },
      "message": "KVM: x86 emulator: clean up control flow in x86_emulate_insn()\n\nx86_emulate_insn() is full of things like\n\n    if (rc !\u003d X86EMUL_CONTINUE)\n        goto done;\n    break;\n\nconsolidate all of those at the end of the switch statement.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a4d4a7c1880db98a521bc27c15348185fa30c256",
      "tree": "d9af153679aa4a21e5d3170767e743974b2a42e1",
      "parents": [
        "b9eac5f4d146dc6cb88c8e6d891f8abe60493338"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Aug 03 15:05:46 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:53 2010 +0200"
      },
      "message": "KVM: x86 emulator: fix group 11 decoding for reg !\u003d 0\n\nThese are all undefined.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    }
  ],
  "next": "b9eac5f4d146dc6cb88c8e6d891f8abe60493338"
}
