)]}'
{
  "log": [
    {
      "commit": "2ddfd20e7c55421435cbf95a5ed3dd6e423cf934",
      "tree": "bd873a6318dbdffe059b0c12efc5c5ff228dd2e8",
      "parents": [
        "de067814d6b69030d0030e1c5b3dbaf0385aae41"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 22 10:37:48 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 14:08:06 2008 +0200"
      },
      "message": "namespacecheck: automated fixes\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54aaacee35afd594bba3244c20b02cc98d80a961",
      "tree": "66488043384eca7851f752bcfdbdec90ef328884",
      "parents": [
        "1fc9d2bf75bbe5482cc503681dae0935df29b6b0"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed May 14 02:29:06 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 18 14:39:39 2008 +0300"
      },
      "message": "KVM: LAPIC: ignore pending timers if LVTT is disabled\n\nOnly use the APIC pending timers count to break out of HLT emulation if\nthe timer vector is enabled.\n\nCertain configurations of Windows simply mask out the vector without\ndisabling the timer.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "eedaa4e2af681a266c084c410238855bdfbc2787",
      "tree": "f9cb896f19b8b67ad01159bfd48cb1744ba4dd28",
      "parents": [
        "5ca9fd54e3d75489ff9c70d7af6e0b9a390dd656"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue May 06 13:32:54 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 18 14:34:15 2008 +0300"
      },
      "message": "KVM: PIT: take inject_pending into account when emulating hlt\n\nOtherwise hlt emulation fails if PIT is not injecting IRQ\u0027s.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "107d6d2efa9eb8c48d050936d8019230ac6b24cd",
      "tree": "fc1d94a18e3f909e31c900ac698811831ed0abb2",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon May 05 14:58:26 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 18 14:34:14 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix writes to registers with modrm encodings\n\nA register destination encoded with a mod\u003d3 encoding left dst.ptr NULL.\nNormally we don\u0027t trap writes to registers, but in the case of smsw, we do.\n\nFix by pointing dst.ptr at the destination register.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "93df766322ba1db2801e4b826985a4932dd75866",
      "tree": "27e4dfcfa8e1ab54f42645d03b3c0a52aeddcfc9",
      "parents": [
        "bc1a34f1bf354fabc03e3f465620c80e510d0e8f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri May 02 13:23:10 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:49 2008 +0300"
      },
      "message": "KVM: MMU: Allow more than PAGES_PER_HPAGE write protections per large page\n\nnonpae guests can call rmap_write_protect twice per page (for page tables)\nor four times per page (for page directories), triggering a bogus warning.\n\nRemove the warning.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bc1a34f1bf354fabc03e3f465620c80e510d0e8f",
      "tree": "f16228a547097d8d7ad621064c463f3e92cc9557",
      "parents": [
        "b4f14abd95cd8d42f08438f1c4ec3eafe41054ee"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Thu May 01 18:43:33 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:48 2008 +0300"
      },
      "message": "KVM: avoid fx_init() schedule in atomic\n\nThis make sure not to schedule in atomic during fx_init. I also\nchanged the name of fpu_init to fx_finit to avoid duplicating the name\nwith fpu_init that is already used in the kernel, this makes grep\nsimpler if nothing else.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b4f14abd95cd8d42f08438f1c4ec3eafe41054ee",
      "tree": "1a76ef8cd16ece3ee99c78d07795e5d779b9912b",
      "parents": [
        "ece15babfa514e06118f62f4df2c757d6209f4f0"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Apr 30 17:59:04 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:47 2008 +0300"
      },
      "message": "KVM: Avoid spurious execeptions after setting registers\n\nClear pending exceptions when setting new register values. This avoids\nspurious exceptions after restoring a vcpu state or after\nreset-on-triple-fault.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ece15babfa514e06118f62f4df2c757d6209f4f0",
      "tree": "46eadfa87b6adb88a2252c15f0468e8330968001",
      "parents": [
        "dc7457ea52f88539dc72925360e6068d5c938a0f"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Apr 30 13:23:54 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:46 2008 +0300"
      },
      "message": "KVM: PIT: support mode 4\n\nThe in-kernel PIT emulation ignores pending timers if operating under\nmode 4, which for example DragonFlyBSD uses (and Plan9 too, apparently).\n\nMode 4 seems to be similar to one-shot mode, other than the fact that it\nstarts counting after the next CLK pulse once programmed, while mode 1\nstarts counting immediately, so add a FIXME to enhance precision.\n\nFixes sourceforge bug 1952988.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "dc7457ea52f88539dc72925360e6068d5c938a0f",
      "tree": "944de4de942d1e95d449b8a87ff47581f1720342",
      "parents": [
        "de368dceb33c3c068dbde1407aff75cd8e126f04"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Apr 30 16:13:36 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:45 2008 +0300"
      },
      "message": "KVM: x86 emulator: disable writeback on lmsw\n\nThe recent changes allowing memory operands with lmsw and smsw left\nlmsw with writeback enabled.  Since lmsw has no oridinary destination\noperand, the dst pointer was not initialized, resulting in an oops.\n\nClose the hole by disabling writeback for lmsw.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3fe913e7c550a869e250d04c34410f7a6e263f7c",
      "tree": "557f9a5011ea5440fd95e4fd41183bda204b270b",
      "parents": [
        "1439442c7b257b47a83aea4daed8fbf4a32cdff9"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Apr 28 18:23:52 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:43 2008 +0300"
      },
      "message": "KVM: x86: task switch: fix wrong bit setting for the busy flag\n\nThe busy bit is bit 1 of the type field, not bit 8.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1439442c7b257b47a83aea4daed8fbf4a32cdff9",
      "tree": "c85c885ef200480ab67342ddc63c8bc1d2d4e148",
      "parents": [
        "b7ebfb0509692cd923e31650f81ed4d79c9a3e59"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Mon Apr 28 12:24:45 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:42 2008 +0300"
      },
      "message": "KVM: VMX: Enable EPT feature for KVM\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b7ebfb0509692cd923e31650f81ed4d79c9a3e59",
      "tree": "def19d1472976c479287bc00384706e1e9fca461",
      "parents": [
        "0d15029895051904e31925ec63525cc3a637f7de"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 21:44:52 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:41 2008 +0300"
      },
      "message": "KVM: VMX: Prepare an identity page table for EPT in real mode\n\n[aliguory: plug leak]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1ac593c97eb229da44819f66fea47975537c1177",
      "tree": "f381011e4c84d67bb6093402429894083a932879",
      "parents": [
        "7b52345e2c4c7333bf7eba8034ffc4683fa63c91"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 21:44:42 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:39 2008 +0300"
      },
      "message": "KVM: MMU: Remove #ifdef CONFIG_X86_64 to support 4 level EPT\n\nCurrently EPT level is 4 for both pae and x86_64. The patch remove the #ifdef\nfor alloc root_hpa and free root_hpa to support EPT.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7b52345e2c4c7333bf7eba8034ffc4683fa63c91",
      "tree": "3b7bc1cb9c067ae18fcfcee33d57ab3a6d46f9d1",
      "parents": [
        "67253af52e9133fb4cfbf7a2448a2d3524d1fa6c"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 21:13:50 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:38 2008 +0300"
      },
      "message": "KVM: MMU: Add EPT support\n\nEnable kvm_set_spte() to generate EPT entries.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "67253af52e9133fb4cfbf7a2448a2d3524d1fa6c",
      "tree": "5098624f90989a3844bb1b494658ea400d629b1f",
      "parents": [
        "8c6d6adc6b87daa364ee9deb2e966021d37a7622"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 10:20:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:34 2008 +0300"
      },
      "message": "KVM: Add kvm_x86_ops get_tdp_level()\n\nThe function get_tdp_level() provided the number of tdp level for EPT and\nNPT rather than the NPT specific macro.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8c6d6adc6b87daa364ee9deb2e966021d37a7622",
      "tree": "125cac3e4fa7a3495880e7b1c942e85eb6ea6bc6",
      "parents": [
        "d56f546db97795dca5aa575b00b0e9886895ac87"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 10:17:08 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 12:26:38 2008 +0300"
      },
      "message": "KVM: MMU: Move some definitions to a header file\n\nMove some definitions to mmu.h in order to allow building common table\nentries between EPT and non-EPT.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d56f546db97795dca5aa575b00b0e9886895ac87",
      "tree": "4f92d84ddffde04031084447c048037558b994af",
      "parents": [
        "afa26be86b65a7183ceac29bdf1f51d6fc6932f0"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 10:13:16 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 12:26:38 2008 +0300"
      },
      "message": "KVM: VMX: EPT Feature Detection\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "960b3991698872f68f09d51f4c2794ad484fe1fd",
      "tree": "a5b2d84dfb0f7009538c1c07ca5e244da2be3956",
      "parents": [
        "1336028b9a1fb33537eab8caec66e812eb8cad63"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Apr 16 17:19:06 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:45 2008 +0300"
      },
      "message": "KVM: MMU: kvm_pv_mmu_op should not take mmap_sem\n\nkvm_pv_mmu_op should not take mmap_sem. All gfn_to_page() callers down\nin the MMU processing will take it if necessary, so as it is it can\ndeadlock.\n\nApparently a leftover from the days before slots_lock.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1336028b9a1fb33537eab8caec66e812eb8cad63",
      "tree": "bd9aa8ff8f72cf6cbd109e5bf0c2206ef2374bd3",
      "parents": [
        "aaf697e4e02bf6f7dd6105877bc58ebdbf612d66"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 17:01:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:44 2008 +0300"
      },
      "message": "KVM: SVM: remove selective CR0 comment\n\nThere is not selective cr0 intercept bug. The code in the comment sets the\nCR0.PG bit. But KVM sets the CR4.PG bit for SVM always to implement the paged\nreal mode. So the \u0027mov %eax,%cr0\u0027 instruction does not change the CR0.PG bit.\nSelective CR0 intercepts only occur when a bit is actually changed. So its the\nright behavior that there is no intercept on this instruction.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aaf697e4e02bf6f7dd6105877bc58ebdbf612d66",
      "tree": "9ffe449b454b11cc5fe88c17cc406e3740794512",
      "parents": [
        "aaacfc9ae225e88695e610a35627d2256dc08633"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:19 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:43 2008 +0300"
      },
      "message": "KVM: SVM: remove now obsolete FIXME comment\n\nWith the usage of the V_TPR field this comment is now obsolete.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aaacfc9ae225e88695e610a35627d2256dc08633",
      "tree": "b8cbde694378ab340b4cc3ee2442ae87b9bb6096",
      "parents": [
        "d7bf8221a3037d0d0760a1ccf1833bda03213abf"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:18 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:43 2008 +0300"
      },
      "message": "KVM: SVM: disable CR8 intercept when tpr is not masking interrupts\n\nThis patch disables the intercept of CR8 writes if the TPR is not masking\ninterrupts. This reduces the total number CR8 intercepts to below 1 percent of\nwhat we have without this patch using Windows 64 bit guests.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d7bf8221a3037d0d0760a1ccf1833bda03213abf",
      "tree": "04735d97c44d77f39e874e55b814e88ad9fb612c",
      "parents": [
        "ec7cf6903ffced20098e2bcc27a184172836dfb9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:17 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:42 2008 +0300"
      },
      "message": "KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled\n\nIf the CR8 write intercept is disabled the V_TPR field of the VMCB needs to be\nsynced with the TPR field in the local apic.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ec7cf6903ffced20098e2bcc27a184172836dfb9",
      "tree": "b1252baf58aa0a4ff32078b519830e449476bcb5",
      "parents": [
        "649d68643ebf02f31859ffbb16676aa44c72e6e9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:16 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:41 2008 +0300"
      },
      "message": "KVM: export kvm_lapic_set_tpr() to modules\n\nThis patch exports the kvm_lapic_set_tpr() function from the lapic code to\nmodules. It is required in the kvm-amd module to optimize CR8 intercepts.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "649d68643ebf02f31859ffbb16676aa44c72e6e9",
      "tree": "df28701a2ea2854765d41ba54ae8b3cb56ad0b47",
      "parents": [
        "bbf45ba57eaec56569918a8bab96ab653bd45ec1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:15 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:40 2008 +0300"
      },
      "message": "KVM: SVM: sync TPR value to V_TPR field in the VMCB\n\nThis patch adds syncing of the lapic.tpr field to the V_TPR field of the VMCB.\nWith this change we can safely remove the CR8 read intercept.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f9b7aab35cc6c3542203354d9fc4ec8572074abc",
      "tree": "ab8164dcfa5d49a4db66581af247a4140beae35a",
      "parents": [
        "16286d082d99cb41e16938fa6ba84604229f4b77"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 23:46:37 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:35 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix lea to really get the effective address\n\nWe never hit this, since there is currently no reason to emulate lea.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "16286d082d99cb41e16938fa6ba84604229f4b77",
      "tree": "4320f07eea5e48e617c03d732b178d9d99f81f41",
      "parents": [
        "66b85505736dbd3a3a0ed5ae38c12bb218b231c0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 14:40:50 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:34 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix smsw and lmsw with a memory operand\n\nlmsw and smsw were implemented only with a register operand.  Extend them\nto support a memory operand as well.  Fixes Windows running some display\ncompatibility test on AMD hosts.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "66b85505736dbd3a3a0ed5ae38c12bb218b231c0",
      "tree": "1515cb412b64efc4b45db4e861943f211f8688f2",
      "parents": [
        "a79d2f1805da02d7837ec2240f0093c53272fb3a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 23:27:07 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:33 2008 +0300"
      },
      "message": "KVM: x86 emulator: initialize src.val and dst.val for register operands\n\nThis lets us treat the case where mod \u003d\u003d 3 in the same manner as other cases.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a79d2f1805da02d7837ec2240f0093c53272fb3a",
      "tree": "351da350fd28c3fe31c1b527876ee6603a8436cf",
      "parents": [
        "e9571ed54b2a290d61b98ad6f369f963159fe6da"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 13:10:21 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:32 2008 +0300"
      },
      "message": "KVM: SVM: force a new asid when initializing the vmcb\n\nShutdown interception clears the vmcb, leaving the asid at zero (which is\nillegal.  so force a new asid on vmcb initialization.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e9571ed54b2a290d61b98ad6f369f963159fe6da",
      "tree": "8767ba834196c08da817e545542ff5a681df96e8",
      "parents": [
        "62d9f0dbc92d7e398fde53fc6021338393522e68"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 15:01:22 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:32 2008 +0300"
      },
      "message": "KVM: fix kvm_vcpu_kick vs __vcpu_run race\n\nThere is a window open between testing of pending IRQ\u0027s\nand assignment of guest_mode in __vcpu_run.\n\nInjection of IRQ\u0027s can race with __vcpu_run as follows:\n\nCPU0                                CPU1\nkvm_x86_ops-\u003erun()\nvcpu-\u003eguest_mode \u003d 0                SET_IRQ_LINE ioctl\n..\nkvm_x86_ops-\u003einject_pending_irq\nkvm_cpu_has_interrupt()\n\n                                    apic_test_and_set_irr()\n                                    kvm_vcpu_kick\n                                    if (vcpu-\u003eguest_mode)\n                                        send_ipi()\n\nvcpu-\u003eguest_mode \u003d 1\n\nSo move guest_mode\u003d1 assignment before -\u003einject_pending_irq, and make\nsure that it won\u0027t reorder after it.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "62d9f0dbc92d7e398fde53fc6021338393522e68",
      "tree": "028e62807ead3db11f15694323743b90c8211ef8",
      "parents": [
        "a45352908b88d383bc40e1e4d1a6cc5bbcefc895"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 13:24:45 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:16 2008 +0300"
      },
      "message": "KVM: add ioctls to save/store mpstate\n\nSo userspace can save/restore the mpstate during migration.\n\n[avi: export the #define constants describing the value]\n[christian: add s390 stubs]\n[avi: ditto for ia64]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a45352908b88d383bc40e1e4d1a6cc5bbcefc895",
      "tree": "be0f519e05f8df4409b595928338b2939ed64f6a",
      "parents": [
        "3d80840d96127401ba6aeadd813c3a15b84e70fe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 13 17:54:35 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:04:13 2008 +0300"
      },
      "message": "KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_*\n\nWe wish to export it to userspace, so move it into the kvm namespace.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3d80840d96127401ba6aeadd813c3a15b84e70fe",
      "tree": "b3e083c651f09fee362d88f0d1fc140194f2431d",
      "parents": [
        "3564990af1b9f77a63692c1079e9c41af229f066"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 14:53:26 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:04:11 2008 +0300"
      },
      "message": "KVM: hlt emulation should take in-kernel APIC/PIT timers into account\n\nTimers that fire between guest hlt and vcpu_block\u0027s add_wait_queue() are\nignored, possibly resulting in hangs.\n\nAlso make sure that atomic_inc and waitqueue_active tests happen in the\nspecified order, otherwise the following race is open:\n\nCPU0                                        CPU1\n                                            if (waitqueue_active(wq))\nadd_wait_queue()\nif (!atomic_read(pit_timer-\u003epending))\n    schedule()\n                                            atomic_inc(pit_timer-\u003epending)\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3564990af1b9f77a63692c1079e9c41af229f066",
      "tree": "5420c89cbab3f70db4efbb0c4042cfb42a707115",
      "parents": [
        "d4c9ff2d1b78e385471b3f4d80c0596909926ef7"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 16:04:32 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:23 2008 +0300"
      },
      "message": "KVM: SVM: do not intercept task switch with NPT\n\nWhen KVM uses NPT there is no reason to intercept task switches. This patch\nremoves the intercept for it in that case.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d4c9ff2d1b78e385471b3f4d80c0596909926ef7",
      "tree": "5551c0f6c56439df39ca434115840f4e36cee2ea",
      "parents": [
        "048354c8e6bf95e7347f623d8a0da5b89e216405"
      ],
      "author": {
        "name": "Feng(Eric) Liu",
        "email": "eric.e.liu@intel.com",
        "time": "Thu Apr 10 08:47:53 2008 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:22 2008 +0300"
      },
      "message": "KVM: Add kvm trace userspace interface\n\nThis interface allows user a space application to read the trace of kvm\nrelated events through relayfs.\n\nSigned-off-by: Feng (Eric) Liu \u003ceric.e.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2714d1d3d6be882b97cd0125140fccf9976a460a",
      "tree": "57b654cafff076ae95b62b7763113b1ef8511eb5",
      "parents": [
        "53371b5098543ab09dcb0c7ce31da887dbe58c62"
      ],
      "author": {
        "name": "Feng (Eric) Liu",
        "email": "eric.e.liu@intel.com",
        "time": "Thu Apr 10 15:31:10 2008 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:19 2008 +0300"
      },
      "message": "KVM: Add trace markers\n\nTrace markers allow userspace to trace execution of a virtual machine\nin order to monitor its performance.\n\nSigned-off-by: Feng (Eric) Liu \u003ceric.e.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "53371b5098543ab09dcb0c7ce31da887dbe58c62",
      "tree": "5453a27cb8909c3604f81d4cc8811542b3f48d10",
      "parents": [
        "6394b6494c0a352a2db3ea3e891ba7aeea7c1441"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:18 2008 +0300"
      },
      "message": "KVM: SVM: add intercept for machine check exception\n\nTo properly forward a MCE occured while the guest is running to the host, we\nhave to intercept this exception and call the host handler by hand. This is\nimplemented by this patch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6394b6494c0a352a2db3ea3e891ba7aeea7c1441",
      "tree": "71c4d3e7cda2adcdfd3717bc40aa4e2b89c87e53",
      "parents": [
        "ec077263b2bb841d973d82342b7fbc07bbad4246"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:29 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:18 2008 +0300"
      },
      "message": "KVM: SVM: align shadow CR4.MCE with host\n\nThis patch aligns the host version of the CR4.MCE bit with the CR4 active in\nthe guest. This is necessary to get MCE exceptions when the guest is running.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ec077263b2bb841d973d82342b7fbc07bbad4246",
      "tree": "f39213fad32b5b56d3ef8a120201bba32dee237f",
      "parents": [
        "258ac8e066622df3fef94c8adf32596faae5ab71"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:28 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:17 2008 +0300"
      },
      "message": "KVM: SVM: indent svm_set_cr4 with tabs instead of spaces\n\nThe svm_set_cr4 function is indented with spaces. This patch replaces\nthem with tabs.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "35149e2129fe34fc8cb5917e1ecf5156b0fa3415",
      "tree": "b67cb16fa6054769ee476fce99a32601b126af10",
      "parents": [
        "fdae862f91728aec6dd8fd62cd2398868c906b6b"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Apr 02 14:46:56 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:15 2008 +0300"
      },
      "message": "KVM: MMU: Don\u0027t assume struct page for x86\n\nThis patch introduces a gfn_to_pfn() function and corresponding functions like\nkvm_release_pfn_dirty().  Using these new functions, we can modify the x86\nMMU to no longer assume that it can always get a struct page for any given gfn.\n\nWe don\u0027t want to eliminate gfn_to_page() entirely because a number of places\nassume they can do gfn_to_page() and then kmap() the results.  When we support\nIO memory, gfn_to_page() will fail for IO pages although gfn_to_pfn() will\nsucceed.\n\nThis does not implement support for avoiding reference counting for reserved\nRAM or for IO memory.  However, it should make those things pretty straight\nforward.\n\nSince we\u0027re only introducing new common symbols, I don\u0027t think it will break\nthe non-x86 architectures but I haven\u0027t tested those.  I\u0027ve tested Intel,\nAMD, NPT, and hugetlbfs with Windows and Linux guests.\n\n[avi: fix overflow when shifting left pfns by adding casts]\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bed1d1dfc4a458d82bcd258082638cbba860190d",
      "tree": "344f9cbf54082161e54ba77164f55aec695b9403",
      "parents": [
        "fcd6dbac9267c1c06a205ad8bb4bd027c0ace7f7"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 04 14:56:44 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:58 2008 +0300"
      },
      "message": "KVM: MMU: prepopulate guest pages after write-protecting\n\nZdenek reported a bug where a looping \"dmsetup status\" eventually hangs\non SMP guests.\n\nThe problem is that kvm_mmu_get_page() prepopulates the shadow MMU\nbefore write protecting the guest page tables. By doing so, it leaves a\nwindow open where the guest can mark a pte as present while the host has\nshadow cached such pte as \"notrap\". Accesses to such address will fault\nin the guest without the host having a chance to fix the situation.\n\nFix by moving the write protection before the pte prefetch.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fcd6dbac9267c1c06a205ad8bb4bd027c0ace7f7",
      "tree": "a9645557d1d20d344f21ab464137a64896598d58",
      "parents": [
        "d39f13b0da7fa7f705fbe6c80995205d0380bc7a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Apr 03 12:02:21 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:57 2008 +0300"
      },
      "message": "KVM: MMU: Only mark_page_accessed() if the page was accessed by the guest\n\nIf the accessed bit is not set, the guest has never accessed this page\n(at least through this spte), so there\u0027s no need to mark the page\naccessed.  This provides more accurate data for the eviction algortithm.\n\nNoted by Andrea Arcangeli.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3d45830c2b11a9d756faae161742b7d1ec417f7e",
      "tree": "5c0fcbb7d3191d114cc7ef9049815caf4f242a85",
      "parents": [
        "3ee16c814511cd58f956b47b9c7654f57f674688"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 25 11:26:13 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:54 2008 +0300"
      },
      "message": "KVM: Free apic access page on vm destruction\n\nNoticed by Marcelo Tosatti.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3ee16c814511cd58f956b47b9c7654f57f674688",
      "tree": "38eb024cd6292c85b57a8ea7b2a761e174db3884",
      "parents": [
        "3200f405a1e8e06c8634f11d33614455baa4e6be"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Sun Mar 30 15:17:21 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:53 2008 +0300"
      },
      "message": "KVM: MMU: allow the vm to shrink the kvm mmu shadow caches\n\nAllow the Linux memory manager to reclaim memory in the kvm shadow cache.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3200f405a1e8e06c8634f11d33614455baa4e6be",
      "tree": "806116d2495dd7fd93b5c0db98a72fe4fa854787",
      "parents": [
        "25c5f225beda4fbea878ed8b6203ab4ecc7de2d1"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Sat Mar 29 20:17:59 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:52 2008 +0300"
      },
      "message": "KVM: MMU: unify slots_lock usage\n\nUnify slots_lock acquision around vcpu_run(). This is simpler and less\nerror-prone.\n\nAlso fix some callsites that were not grabbing the lock properly.\n\n[avi: drop slots_lock while in guest mode to avoid holding the lock\n      for indefinite periods]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "25c5f225beda4fbea878ed8b6203ab4ecc7de2d1",
      "tree": "b15dc6e9a311c556a9c5ed1ccbc0ed0830d24b23",
      "parents": [
        "e976a2b997fc4ad70ccc53acfe62811c4aaec851"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Mar 28 13:18:56 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:52 2008 +0300"
      },
      "message": "KVM: VMX: Enable MSR Bitmap feature\n\nMSR Bitmap controls whether the accessing of an MSR causes VM Exit.\nEliminating exits on automatically saved and restored MSRs yields a\nsmall performance gain.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "37817f2982d0f559f90cecc66e150dd9d2c2df05",
      "tree": "45114b5720d7a13bdbe48cc6a75dc6de03d6fcd2",
      "parents": [
        "2e4d2653497856b102c90153f970c9e344ba96c6"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Mar 24 23:14:53 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:39 2008 +0300"
      },
      "message": "KVM: x86: hardware task switching support\n\nThis emulates the x86 hardware task switch mechanism in software, as it is\nunsupported by either vmx or svm.  It allows operating systems which use it,\nlike freedos, to run as kvm guests.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e4d2653497856b102c90153f970c9e344ba96c6",
      "tree": "8a1929d5caa1f9436c25a104f75403fb2b3e5e2f",
      "parents": [
        "4c9fc8ef501790732ed035585b491756b75ea4c6"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Mar 24 19:38:34 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:38 2008 +0300"
      },
      "message": "KVM: x86: add functions to get the cpl of vcpu\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4c9fc8ef501790732ed035585b491756b75ea4c6",
      "tree": "5d5fd13456178c756170a6dabbec99c52eeeb6be",
      "parents": [
        "268fe02ae058c0c5e84ad678d67e5d7b013e664f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Mar 24 18:15:14 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:37 2008 +0300"
      },
      "message": "KVM: VMX: Add module option to disable flexpriority\n\nUseful for debugging.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "268fe02ae058c0c5e84ad678d67e5d7b013e664f",
      "tree": "325cc9f186bcf921082af0d3cc22467a74bb5da2",
      "parents": [
        "0b49ea8659fd3b5005823e02d2d0a775521770e5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 23 18:36:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:36 2008 +0300"
      },
      "message": "KVM: no longer EXPERIMENTAL\n\nLong overdue.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0b49ea8659fd3b5005823e02d2d0a775521770e5",
      "tree": "8ae968a018fac99eb923714e77ae87e02fe11d51",
      "parents": [
        "855149aaa90016c576a0e684361a34f8047307d0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 23 15:06:23 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:35 2008 +0300"
      },
      "message": "KVM: MMU: Introduce and use spte_to_page()\n\nEncapsulate the pte mask\u0027n\u0027shift in a function.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "855149aaa90016c576a0e684361a34f8047307d0",
      "tree": "bfca7a0e52e4a4e7857a2e9fc0ff9f98e9f26dfa",
      "parents": [
        "69a9f69bb24d6d3dbf3d2ba542ddceeda40536d5"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Thu Mar 20 18:17:24 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:34 2008 +0300"
      },
      "message": "KVM: MMU: fix dirty bit setting when removing write permissions\n\nWhen mmu_set_spte() checks if a page related to spte should be release as\ndirty or clean, it check if the shadow pte was writeble, but in case\nrmap_write_protect() is called called it is possible for shadow ptes that were\nwriteble to become readonly and therefor mmu_set_spte will release the pages\nas clean.\n\nThis patch fix this issue by marking the page as dirty inside\nrmap_write_protect().\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "947da53830690cbd77d7f2b625d0df1f161ffd54",
      "tree": "32db5b7e97b5df34ada31ac9de8f3250b90dfd55",
      "parents": [
        "97646202bc3f190dfcb48a3d506ea2445717d392"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 18 11:05:52 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:33 2008 +0300"
      },
      "message": "KVM: MMU: Set the accessed bit on non-speculative shadow ptes\n\nIf we populate a shadow pte due to a fault (and not speculatively due to a\npte write) then we can set the accessed bit on it, as we know it will be\nset immediately on the next guest instruction.  This saves a read-modify-write\noperation.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2f333bcb4edd8daef99dabe4e7df8277af73cff1",
      "tree": "c984466e7756e0910bf470a094558b52bd10df33",
      "parents": [
        "9f81128591ca1e9907f2e7a7b195e33232167d60"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:37 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:27 2008 +0300"
      },
      "message": "KVM: MMU: hypercall based pte updates and TLB flushes\n\nHypercall based pte updates are faster than faults, and also allow use\nof the lazy MMU mode to batch operations.\n\nDon\u0027t report the feature if two dimensional paging is enabled.\n\n[avi:\n - one mmu_op hypercall instead of one per op\n - allow 64-bit gpa on hypercall\n - don\u0027t pass host errors (-ENOMEM) to guest]\n\n[akpm: warning fix on i386]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9f81128591ca1e9907f2e7a7b195e33232167d60",
      "tree": "2abca5f4181f3bc0570bab60d85b473a595f1285",
      "parents": [
        "0cf1bfd2737f41e59f974a61eab11af206d2042a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 02 14:06:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:26 2008 +0300"
      },
      "message": "KVM: Provide unlocked version of emulator_write_phys()\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc",
      "tree": "dfa62426cf55dfb2fad66e924eab34e9840bff12",
      "parents": [
        "308b0f239e8d6754b8b903d279e5b5b987e257ac"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:36 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:24 2008 +0300"
      },
      "message": "KVM: add basic paravirt support\n\nAdd basic KVM paravirt support. Avoid vm-exits on IO delays.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "308b0f239e8d6754b8b903d279e5b5b987e257ac",
      "tree": "7d5787dd227874b89d1e5935080aa903dc7f1875",
      "parents": [
        "e0f63cb9277b64850854aee301762beeeb463473"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Mar 13 10:22:26 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:23 2008 +0300"
      },
      "message": "KVM: Add reset support for in kernel PIT\n\nSeparate the reset part and prepare for reset support.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e0f63cb9277b64850854aee301762beeeb463473",
      "tree": "ae10bac92ee6cc1a658b479a311fac67ebd3524c",
      "parents": [
        "7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Tue Mar 04 00:50:59 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:22 2008 +0300"
      },
      "message": "KVM: Add save/restore supporting of in kernel PIT\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a",
      "tree": "37a89d5c10869a9ada59df75b49d685708661434",
      "parents": [
        "4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Mon Jan 28 05:10:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:21 2008 +0300"
      },
      "message": "KVM: In kernel PIT model\n\nThe patch moves the PIT model from userspace to kernel, and increases\nthe timer accuracy greatly.\n\n[marcelo: make last_injected_time per-guest]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nTested-and-Acked-by: Alex Davis \u003calex14641@yahoo.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd",
      "tree": "d078b35ea7744f3dc3c2549ad5ef01073dd99e96",
      "parents": [
        "019960ae9933161c2809fa4ee608ba30d9639fd2"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Mar 05 09:33:44 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: Remove pointless desc_ptr #ifdef\n\nThe desc_struct changes left an unnecessary #ifdef; remove it.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "019960ae9933161c2809fa4ee608ba30d9639fd2",
      "tree": "c4ded864dfd339a2c64451220d0866eba854b63c",
      "parents": [
        "b8688d51bbe4872fbcec751e04369606082ac610"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 04 10:44:51 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: VMX: Don\u0027t adjust tsc offset forward\n\nMost Intel hosts have a stable tsc, and playing with the offset only\nreduces accuracy.  By limiting tsc offset adjustment only to forward updates,\nwe effectively disable tsc offset adjustment on these hosts.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b8688d51bbe4872fbcec751e04369606082ac610",
      "tree": "a48191f442d49530265dc92e98fc4877d2e286f7",
      "parents": [
        "71c4dfafc0932d92cc99c7e839d25174b0ce10a1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Mar 03 12:59:56 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: replace remaining __FUNCTION__ occurances\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "71c4dfafc0932d92cc99c7e839d25174b0ce10a1",
      "tree": "991320ed3bce4cc2665721454c7f10a69fb98b1a",
      "parents": [
        "3e4bb3ac9e0ada5df5f6729648d403ea9f071d10"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Feb 26 16:49:16 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: detect if VCPU triple faults\n\nIn the current inject_page_fault path KVM only checks if there is another PF\npending and injects a DF then. But it has to check for a pending DF too to\ndetect a shutdown condition in the VCPU.  If this is not detected the VCPU goes\nto a PF -\u003e DF -\u003e PF loop when it should triple fault. This patch detects this\ncondition and handles it with an KVM_SHUTDOWN exit to userspace.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2d3ad1f40c841bd3e97d30d423eea53915d085dc",
      "tree": "39f4a5a7814cc306d002366e1af922d32b7713c5",
      "parents": [
        "05da45583de9b383dc81dd695fe248431d6c9f2b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Feb 24 11:20:43 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:26 2008 +0300"
      },
      "message": "KVM: Prefix control register accessors with kvm_ to avoid namespace pollution\n\nNames like \u0027set_cr3()\u0027 look dangerously close to affecting the host.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "05da45583de9b383dc81dd695fe248431d6c9f2b",
      "tree": "a76d699e60aca4f775d5f67254214654235e2e17",
      "parents": [
        "2e53d63acba75795aa226febd140f67c58c6a353"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Sat Feb 23 11:44:30 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: MMU: large page support\n\nCreate large pages mappings if the guest PTE\u0027s are marked as such and\nthe underlying memory is hugetlbfs backed.  If the largepage contains\nwrite-protected pages, a large pte is not used.\n\nGives a consistent 2% improvement for data copies on ram mounted\nfilesystem, without NPT/EPT.\n\nAnthony measures a 4% improvement on 4-way kernbench, with NPT.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e53d63acba75795aa226febd140f67c58c6a353",
      "tree": "be4ad4e5b28c737053af78a950d270a657e9f628",
      "parents": [
        "847f0ad8cbfa70c1af6948025836dfbd9ed6da1e"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Feb 20 14:47:24 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: MMU: ignore zapped root pagetables\n\nMark zapped root pagetables as invalid and ignore such pages during lookup.\n\nThis is a problem with the cr3-target feature, where a zapped root table fools\nthe faulting code into creating a read-only mapping. The result is a lockup\nif the instruction can\u0027t be emulated.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "847f0ad8cbfa70c1af6948025836dfbd9ed6da1e",
      "tree": "d3e1f91b460648189922cbb27b6a9571beb312cf",
      "parents": [
        "14af3f3c56103d8c3bb173c255ef5d89fb0c9350"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "alex@csgraf.de",
        "time": "Thu Feb 21 12:11:01 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: Implement dummy values for MSR_PERF_STATUS\n\nDarwin relies on this and ceases to work without.\n\nSigned-off-by: Alexander Graf \u003calex@csgraf.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "14af3f3c56103d8c3bb173c255ef5d89fb0c9350",
      "tree": "aee57781bbd073a123b8191ace0261f339dc06ee",
      "parents": [
        "4866d5e3d59c7831c7fa117c246a39165817db0d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 10:25:50 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: sparse fixes for kvm/x86.c\n\nIn two case statements, use the ever popular \u0027i\u0027 instead of index:\narch/x86/kvm/x86.c:1063:7: warning: symbol \u0027index\u0027 shadows an earlier one\narch/x86/kvm/x86.c:1000:9: originally declared here\narch/x86/kvm/x86.c:1079:7: warning: symbol \u0027index\u0027 shadows an earlier one\narch/x86/kvm/x86.c:1000:9: originally declared here\n\nMake it static.\narch/x86/kvm/x86.c:1945:24: warning: symbol \u0027emulate_ops\u0027 was not declared. Should it be static?\n\nDrop the return statements.\narch/x86/kvm/x86.c:2878:2: warning: returning void-valued expression\narch/x86/kvm/x86.c:2944:2: warning: returning void-valued expression\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4866d5e3d59c7831c7fa117c246a39165817db0d",
      "tree": "60210932670ba91014d8059a3ce3f3706f5a716c",
      "parents": [
        "77cd337f2246ae72915538383e8f5a6b7ffb363d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 10:32:02 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: SVM: make iopm_base static\n\nFixes sparse warning as well.\narch/x86/kvm/svm.c:69:15: warning: symbol \u0027iopm_base\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "77cd337f2246ae72915538383e8f5a6b7ffb363d",
      "tree": "c810a1dba3ca581854fb4c790d6c39270a3c4443",
      "parents": [
        "f11c3a8d84d7bf091bf963edd7104dd4ba6416c3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 10:43:11 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix sparse warnings in x86_emulate.c\n\nNesting __emulate_2op_nobyte inside__emulate_2op produces many shadowed\nvariable warnings on the internal variable _tmp used by both macros.\n\nChange the outer macro to use __tmp.\n\nAvoids a sparse warning like the following at every call site of __emulate_2op\narch/x86/kvm/x86_emulate.c:1091:3: warning: symbol \u0027_tmp\u0027 shadows an earlier one\narch/x86/kvm/x86_emulate.c:1091:3: originally declared here\n[18 more warnings suppressed]\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f11c3a8d84d7bf091bf963edd7104dd4ba6416c3",
      "tree": "e297b6cee55b06c8ec40fe00998deef7cfe4a7ce",
      "parents": [
        "a5f61300c489e334ddf99781a13a7f8d4b580781"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Thu Feb 21 01:00:30 2008 +0530"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: Add stat counter for hypercalls\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a5f61300c489e334ddf99781a13a7f8d4b580781",
      "tree": "54d9587f08ddfc847aebfdff17cb4d6e9ec25ad7",
      "parents": [
        "ef2979bd98dac86ea6a4cd9bdd6820a466108017"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 17:57:21 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: Use x86\u0027s segment descriptor struct instead of private definition\n\nThe x86 desc_struct unification allows us to remove segment_descriptor.h.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a988b910ef816ed57e1cecbec14e98e906453f91",
      "tree": "ff76b7c516db08bb5adafd87d895f53356144d0d",
      "parents": [
        "edbe6c325da48e707a3b31310c5ff5783cf6c0be"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 11:59:20 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: Add API for determining the number of supported memory slots\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f725230af9ea03f6cc6f4a90e87aa428df46ec19",
      "tree": "dcbeae15414805505a71b25c0ee989d698522ea4",
      "parents": [
        "7a95727567f0991751c2db774a110b4f8080de7f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 11:53:16 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: Add API to retrieve the number of supported vcpus per vm\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7a95727567f0991751c2db774a110b4f8080de7f",
      "tree": "dc2cc8725cbc8cd8ed8d79bffc68a6e01ed99736",
      "parents": [
        "e4706772ea46e57cf69a7140c40063a21884c8e0"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 07:40:41 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: x86 emulator: make register_address_increment and JMP_REL static inlines\n\nChange jmp_rel() to a function as well.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e4706772ea46e57cf69a7140c40063a21884c8e0",
      "tree": "a8de3773d511d2b989c2e4c033dd4faaac3defa6",
      "parents": [
        "ddcb2885e2902ebfc422eccd763b02c5ee22d68b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 07:40:38 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: x86 emulator: make register_address, address_mask static inlines\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ddcb2885e2902ebfc422eccd763b02c5ee22d68b",
      "tree": "22acf0af546e312713cfe9516e41fb51f27ba521",
      "parents": [
        "790c73f6289a204f858ffdcbe4a2b38e91657ec6"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Feb 18 11:12:48 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: x86 emulator: add ad_mask static inline\n\nReplaces open-coded mask calculation in macros.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "18068523d3a0b41fcee5b53cdb437a0ab4d65e4b",
      "tree": "cbedbd4371cb57c34728137988a7433ae736d79a",
      "parents": [
        "24e09cbf480a72f9c952af4ca77b159503dca44b"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Feb 15 17:52:47 2008 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: paravirtualized clocksource: host part\n\nThis is the host part of kvm clocksource implementation. As it does\nnot include clockevents, it is a fairly simple implementation. We\nonly have to register a per-vcpu area, and start writing to it periodically.\n\nThe area is binary compatible with xen, as we use the same shadow_info\nstructure.\n\n[marcelo: fix bad_page on MSR_KVM_SYSTEM_TIME]\n[avi: save full value of the msr, even if enable bit is clear]\n[avi: clear previous value of time_page]\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "24e09cbf480a72f9c952af4ca77b159503dca44b",
      "tree": "f1f321963c620d26172f8fd0878374d9598c0ad0",
      "parents": [
        "f65c229c3e7743c6654c16b9ec6248466b5eef21"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 13 18:58:47 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: enable LBR virtualization\n\nThis patch implements the Last Branch Record Virtualization (LBRV) feature of\nthe AMD Barcelona and Phenom processors into the kvm-amd module. It will only\nbe enabled if the guest enables last branch recording in the DEBUG_CTL MSR. So\nthere is no increased world switch overhead when the guest doesn\u0027t use these\nMSRs.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f65c229c3e7743c6654c16b9ec6248466b5eef21",
      "tree": "0326e1e3e7a407c8271d2ae5427c300e6e741a39",
      "parents": [
        "e6101a96c9efb74c98bba6322d4c5ea89e47e0fe"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 13 18:58:46 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: allocate the MSR permission map per VCPU\n\nThis patch changes the kvm-amd module to allocate the SVM MSR permission map\nper VCPU instead of a global map for all VCPUs. With this we have more\nflexibility allowing specific guests to access virtualized MSRs. This is\nrequired for LBR virtualization.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e6101a96c9efb74c98bba6322d4c5ea89e47e0fe",
      "tree": "904d422bed1443ec0dabf4d22b99bd73551d110d",
      "parents": [
        "2e11384c2c6f1ce662b1e5b05ba49b216a052f2a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 13 18:58:45 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: let init_vmcb() take struct vcpu_svm as parameter\n\nChange the parameter of the init_vmcb() function in the kvm-amd module from\nstruct vmcb to struct vcpu_svm.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e11384c2c6f1ce662b1e5b05ba49b216a052f2a",
      "tree": "694fecbf8caf6fc1618bfa0920cc5dc7e1c72c5b",
      "parents": [
        "709ddebf81cb40e3c36c6109a7892e8b93a09464"
      ],
      "author": {
        "name": "Ryan Harper",
        "email": "ryanh@us.ibm.com",
        "time": "Mon Feb 11 10:26:38 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: VMX: fix typo in VMX header define\n\nLooking at Intel Volume 3b, page 148, table 20-11 and noticed\nthat the field name is \u0027Deliver\u0027 not \u0027Deliever\u0027.  Attached patch changes\nthe define name and its user in vmx.c\n\nSigned-off-by: Ryan Harper \u003cryanh@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "709ddebf81cb40e3c36c6109a7892e8b93a09464",
      "tree": "e7b275fde77ed005c60182e093875c13656ec43a",
      "parents": [
        "fb72d1674d860b0c9ef9b66b7f4f01fe5b3d2c00"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:45 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: add support for Nested Paging\n\nThis patch contains the SVM architecture dependent changes for KVM to enable\nsupport for the Nested Paging feature of AMD Barcelona and Phenom processors.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fb72d1674d860b0c9ef9b66b7f4f01fe5b3d2c00",
      "tree": "d24d0f67fde02b87263ebfe8c3bde2d0ff3d67e4",
      "parents": [
        "cc4b6871e771e76dc1de06adb8aed261a1c66be8"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:44 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: MMU: add TDP support to the KVM MMU\n\nThis patch contains the changes to the KVM MMU necessary for support of the\nNested Paging feature in AMD Barcelona and Phenom Processors.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "cc4b6871e771e76dc1de06adb8aed261a1c66be8",
      "tree": "e64b3524153846180a2a481fe1e412d3cfc6d3fd",
      "parents": [
        "4d9976bbdc09e08b69fc12fee2042c3528187b32"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:43 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: export the load_pdptrs() function to modules\n\nThe load_pdptrs() function is required in the SVM module for NPT support.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4d9976bbdc09e08b69fc12fee2042c3528187b32",
      "tree": "908e6d3b59a3854d9a3db88b4d47817fee9b8517",
      "parents": [
        "1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:42 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: MMU: make the __nonpaging_map function generic\n\nThe mapping function for the nonpaging case in the softmmu does basically the\nsame as required for Nested Paging. Make this function generic so it can be\nused for both.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd",
      "tree": "2af29e610ce7c7196798cc5f580f7282f902df2a",
      "parents": [
        "6c7dac72d5c7dc0e09512dce865398167be9a8f7"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:41 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: export information about NPT to generic x86 code\n\nThe generic x86 code has to know if the specific implementation uses Nested\nPaging. In the generic code Nested Paging is called Two Dimensional Paging\n(TDP) to avoid confusion with (future) TDP implementations of other vendors.\nThis patch exports the availability of TDP to the generic x86 code.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6c7dac72d5c7dc0e09512dce865398167be9a8f7",
      "tree": "2c10ebc4871ce0a688f139dbb4c6e81a45cc4286",
      "parents": [
        "e3da3acdb32c1804a5c853feebcc037b7434076f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:40 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: SVM: add module parameter to disable Nested Paging\n\nTo disable the use of the Nested Paging feature even if it is available in\nhardware this patch adds a module parameter. Nested Paging can be disabled by\npassing npt\u003d0 to the kvm_amd module.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e3da3acdb32c1804a5c853feebcc037b7434076f",
      "tree": "b0dec2b3e0abfbef09f3688397250048f6a0ebe2",
      "parents": [
        "33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:39 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: SVM: add detection of Nested Paging feature\n\nLet SVM detect if the Nested Paging feature is available on the hardware.\nDisable it to keep this patch series bisectable.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af",
      "tree": "3f7d915c6146d6e490da9577f0e5e3923b34510b",
      "parents": [
        "9457a712a2f464c4b21bb7f78998775c69673a0c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:38 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: SVM: move feature detection to hardware setup code\n\nBy moving the SVM feature detection from the each_cpu code to the hardware\nsetup code it runs only once. As an additional advance the feature check is now\navailable earlier in the module setup process.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9457a712a2f464c4b21bb7f78998775c69673a0c",
      "tree": "29297b37bb28b1a6255f75da6a5f745fcf3af589",
      "parents": [
        "9f62e19a1107466b9e9501e23a9dd5acb81fdca1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:40 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: allow access to EFER in 32bit KVM\n\nThis patch makes the EFER register accessible on a 32bit KVM host. This is\nnecessary to boot 32 bit PAE guests under SVM.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9f62e19a1107466b9e9501e23a9dd5acb81fdca1",
      "tree": "bb99f0372f4ac48a1d341ce340a422abe0c4d9aa",
      "parents": [
        "50a37eb4e05efaa7bac6a948fd4db1a48c728b99"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:39 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: VMX: unifdef the EFER specific code\n\nTo allow access to the EFER register in 32bit KVM the EFER specific code has to\nbe exported to the x86 generic code. This patch does this in a backwards\ncompatible manner.\n\n[avi: add check for EFER-less hosts]\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "50a37eb4e05efaa7bac6a948fd4db1a48c728b99",
      "tree": "34195810be002db84cfafb9ed706d48bb6752d52",
      "parents": [
        "f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:38 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: align valid EFER bits with the features of the host system\n\nThis patch aligns the bits the guest can set in the EFER register with the\nfeatures in the host processor. Currently it lets EFER.NX disabled if the\nprocessor does not support it and enables EFER.LME and EFER.LMA only for KVM on\n64 bit hosts.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3",
      "tree": "db27a5a3cff2e60497ec60194a9f754372bf01e1",
      "parents": [
        "0aac03f07b37da96e00371e66973d5ffaae578a4"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:37 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: make EFER_RESERVED_BITS configurable for architecture code\n\nThis patch give the SVM and VMX implementations the ability to add some bits\nthe guest can set in its EFER register.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2384d2b32640839a4d4d260ca7c5aa4edbf68d91",
      "tree": "812ba0ea30b2fd59553bc7064b13cc107f276e6b",
      "parents": [
        "adb1ff46754a87f3f6c9e7ee0a92f9a8a183bb38"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Jan 17 15:14:33 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:17 2008 +0300"
      },
      "message": "KVM: VMX: Enable Virtual Processor Identification (VPID)\n\nTo allow TLB entries to be retained across VM entry and VM exit, the VMM\ncan now identify distinct address spaces through a new virtual-processor ID\n(VPID) field of the VMCS.\n\n[avi: drop vpid_sync_all()]\n[avi: add \"cc\" to asm constraints]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d196e343361c229496adeda42335856da9d057de",
      "tree": "167f9f75636769efdc9fa9dd32883b5c780a4c12",
      "parents": [
        "1d6ad2073e5354912291277c606a57fd37330f04"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jan 24 11:44:11 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:17 2008 +0300"
      },
      "message": "KVM: MMU: Decouple mmio from shadow page tables\n\nCurrently an mmio guest pte is encoded in the shadow pagetable as a\nnot-present trapping pte, with the SHADOW_IO_MARK bit set.  However\nnothing is ever done with this information, so maintaining it is a\nuseless complication.\n\nThis patch moves the check for mmio to before shadow ptes are instantiated,\nso the shadow code is never invoked for ptes that reference mmio.  The code\nis simpler, and with future work, can be made to handle mmio concurrently.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1d6ad2073e5354912291277c606a57fd37330f04",
      "tree": "cdd755cff23797f15cdc9474c0eef1a7179b8273",
      "parents": [
        "09566765efd034feba45611f9d0ae9a702f8bb1d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 23 22:26:09 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:16 2008 +0300"
      },
      "message": "KVM: x86 emulator: group decoding for group 1 instructions\n\nOpcodes 0x80-0x83\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d95058a1a7170ae2af2939cbdab0ff5d5e005238",
      "tree": "c50fa7fbb4fce139c8921d085209ead86338eaaf",
      "parents": [
        "fd60754e4ffa992586346dd56451723b4c096626"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 13:36:50 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:15 2008 +0300"
      },
      "message": "KVM: x86 emulator: add group 7 decoding\n\nThis adds group decoding for opcode 0x0f 0x01 (group 7).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fd60754e4ffa992586346dd56451723b4c096626",
      "tree": "0d03253f9d5b564f0f2da916a753f51870dbda92",
      "parents": [
        "7d858a19efe5844a98e060931570359b70dea6d1"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 13:12:26 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:15 2008 +0300"
      },
      "message": "KVM: x86 emulator: Group decoding for groups 4 and 5\n\nAdd group decoding support for opcode 0xfe (group 4) and 0xff (group 5).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7d858a19efe5844a98e060931570359b70dea6d1",
      "tree": "62ee800fb0f1a8a976ab47b015717b34636f3275",
      "parents": [
        "43bb19cd3398d3f544d8e2d6ed6c5c5d7b4e5819"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 12:58:04 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:14 2008 +0300"
      },
      "message": "KVM: x86 emulator: Group decoding for group 3\n\nThis adds group decoding support for opcodes 0xf6, 0xf7 (group 3).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "43bb19cd3398d3f544d8e2d6ed6c5c5d7b4e5819"
}
