)]}'
{
  "log": [
    {
      "commit": "0074ff63ebc195701062ca46e0d82fcea0fa3a0a",
      "tree": "fb9c40fc914a17de448d0d5ab822129a5e179b25",
      "parents": [
        "4731d4c7a07769cf2926c327177b97bb8c68cafc"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:40 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:26 2008 +0200"
      },
      "message": "KVM: MMU: speed up mmu_unsync_walk\n\nCache the unsynced children information in a per-page bitmap.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4731d4c7a07769cf2926c327177b97bb8c68cafc",
      "tree": "c732e9de4dbb35c74c158962771b6804dd8db153",
      "parents": [
        "6844dec6948679d084f054235fee19ba4e3a3096"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:39 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:25 2008 +0200"
      },
      "message": "KVM: MMU: out of sync shadow core\n\nAllow guest pagetables to go out of sync.  Instead of emulating write\naccesses to guest pagetables, or unshadowing them, we un-write-protect\nthe page table and allow the guest to modify it at will.  We rely on\ninvlpg executions to synchronize individual ptes, and will synchronize\nthe entire pagetable on tlb flushes.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6844dec6948679d084f054235fee19ba4e3a3096",
      "tree": "a7f2bfa7e2fb664e42486a82c44f681bc1e38e01",
      "parents": [
        "0738541396be165995c7f2387746eb0b47024fec"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:38 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:24 2008 +0200"
      },
      "message": "KVM: MMU: mmu_convert_notrap helper\n\nNeed to convert shadow_notrap_nonpresent -\u003e shadow_trap_nonpresent when\nunsyncing pages.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0738541396be165995c7f2387746eb0b47024fec",
      "tree": "4a92962a64b6b08fbb242e74e2d00773fa3543b3",
      "parents": [
        "ad8cfbe3fffdc09704f0808fde3934855620d545"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:37 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:23 2008 +0200"
      },
      "message": "KVM: MMU: awareness of new kvm_mmu_zap_page behaviour\n\nkvm_mmu_zap_page will soon zap the unsynced children of a page. Restart\nlist walk in such case.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ad8cfbe3fffdc09704f0808fde3934855620d545",
      "tree": "99ad3b8386c2908e29fbca6ad63318c1bc0ff1ed",
      "parents": [
        "a7052897b3bcd568a9f5bfaa558957039e7e7ec0"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:36 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:22 2008 +0200"
      },
      "message": "KVM: MMU: mmu_parent_walk\n\nIntroduce a function to walk all parents of a given page, invoking a handler.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a7052897b3bcd568a9f5bfaa558957039e7e7ec0",
      "tree": "5495e806032f0fddf4de1ad4381c9b3f5d49dfbc",
      "parents": [
        "0ba73cdadb8ac172f396df7e23c4a9cebd59b550"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:35 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:21 2008 +0200"
      },
      "message": "KVM: x86: trap invlpg\n\nWith pages out of sync invlpg needs to be trapped. For now simply nuke\nthe entry.\n\nUntested on AMD.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0ba73cdadb8ac172f396df7e23c4a9cebd59b550",
      "tree": "5e21a3f93397299cb64fcd3e442106c86624709d",
      "parents": [
        "e8bc217aef67d41d767ede6e7a7eb10f1d47c86c"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:34 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:20 2008 +0200"
      },
      "message": "KVM: MMU: sync roots on mmu reload\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e8bc217aef67d41d767ede6e7a7eb10f1d47c86c",
      "tree": "f58c99dbf212d25d2fa8145ce46bc7ed5904cb07",
      "parents": [
        "38187c830cab84daecb41169948467f1f19317e3"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:33 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:19 2008 +0200"
      },
      "message": "KVM: MMU: mode specific sync_page\n\nExamine guest pagetable and bring the shadow back in sync. Caller is responsible\nfor local TLB flush before re-entering guest mode.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "38187c830cab84daecb41169948467f1f19317e3",
      "tree": "e2566ec17957f604db89ae0f580aa94f80bad592",
      "parents": [
        "a378b4e64c0fef2d9e53214db167878b7673a7a3"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:32 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:18 2008 +0200"
      },
      "message": "KVM: MMU: do not write-protect large mappings\n\nThere is not much point in write protecting large mappings. This\ncan only happen when a page is shadowed during the window between\nis_largepage_backed and mmu_lock acquision. Zap the entry instead, so\nthe next pagefault will find a shadowed page via is_largepage_backed and\nfallback to 4k translations.\n\nSimplifies out of sync shadow.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a378b4e64c0fef2d9e53214db167878b7673a7a3",
      "tree": "60189a6d18a5ca5b948c8bd78d5311aba696f988",
      "parents": [
        "1e73f9dd885957bf0c7bb5e63b350d5aeb06b726"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:31 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:17 2008 +0200"
      },
      "message": "KVM: MMU: move local TLB flush to mmu_set_spte\n\nSince the sync page path can collapse flushes.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1e73f9dd885957bf0c7bb5e63b350d5aeb06b726",
      "tree": "e8b0a494efa53b8bae28722cd0e896be9431e30d",
      "parents": [
        "93a423e7045cf3cf69f960ff307edda1afcd7b41"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:30 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:16 2008 +0200"
      },
      "message": "KVM: MMU: split mmu_set_spte\n\nSplit the spte entry creation code into a new set_spte function.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "93a423e7045cf3cf69f960ff307edda1afcd7b41",
      "tree": "05271993d2e6be3668c4b865559d7ded709a52f0",
      "parents": [
        "a08546001c2b0f584ffc81987340943a7d6d6acb"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 23 13:18:29 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:15 2008 +0200"
      },
      "message": "KVM: MMU: flush remote TLBs on large-\u003enormal entry overwrite\n\nIt is necessary to flush all TLB\u0027s when a large spte entry is\noverwritten with a normal page directory pointer.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a08546001c2b0f584ffc81987340943a7d6d6acb",
      "tree": "bec5b932a875d8137eef2ffa576dee8411284ca8",
      "parents": [
        "1f095610aabb9d54617901aa734d2a6093f2000c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Sep 23 11:01:45 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:14 2008 +0200"
      },
      "message": "x86: pvclock: fix shadowed variable warning\n\narch/x86/kernel/pvclock.c:102:6: warning: symbol \u0027tsc_khz\u0027 shadows an earlier one\ninclude/asm/tsc.h:18:21: originally declared here\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1f095610aabb9d54617901aa734d2a6093f2000c",
      "tree": "a5fbfe954fe8019968a5f5cec724172f0447dd4c",
      "parents": [
        "81aec5227eedf9035e8544d8021ca6b8fb7c357a"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Sat Sep 13 06:21:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:13 2008 +0200"
      },
      "message": "KVM: ia64: add support for Tukwila processors\n\nIn Tukwila processor, VT-i has been enhanced in its\nimplementation, it is often called VT-i2 techonology.\nWith VTi-2 support, virtulization performance should be\nimproved. In this patch, we added the related stuff to\nsupport kvm/ia64 for Tukwila processors.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "81aec5227eedf9035e8544d8021ca6b8fb7c357a",
      "tree": "3e2166dd2b54cb433b2492c052fa5637e10d38fd",
      "parents": [
        "271b05281f7f485a0be8764860687ebb98459b80"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Sep 12 20:23:11 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:12 2008 +0200"
      },
      "message": "KVM: ia64: Implement a uniform vps interface\n\nAn uniform entry kvm_vps_entry is added for\nvps_sync_write/read, vps_resume_handler/guest,\nand branches to differnt PAL service according to the offset.\n\nSinged-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "271b05281f7f485a0be8764860687ebb98459b80",
      "tree": "84f9202b3972214210cb64e01727d4bf5acbeade",
      "parents": [
        "7d8fece678c1abc2ca3e1ceda2277c3538a9161c"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Wed Sep 24 13:39:57 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:11 2008 +0200"
      },
      "message": "KVM: Remove useless intel-iommu.h header inclusion\n\nCurrently \"#include \u003clinux/intel-iommu.h\u003e\" is not needed in\nvirt/kvm/kvm_main.c.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7d8fece678c1abc2ca3e1ceda2277c3538a9161c",
      "tree": "4a41eaf5fd8f8d04fcc483197c67a448981fc0c8",
      "parents": [
        "af2152f5457448bd90cb019c108e0a85e716fdbe"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@redhat.com",
        "time": "Wed Sep 17 23:16:59 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:10 2008 +0200"
      },
      "message": "KVM: Don\u0027t destroy vcpu in case vcpu_setup fails\n\nOne of vcpu_setup responsibilities is to do mmu initialization.\nHowever, in case we fail in kvm_arch_vcpu_reset, before we get the\nchance to init mmu. OTOH, vcpu_destroy will attempt to destroy mmu,\ntriggering a bug. Keeping track of whether or not mmu is initialized\nwould unnecessarily complicate things. Rather, we just make return,\nmaking sure any needed uninitialization is done before we return, in\ncase we fail.\n\nSigned-off-by: Glauber Costa \u003cglommer@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "af2152f5457448bd90cb019c108e0a85e716fdbe",
      "tree": "49d04ee98da457e29be09b3143361212b982f898",
      "parents": [
        "9ea1de4ea4b04d5132eb74917ecea77dda13ce76"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@qumranet.com",
        "time": "Mon Sep 22 14:28:53 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:09 2008 +0200"
      },
      "message": "KVM: don\u0027t enter guest after SIPI was received by a CPU\n\nThe vcpu should process pending SIPI message before entering guest mode again.\nkvm_arch_vcpu_runnable() returns true if the vcpu is in SIPI state, so\nwe can\u0027t call it here.\n\nSigned-off-by: Gleb Natapov \u003cgleb@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ea1de4ea4b04d5132eb74917ecea77dda13ce76",
      "tree": "270626bfb1b636c04cf42d69db8f909b1e00e186",
      "parents": [
        "2259e3a7a6089007839cd4bbf7c9867190c67238"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Fri Sep 19 19:25:30 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:08 2008 +0200"
      },
      "message": "MAINTAINERS: Update Avi Kivity\u0027s email address\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2259e3a7a6089007839cd4bbf7c9867190c67238",
      "tree": "c609e167128766bf8d96a1f12680ee72038e22e5",
      "parents": [
        "4c2155ce81c193788082d4b8cdbc26d79edebc58"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Aug 22 13:29:17 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:07 2008 +0200"
      },
      "message": "KVM: x86.c make kvm_load_realmode_segment static\n\nNoticed by sparse:\narch/x86/kvm/x86.c:3591:5: warning: symbol \u0027kvm_load_realmode_segment\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@redhat.com\u003e\n"
    },
    {
      "commit": "4c2155ce81c193788082d4b8cdbc26d79edebc58",
      "tree": "5c028fe4a18c55b5c0e9c4e80be459dad3f96da7",
      "parents": [
        "777b3f49d297e387866604093b635e5bc9b9d2a6"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 16 20:54:47 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:06 2008 +0200"
      },
      "message": "KVM: switch to get_user_pages_fast\n\nConvert gfn_to_pfn to use get_user_pages_fast, which can do lockless\npagetable lookups on x86. Kernel compilation on 4-way guest is 3.7%\nfaster on VMX.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "777b3f49d297e387866604093b635e5bc9b9d2a6",
      "tree": "d3df6d34bceb9905b033bb2e9e7e9bc6e0992542",
      "parents": [
        "bfadaded0dc323a1cf3f08b5068f12955b54cbaa"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 16 20:54:46 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:05 2008 +0200"
      },
      "message": "KVM: opencode gfn_to_page in kvm_vm_fault\n\nkvm_vm_fault is invoked with mmap_sem held in read mode. Since gfn_to_page\nwill be converted to get_user_pages_fast, which requires this lock NOT\nto be held, switch to opencoded get_user_pages.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bfadaded0dc323a1cf3f08b5068f12955b54cbaa",
      "tree": "8b55582d859efa274be0c7cfc92c9da00324fddf",
      "parents": [
        "62c476c7c7f25a5b245b9902a935636e6316e58c"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Tue Sep 16 18:04:28 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:04 2008 +0200"
      },
      "message": "KVM: Device Assignment: Free device structures if IRQ allocation fails\n\nWhen an IRQ allocation fails, we free up the device structures and\ndisable the device so that we can unregister the device in the\nuserspace and not expose it to the guest at all.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "62c476c7c7f25a5b245b9902a935636e6316e58c",
      "tree": "6584591c7c345fcbb3c6d437203dc7f4a628573a",
      "parents": [
        "387179464257921eb9aa3d15cc3ff194f6945a7c"
      ],
      "author": {
        "name": "Ben-Ami Yassour",
        "email": "benami@il.ibm.com",
        "time": "Sun Sep 14 03:48:28 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:04 2008 +0200"
      },
      "message": "KVM: Device Assignment with VT-d\n\nBased on a patch by: Kay, Allen M \u003callen.m.kay@intel.com\u003e\n\nThis patch enables PCI device assignment based on VT-d support.\nWhen a device is assigned to the guest, the guest memory is pinned and\nthe mapping is updated in the VT-d IOMMU.\n\n[Amit: Expose KVM_CAP_IOMMU so we can check if an IOMMU is present\nand also control enable/disable from userspace]\n\nSigned-off-by: Kay, Allen M \u003callen.m.kay@intel.com\u003e\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\n\nAcked-by: Mark Gross \u003cmgross@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "387179464257921eb9aa3d15cc3ff194f6945a7c",
      "tree": "a7f06903688df8a1d3231faf1ab68bf80e032ea6",
      "parents": [
        "aa3a816b6d0bd59e1a9c548cc7d2dd829f26534f"
      ],
      "author": {
        "name": "Kay, Allen M",
        "email": "allen.m.kay@intel.com",
        "time": "Tue Sep 09 18:37:29 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:24:08 2008 +0200"
      },
      "message": "VT-d: Changes to support KVM\n\nThis patch extends the VT-d driver to support KVM\n\n[Ben: fixed memory pinning]\n[avi: move dma_remapping.h as well]\n\nSigned-off-by: Kay, Allen M \u003callen.m.kay@intel.com\u003e\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nAcked-by: Mark Gross \u003cmgross@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aa3a816b6d0bd59e1a9c548cc7d2dd829f26534f",
      "tree": "979d3f1181f86647bab826149c141fa1d28c8e92",
      "parents": [
        "8a9fee67fba585b4c4731a749367e1751ebf416c"
      ],
      "author": {
        "name": "Guillaume Thouvenin",
        "email": "guillaume.thouvenin@ext.bull.net",
        "time": "Fri Sep 12 13:52:18 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:16:14 2008 +0200"
      },
      "message": "KVM: x86 emulator: Use DstAcc for \u0027and\u0027\n\nFor instruction \u0027and al,imm\u0027 we use DstAcc instead of doing\nthe emulation directly into the instruction\u0027s opcode.\n\nSigned-off-by: Guillaume Thouvenin \u003cguillaume.thouvenin@ext.bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8a9fee67fba585b4c4731a749367e1751ebf416c",
      "tree": "d1436b58b31b35a3ffd75b5e722e034f2c071c2d",
      "parents": [
        "9c9fddd0e784346a6d0ce82ed20d9ad21f3c8a2c"
      ],
      "author": {
        "name": "Guillaume Thouvenin",
        "email": "guillaume.thouvenin@ext.bull.net",
        "time": "Fri Sep 12 13:51:15 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:16:14 2008 +0200"
      },
      "message": "KVM: x86 emulator: Add cmp al, imm and cmp ax, imm instructions (ocodes 3c, 3d)\n\nAdd decode entries for these opcodes; execution is already implemented.\n\nSigned-off-by: Guillaume Thouvenin \u003cguillaume.thouvenin@ext.bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9c9fddd0e784346a6d0ce82ed20d9ad21f3c8a2c",
      "tree": "c1bb4964cf454611ff2fafae8a57f464e78a1872",
      "parents": [
        "defed7ed926eca9f178a632df05baa866abe754e"
      ],
      "author": {
        "name": "Guillaume Thouvenin",
        "email": "guillaume.thouvenin@ext.bull.net",
        "time": "Fri Sep 12 13:50:25 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:16:14 2008 +0200"
      },
      "message": "KVM: x86 emulator: Add DstAcc operand type\n\nAdd DstAcc operand type. That means that there are 4 bits now for\nDstMask.\n\n\"In the good old days cpus would have only one register that was able to\n fully participate in arithmetic operations, typically called A for\n Accumulator.  The x86 retains this tradition by having special, shorter\n encodings for the A register (like the cmp opcode), and even some\n instructions that only operate on A (like mul).\n\n SrcAcc and DstAcc would accommodate these instructions by decoding A\n into the corresponding \u0027struct operand\u0027.\"\n  -- Avi Kivity\n\nSigned-off-by: Guillaume Thouvenin \u003cguillaume.thouvenin@ext.bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "defed7ed926eca9f178a632df05baa866abe754e",
      "tree": "840967616f6fcd696c62ed9f8328fe671bdea18b",
      "parents": [
        "9ea542facbd0fd12a53e169953a3fdd6d0364532"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Sep 11 15:27:50 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:16:14 2008 +0200"
      },
      "message": "x86: Move FEATURE_CONTROL bits to msr-index.h\n\nFor MSR_IA32_FEATURE_CONTROL is already there.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9ea542facbd0fd12a53e169953a3fdd6d0364532",
      "tree": "0447a5aa4b6ffc689731ad018cb3a46b27bf60e0",
      "parents": [
        "ad8003d33efe856515a5c2e9b63637de85c44788"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Sep 11 15:27:49 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:16:14 2008 +0200"
      },
      "message": "KVM: VMX: Rename IA32_FEATURE_CONTROL bits\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ad8003d33efe856515a5c2e9b63637de85c44788",
      "tree": "ae5e27bdf18524117ba6d16f0931d09b9fd05cda",
      "parents": [
        "ef46f18ea010359f7536afd3f56a92c9c83ac09a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 10 20:01:07 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:27 2008 +0200"
      },
      "message": "MAINTAINERS: add entry for 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": "ef46f18ea010359f7536afd3f56a92c9c83ac09a",
      "tree": "32b9c76c41368ba183087b5a7a4c405d72194e45",
      "parents": [
        "4b92fe0c9d0376eb105c88d49b77595e8e5b1548"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Sep 11 19:47:13 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:27 2008 +0200"
      },
      "message": "KVM: x86 emulator: fix jmp r/m64 instruction\n\njmp r/m64 doesn\u0027t require the rex.w prefix to indicate the operand size\nis 64 bits.  Set the Stack attribute (even though it doesn\u0027t involve the\nstack, really) to indicate this.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4b92fe0c9d0376eb105c88d49b77595e8e5b1548",
      "tree": "f14a74c29252e4ca1bebc5bac6abb730e2b8ab2c",
      "parents": [
        "0bd595fc222583ca260f259698f72e9946c6e524"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Thu Sep 11 12:58:00 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:26 2008 +0200"
      },
      "message": "KVM: VMX: Cleanup stalled INTR_INFO read\n\nCommit 1c0f4f5011829dac96347b5f84ba37c2252e1e08 left a useless access\nof VM_ENTRY_INTR_INFO_FIELD in vmx_intr_assist behind. Clean this up.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0bd595fc222583ca260f259698f72e9946c6e524",
      "tree": "6bf391a57b5c13035b074190b9714a622d84868e",
      "parents": [
        "9c3e4aab5ae27bf8589d61c7874e213832b4b7d2"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Thu Sep 11 10:04:29 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:26 2008 +0200"
      },
      "message": "KVM: ppc: kvmppc_44x_shadow_release() does not require mmap_sem to be locked\n\nAnd it gets in the way of get_user_pages_fast().\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9c3e4aab5ae27bf8589d61c7874e213832b4b7d2",
      "tree": "38e3fcc1cbf7c2fdecfc5e95cd63f6c3b6b14702",
      "parents": [
        "d19292e457a7c1b7f6c12bccbfdfd53630de1cee"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Sep 10 16:40:55 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:26 2008 +0200"
      },
      "message": "KVM: x86: unhalt vcpu0 on reset\n\nSince \"KVM: x86: do not execute halted vcpus\", HLT by vcpu0 before system\nreset by the IO thread will hang the guest.\n\nMark vcpu as runnable in such case.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d19292e457a7c1b7f6c12bccbfdfd53630de1cee",
      "tree": "b809cc8dfaa7c51f361a3a007ae4744d17de210f",
      "parents": [
        "d76901750ab9f71091d33ef3d2b5909d8a9a4ad4"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Mon Sep 08 21:47:19 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:26 2008 +0200"
      },
      "message": "KVM: x86 emulator: Add call near absolute instruction (opcode 0xff/2)\n\nAdd call near absolute instruction.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d76901750ab9f71091d33ef3d2b5909d8a9a4ad4",
      "tree": "e4a7ac912c70a05e4c8ee4e7294d9add48383fc2",
      "parents": [
        "a6a3034cb979b1fa3948d8e1e91b2387fc66b89b"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Sep 08 15:23:48 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:26 2008 +0200"
      },
      "message": "KVM: x86: do not execute halted vcpus\n\nOffline or uninitialized vcpu\u0027s can be executed if requested to perform\nuserspace work.\n\nFollow Avi\u0027s suggestion to handle halted vcpu\u0027s in the main loop,\nsimplifying kvm_emulate_halt(). Introduce a new vcpu-\u003erequests bit to\nindicate events that promote state from halted to running.\n\nAlso standardize vcpu wake sites.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti \u003cat\u003e redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a6a3034cb979b1fa3948d8e1e91b2387fc66b89b",
      "tree": "4f7c5f7d86a8bc135dd852c7927de7417ccd1375",
      "parents": [
        "fa89a81766e33343fa8f0fe0e371819bf94a17a1"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sat Sep 06 17:22:29 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:25 2008 +0200"
      },
      "message": "KVM: x86 emulator: Add in/out instructions (opcodes 0xe4-0xe7, 0xec-0xef)\n\nThe patch adds in/out instructions to the x86 emulator.\n\nThe instruction was encountered while running the BIOS while using\nthe invalid guest state emulation patch.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fa89a81766e33343fa8f0fe0e371819bf94a17a1",
      "tree": "f6b1b9a1419313ebca9bbd608b6fd2c06168906b",
      "parents": [
        "d40a1ee4859c673677c9811ae84475c4051baca5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Sep 01 15:57:51 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:25 2008 +0200"
      },
      "message": "KVM: Add statistics for guest irq injections\n\nThese can help show whether a guest is making progress or not.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d40a1ee4859c673677c9811ae84475c4051baca5",
      "tree": "deedab33a187c41b23db799bd610af0508820cd4",
      "parents": [
        "8c4b537da7eceab1246695df21beea10f180d460"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Mon Sep 01 19:41:20 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:25 2008 +0200"
      },
      "message": "KVM: MMU: Modify kvm_shadow_walk.entry to accept u64 addr\n\nEPT is 4 level by default in 32pae(48 bits), but the addr parameter\nof kvm_shadow_walk-\u003eentry() only accept unsigned long as virtual\naddress, which is 32bit in 32pae. This result in SHADOW_PT_INDEX()\noverflow when try to fetch level 4 index.\n\nFix it by extend kvm_shadow_walk-\u003eentry() to accept 64bit addr in\nparameter.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8c4b537da7eceab1246695df21beea10f180d460",
      "tree": "bf4ed41aaa1c5920e681b16f04e0ac5ba4b5fda3",
      "parents": [
        "fb4616f43148c5b3f3e453a47657572d1bda39ee"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Thu Aug 28 09:34:08 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:25 2008 +0200"
      },
      "message": "KVM: ia64: Implement kvm_arch_vcpu_ioctl_{set,get}_mpstate\n\nTwo ioctl arch functions are added to set vcpu\u0027s smp state.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fb4616f43148c5b3f3e453a47657572d1bda39ee",
      "tree": "875be2a5ef494832a577de867db623c3177ffe27",
      "parents": [
        "20766c083e6ab3c33125f07c7ffe39914c106d98"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Mon Sep 01 04:52:24 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:25 2008 +0200"
      },
      "message": "KVM: x86 emulator: Add std and cld instructions (opcodes 0xfc-0xfd)\n\nThis adds the std and cld instructions to the emulator.\n\nEncountered while running the BIOS with invalid guest\nstate emulation enabled.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "20766c083e6ab3c33125f07c7ffe39914c106d98",
      "tree": "d147e752c73436a044530121b9973308cd49b037",
      "parents": [
        "a0046b6db1c514149585e11895cd8434e0eafa79"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Aug 29 13:30:56 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:25 2008 +0200"
      },
      "message": "KVM: s390: change help text of guest Kconfig\n\nThe current help text for CONFIG_S390_GUEST is not very helpful.\nLets add more text.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a0046b6db1c514149585e11895cd8434e0eafa79",
      "tree": "df02a1764fcae0bd94b0db8fa3463558cc690bde",
      "parents": [
        "a89c1ad270ca7ad0eec2667bc754362ce7b142be"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Aug 29 13:29:45 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: s390: Make facility bits future-proof\n\nHeiko Carstens pointed out, that its safer to activate working facilities\ninstead of disabling problematic facilities. The new code uses the host\nfacility bits and masks it with known good ones.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a89c1ad270ca7ad0eec2667bc754362ce7b142be",
      "tree": "2b0dc1a98355cc817af7c9ea5673fd7e74040cac",
      "parents": [
        "48d150394999c542b2e828f03da226842950d46a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Aug 29 11:52:07 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: add MC5_MISC msr read support\n\nCurrently KVM implements MC0-MC4_MISC read support. When booting Linux this\nresults in KVM warnings in the kernel log when the guest tries to read\nMC5_MISC. Fix this warnings with this patch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "48d150394999c542b2e828f03da226842950d46a",
      "tree": "980bd74d0b9df6c68aa0244f679e7edbdc34fff7",
      "parents": [
        "3201b5d9f0f7ef392886cd76dcd2c69186d9d5cd"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Aug 28 18:27:15 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: SVM: No need to unprotect memory during event injection when using npt\n\nNo memory is protected anyway.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3201b5d9f0f7ef392886cd76dcd2c69186d9d5cd",
      "tree": "94c726dfc773f551a9b8ad600193f815b6619d2c",
      "parents": [
        "171d595d3b3254b9a952af8d1f6965d2e85dcbaa"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 27 20:01:04 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: MMU: Fix setting the accessed bit on non-speculative sptes\n\nThe accessed bit was accidentally turned on in a random flag word, rather\nthan, the spte itself, which was lucky, since it used the non-EPT compatible\nPT_ACCESSED_MASK.\n\nFix by turning the bit on in the spte and changing it to use the portable\naccessed mask.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "171d595d3b3254b9a952af8d1f6965d2e85dcbaa",
      "tree": "87e4197b72ff28e04adb72a157c483d6e571a0be",
      "parents": [
        "2245a28fe2e6fdb1bdabc4dcde1ea3a5c37e2a9e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 27 16:40:51 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: MMU: Flush tlbs after clearing write permission when accessing dirty log\n\nOtherwise, the cpu may allow writes to the tracked pages, and we lose\nsome display bits or fail to migrate correctly.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2245a28fe2e6fdb1bdabc4dcde1ea3a5c37e2a9e",
      "tree": "7e43c47167c447b343c279e8562fe08c58b4b759",
      "parents": [
        "bc2d429979451d69d0985c5dbdf908cace2831cc"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 27 16:32:24 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: MMU: Add locking around kvm_mmu_slot_remove_write_access()\n\nIt was generally safe due to slots_lock being held for write, but it wasn\u0027t\nvery nice.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bc2d429979451d69d0985c5dbdf908cace2831cc",
      "tree": "90a46699e097cc57a3586ae0baf430597b810bbe",
      "parents": [
        "a5e2e82b8b62acd24a44b851e6bb4fd0793ead01"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 27 16:30:56 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: MMU: Account for npt/ept/realmode page faults\n\nNow that two-dimensional paging is becoming common, account for tdp page\nfaults.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a5e2e82b8b62acd24a44b851e6bb4fd0793ead01",
      "tree": "252bcdcf7284ae23872d80aa174748c0b8b66c35",
      "parents": [
        "d657c7335b97d746aa6123c56504b46c20e37df3"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Wed Aug 27 05:02:56 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: x86 emulator: Add mov r, imm instructions (opcodes 0xb0-0xbf)\n\nThe emulator only supported one instance of mov r, imm instruction\n(opcode 0xb8), this adds the rest of these instructions.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d657c7335b97d746aa6123c56504b46c20e37df3",
      "tree": "52f6140cd6fa33cfab06ad867f640a023151907d",
      "parents": [
        "acee3c04e8208c17aad1baff99baa68d71640a19"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Aug 26 17:31:31 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: Don\u0027t call get_user_pages(.force \u003d 1)\n\nThis is esoteric and only needed to break COW on MAP_SHARED mappings.  Since\nKVM no longer does these sorts of mappings, breaking COW on them is no longer\nnecessary.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "acee3c04e8208c17aad1baff99baa68d71640a19",
      "tree": "2dd9ef2697686319ae0b92f1ffe674530493709b",
      "parents": [
        "abb9e0b8e33e58ac8e04e03b680c46435bc312fd"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Aug 26 17:22:47 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: Allocate guest memory as MAP_PRIVATE, not MAP_SHARED\n\nThere is no reason to share internal memory slots with fork()ed instances.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "abb9e0b8e33e58ac8e04e03b680c46435bc312fd",
      "tree": "e302013c6f3330c3fd62389138bda5c040b453a7",
      "parents": [
        "140754bc80e1cdbf2d14cdb10d900da1f7718e7b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Aug 22 19:11:39 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: MMU: Convert the paging mode shadow walk to use the generic walker\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "140754bc80e1cdbf2d14cdb10d900da1f7718e7b",
      "tree": "0b23b396c28da5b01b6693546dca9416a88ded54",
      "parents": [
        "3d000db5688c8beff6319fb9ff4b98dcac32f798"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Aug 22 19:28:04 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: MMU: Convert direct maps to use the generic shadow walker\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3d000db5688c8beff6319fb9ff4b98dcac32f798",
      "tree": "75e8464d300c232efa1793477c555e1a5b7e0a80",
      "parents": [
        "6c41f428b72afe5a581b967590c12538db31d399"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Aug 22 19:24:38 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:23 2008 +0200"
      },
      "message": "KVM: MMU: Add generic shadow walker\n\nWe currently walk the shadow page tables in two places: direct map (for\nreal mode and two dimensional paging) and paging mode shadow.  Since we\nanticipate requiring a third walk (for invlpg), it makes sense to have\na generic facility for shadow walk.\n\nThis patch adds such a shadow walker, walks the page tables and calls a\nmethod for every spte encountered.  The method can examine the spte,\nmodify it, or even instantiate it.  The walk can be aborted by returning\nnonzero from the method.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6c41f428b72afe5a581b967590c12538db31d399",
      "tree": "8b1cd1520469b23d033d7046db2d03ef727d54a4",
      "parents": [
        "0be9e929e398d6da6406183a8732dbfd0937fafe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Aug 26 16:16:08 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:22 2008 +0200"
      },
      "message": "KVM: MMU: Infer shadow root level in direct_map()\n\nIn all cases the shadow root level is available in mmu.shadow_root_level,\nso there is no need to pass it as a parameter.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0be9e929e398d6da6406183a8732dbfd0937fafe",
      "tree": "7556b5d3bf220d5536b1089f71e7578a1bfa205b",
      "parents": [
        "6e37d3dc3e358dbf907f8b96a51282966934124b"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Aug 26 08:58:53 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:22 2008 +0200"
      },
      "message": "KVM: ia64: Enable virtio driver for ia64 in Kconfig\n\nkvm/ia64 uses the virtio drivers to optimize its I/O subsytem.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6e37d3dc3e358dbf907f8b96a51282966934124b",
      "tree": "9a759cc77d4ca952b4c2aca2f10d8b4239f682a3",
      "parents": [
        "135f8c2b078533cc74e75f696e73d47304a61125"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Aug 22 19:14:17 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:22 2008 +0200"
      },
      "message": "KVM: MMU: Unify direct map 4K and large page paths\n\nThe two paths are equivalent except for one argument, which is already\navailable.  Merge the two codepaths.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "135f8c2b078533cc74e75f696e73d47304a61125",
      "tree": "784d302d329b32cf2e0ed1b0ac7f2809a8c2fd50",
      "parents": [
        "6eb06cb2863a2ff5704b501f1699216180e790b5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Aug 21 17:49:56 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:22 2008 +0200"
      },
      "message": "KVM: MMU: Move SHADOW_PT_INDEX to mmu.c\n\nIt is not specific to the paging mode, so can be made global (and reusable).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6eb06cb2863a2ff5704b501f1699216180e790b5",
      "tree": "b7c8237b1f11cf776066da0b591199c690449e0b",
      "parents": [
        "41afa025878bc31c9c4e18415fba2435fe035376"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Aug 21 17:41:39 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:22 2008 +0200"
      },
      "message": "KVM: x86 emulator: remove bad ByteOp specifier from NEG descriptor\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "41afa025878bc31c9c4e18415fba2435fe035376",
      "tree": "b16258913d654854c1b1e0b7307339845e7e7baf",
      "parents": [
        "f4bbd9aaaae23007e4d79536d35a30cbbb11d407"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Aug 18 21:25:01 2008 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: x86 emulator: remove duplicate SrcImm\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f4bbd9aaaae23007e4d79536d35a30cbbb11d407",
      "tree": "95d1624fb9847b246a806ddedca38d00de08f56d",
      "parents": [
        "a16b20da879430fdf245ed45461ed40ffef8db3c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 20 15:51:42 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: Load real mode segments correctly\n\nReal mode segments to not reference the GDT or LDT; they simply compute\nbase \u003d selector * 16.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a16b20da879430fdf245ed45461ed40ffef8db3c",
      "tree": "19868d9c7653c7c6034f3b9d8f09617ade073b19",
      "parents": [
        "5706be0dafd6f42852f85fbae292301dcad4ccec"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 20 15:48:27 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: VMX: Change segment dpl at reset to 3\n\nThis is more emulation friendly, if not 100% correct.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5706be0dafd6f42852f85fbae292301dcad4ccec",
      "tree": "90338ecb8a3775e1618b69e59ef6595342edde93",
      "parents": [
        "26815a648e1ec2b338a63a2bc301dcf449b93e5a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 20 15:07:31 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: VMX: Change cs reset state to be a data segment\n\nReal mode cs is a data segment, not a code segment.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "26815a648e1ec2b338a63a2bc301dcf449b93e5a",
      "tree": "5e91362ff4d522dad277621f1492627ecc8eebe5",
      "parents": [
        "ee032c993edd34e0bdf64dab06a55d0e08a4eeb9"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Aug 19 20:48:03 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: ia64: add a dummy irq ack notification\n\nBefore enabling notify_acked_irq for ia64, leave the related APIs as\nnop-op first.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ee032c993edd34e0bdf64dab06a55d0e08a4eeb9",
      "tree": "56ce84e950df0e25036140768aefd5817b9bd7f8",
      "parents": [
        "29c8fa32c5d1e2d26d53ad9467b3a13130014cdf"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Aug 11 16:54:20 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: make irq ack notifier functions static\n\nsparse says:\n\narch/x86/kvm/x86.c:107:32: warning: symbol \u0027kvm_find_assigned_dev\u0027 was not declared. Should it be static?\narch/x86/kvm/i8254.c:225:6: warning: symbol \u0027kvm_pit_ack_irq\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "29c8fa32c5d1e2d26d53ad9467b3a13130014cdf",
      "tree": "84cdc705f85678c502faf9a1b602ca9a93efc4a8",
      "parents": [
        "94c935a1ee7a9c134f0ebed656384186619d05cb"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Mon Aug 18 15:07:05 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:21 2008 +0200"
      },
      "message": "KVM: Use kvm_set_irq to inject interrupts\n\n... instead of using the pic and ioapic variants\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "94c935a1ee7a9c134f0ebed656384186619d05cb",
      "tree": "68f3ae264bc84d561f5512703637ebb56958fe4c",
      "parents": [
        "a89a8fb93ba63d4ad39db97c90997c409c87ccb9"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Mon Aug 18 13:11:46 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:20 2008 +0200"
      },
      "message": "KVM: SVM: Fix typo\n\nFix typo in as-yet unused macro definition.\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a89a8fb93ba63d4ad39db97c90997c409c87ccb9",
      "tree": "36c936e5fabd15357bf9b65649ddef08a8ea22f0",
      "parents": [
        "ea953ef0ca84e778187905177e2a789a1974837b"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Aug 17 16:42:16 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:20 2008 +0200"
      },
      "message": "KVM: VMX: Modify mode switching and vmentry functions\n\nThis patch modifies mode switching and vmentry function in order to\ndrive invalid guest state emulation.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ea953ef0ca84e778187905177e2a789a1974837b",
      "tree": "01a4b64c05382f978274b8d3e87a0a5334998073",
      "parents": [
        "04fa4d32117b1a7773290fd59a97cf90cfc2a0d4"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Aug 17 16:47:05 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:20 2008 +0200"
      },
      "message": "KVM: VMX: Add invalid guest state handler\n\nThis adds the invalid guest state handler function which invokes the x86\nemulator until getting the guest to a VMX-friendly state.\n\n[avi: leave atomic context if scheduling]\n[guillaume: return to atomic context correctly]\n\nSigned-off-by: Laurent Vivier \u003claurent.vivier@bull.net\u003e\nSigned-off-by: Guillaume Thouvenin \u003cguillaume.thouvenin@ext.bull.net\u003e\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "04fa4d32117b1a7773290fd59a97cf90cfc2a0d4",
      "tree": "5150302a1465b6adaf9c4812701cded318168759",
      "parents": [
        "648dfaa7df2d3692db4e63dcb18dccb275d9c5a7"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Aug 17 16:39:48 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:20 2008 +0200"
      },
      "message": "KVM: VMX: Add module parameter and emulation flag.\n\nThe patch adds the module parameter required to enable emulating invalid\nguest state, as well as the emulation_required flag used to drive\nemulation whenever needed.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "648dfaa7df2d3692db4e63dcb18dccb275d9c5a7",
      "tree": "c7e52aa54420df759d3ae2dcdf0fc239f831024f",
      "parents": [
        "6762b7299aa115e11815decd1fd982d015f09615"
      ],
      "author": {
        "name": "Mohammed Gamal",
        "email": "m.gamal005@gmail.com",
        "time": "Sun Aug 17 16:38:32 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:20 2008 +0200"
      },
      "message": "KVM: VMX: Add Guest State Validity Checks\n\nThis patch adds functions to check whether guest state is VMX compliant.\n\nSigned-off-by: Mohammed Gamal \u003cm.gamal005@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6762b7299aa115e11815decd1fd982d015f09615",
      "tree": "3973aab788f7f1d75377aa2aa78dc0014354c6f5",
      "parents": [
        "dc7404cea34ef997dfe89ca94d16358e9d29c8d8"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Wed Aug 13 16:22:37 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:20 2008 +0200"
      },
      "message": "KVM: Device assignment: Check for privileges before assigning irq\n\nEven though we don\u0027t share irqs at the moment, we should ensure\nregular user processes don\u0027t try to allocate system resources.\n\nWe check for capability to access IO devices (CAP_SYS_RAWIO) before\nwe request_irq on behalf of the guest.\n\nNoticed by Avi.\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "dc7404cea34ef997dfe89ca94d16358e9d29c8d8",
      "tree": "f62ea13dc8a824f40543c4d690fbe1f3238a3084",
      "parents": [
        "85428ac7c39ab5fff23b5d14ccb32941e9401285"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Aug 17 16:03:46 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: Handle spurious acks for PIT interrupts\n\nSpurious acks can be generated, for example if the PIC is being reset.\nHandle those acks gracefully rather than flooding the log with warnings.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "85428ac7c39ab5fff23b5d14ccb32941e9401285",
      "tree": "19e12ebc433e51835e8065eebce515472e7bbafc",
      "parents": [
        "8ceed34744f81c4a33d68ab825fd9ad3dd5f5505"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Aug 14 20:53:25 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: fix i8259 reset irq acking\n\nThe irq ack during pic reset has three problems:\n\n- Ignores slave/master PIC, using gsi 0-8 for both.\n- Generates an ACK even if the APIC is in control.\n- Depends upon IMR being clear, which is broken if the irq was masked\nat the time it was generated.\n\nThe last one causes the BIOS to hang after the first reboot of\nWindows installation, since PIT interrupts stop.\n\n[avi: fix check whether pic interrupts are seen by cpu]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8ceed34744f81c4a33d68ab825fd9ad3dd5f5505",
      "tree": "a96f9f91c2286346cfb9428f0166de95e68faeba",
      "parents": [
        "ecfc79c700b02c5ad1ccae58718015caa84824be"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Aug 14 21:25:47 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: Simplify exception entries by using __ASM_SIZE and _ASM_PTR\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ecfc79c700b02c5ad1ccae58718015caa84824be",
      "tree": "181a9e4fbee5664c1a8e872e7a6050cd17b7c839",
      "parents": [
        "29415c37f043d1d54dcf356601d738ff6633b72b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Aug 14 11:13:16 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: VMX: Use interrupt queue for !irqchip_in_kernel\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "29415c37f043d1d54dcf356601d738ff6633b72b",
      "tree": "43958b606712801806e0ff8e3da5426b9c66feaf",
      "parents": [
        "8349b5cd816adf102c078553ec8ca63b3beb457c"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Aug 01 20:09:13 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: set debug registers after \"schedulable\" section\n\nThe vcpu thread can be preempted after the guest_debug_pre() callback,\nresulting in invalid debug registers on the new vcpu.\n\nMove it inside the non-preemptable section.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8349b5cd816adf102c078553ec8ca63b3beb457c",
      "tree": "b2b9b65a6cb9f5acdc95bc1350f049c1d2a8a69f",
      "parents": [
        "464d17c8b747deb77d1bf8c14cc4f28aab2a4952"
      ],
      "author": {
        "name": "Ben-Ami Yassour",
        "email": "benami@il.ibm.com",
        "time": "Tue Aug 05 15:30:13 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: remove unused field from the assigned dev struct\n\nRemove unused field: struct kvm_assigned_pci_dev assigned_dev\nfrom struct: struct kvm_assigned_dev_kernel\n\nSigned-off-by: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "464d17c8b747deb77d1bf8c14cc4f28aab2a4952",
      "tree": "fa27c4b85b1afd5bd501e8f800c777300646def1",
      "parents": [
        "6ad18fba05228fb1d47cdbc0339fe8b3fca1ca26"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Wed Aug 13 14:10:33 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:19 2008 +0200"
      },
      "message": "KVM: VMX: Clean up magic number 0x66 in init_rmode_tss\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6ad18fba05228fb1d47cdbc0339fe8b3fca1ca26",
      "tree": "4b64607dad75aa55dd397784d469d03244f0dfe7",
      "parents": [
        "b772ff362ec6b821c8a5227a3355e263f917bfad"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Aug 11 10:01:49 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:18 2008 +0200"
      },
      "message": "KVM: Reduce stack usage in kvm_pv_mmu_op()\n\nWe\u0027re in a hot path.  We can\u0027t use kmalloc() because\nit might impact performance.  So, we just stick the buffer that\nwe need into the kvm_vcpu_arch structure.  This is used very\noften, so it is not really a waste.\n\nWe also have to move the buffer structure\u0027s definition to the\narch-specific x86 kvm header.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b772ff362ec6b821c8a5227a3355e263f917bfad",
      "tree": "0429106a384afa54f6887380795d568ec9b16d23",
      "parents": [
        "fa3795a7308df099f0f2c9e5ca2c20a5ff65bdc4"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Aug 11 10:01:47 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:18 2008 +0200"
      },
      "message": "KVM: Reduce stack usage in kvm_arch_vcpu_ioctl()\n\n[sheng: fix KVM_GET_LAPIC using wrong size]\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fa3795a7308df099f0f2c9e5ca2c20a5ff65bdc4",
      "tree": "5adec83a7a6348f4e99a76fc0dbfccaa80484647",
      "parents": [
        "f0d662759a2465babdba1160749c446648c9d159"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Aug 11 10:01:46 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:18 2008 +0200"
      },
      "message": "KVM: Reduce stack usage in kvm_vcpu_ioctl()\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f0d662759a2465babdba1160749c446648c9d159",
      "tree": "d98d36f37df91bab55e2cb74cd5647fbf2bfb13e",
      "parents": [
        "4d5c5d0fe89c921336b95f5e7e4f529a9df92f53"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Aug 11 10:01:45 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:18 2008 +0200"
      },
      "message": "KVM: Reduce kvm stack usage in kvm_arch_vm_ioctl()\n\nOn my machine with gcc 3.4, kvm uses ~2k of stack in a few\nselect functions.  This is mostly because gcc fails to\nnotice that the different case: statements could have their\nstack usage combined.  It overflows very nicely if interrupts\nhappen during one of these large uses.\n\nThis patch uses two methods for reducing stack usage.\n1. dynamically allocate large objects instead of putting\n   on the stack.\n2. Use a union{} member for all of the case variables. This\n   tricks gcc into combining them all into a single stack\n   allocation. (There\u0027s also a comment on this)\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4d5c5d0fe89c921336b95f5e7e4f529a9df92f53",
      "tree": "7281955b46811fb25283a3b6abb7620630b2b26e",
      "parents": [
        "cbff90a7caa49507d399c9a55ba4a411e840bfb4"
      ],
      "author": {
        "name": "Ben-Ami Yassour",
        "email": "benami@il.ibm.com",
        "time": "Mon Jul 28 19:26:26 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:18 2008 +0200"
      },
      "message": "KVM: pci device assignment\n\nBased on a patch from: Amit Shah \u003camit.shah@qumranet.com\u003e\n\nThis patch adds support for handling PCI devices that are assigned to\nthe guest.\n\nThe device to be assigned to the guest is registered in the host kernel\nand interrupt delivery is handled.  If a device is already assigned, or\nthe device driver for it is still loaded on the host, the device\nassignment is failed by conveying a -EBUSY reply to the userspace.\n\nDevices that share their interrupt line are not supported at the moment.\n\nBy itself, this patch will not make devices work within the guest.\nThe VT-d extension is required to enable the device to perform DMA.\nAnother alternative is PVDMA.\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "cbff90a7caa49507d399c9a55ba4a411e840bfb4",
      "tree": "badd7eb07475ace6098f0bff66ce296c5ac0f7b7",
      "parents": [
        "0293615f3fb9886b6b23800c121be293bb7483e9"
      ],
      "author": {
        "name": "Ben-Ami Yassour",
        "email": "benami@il.ibm.com",
        "time": "Mon Jul 28 19:26:24 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:17 2008 +0200"
      },
      "message": "KVM: direct mmio pfn check\n\nUserspace may specify memory slots that are backed by mmio pages rather than\nnormal RAM.  In some cases it is not enough to identify these mmio pages\nby pfn_valid().  This patch adds checking the PageReserved as well.\n\nSigned-off-by: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0293615f3fb9886b6b23800c121be293bb7483e9",
      "tree": "e0a4b16ef0af05fb6b0ca90adc1c9b2f9ba067e7",
      "parents": [
        "3807f345b2c610336c17c7624a0d496a38df75a0"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jul 28 11:47:53 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:17 2008 +0200"
      },
      "message": "x86: KVM guest: use paravirt function to calculate cpu khz\n\nWe\u0027re currently facing timing problems in guests that do\ncalibration under heavy load, and then the load vanishes.\nThis means we\u0027ll have a much lower lpj than we actually should,\nand delays end up taking less time than they should, which is a\nnasty bug.\n\nSolution is to pass on the lpj value from host to guest, and have it\npreset.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3807f345b2c610336c17c7624a0d496a38df75a0",
      "tree": "63142e06c85b938ddd6f1b0ced11724f362d6d5d",
      "parents": [
        "3cf57fed216e2c1b6fdfeccb792650bab72a350a"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jul 28 11:47:52 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:17 2008 +0200"
      },
      "message": "x86: paravirt: factor out cpu_khz to common code\n\nKVM intends to use paravirt code to calibrate khz. Xen\ncurrent code will do just fine. So as a first step, factor out\ncode to pvclock.c.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3cf57fed216e2c1b6fdfeccb792650bab72a350a",
      "tree": "5a557f5870f5fccfbdee3bd61cab5a15e6cdc012",
      "parents": [
        "f52447261bc8c21dfd4635196e32d2da1352f589"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sat Jul 26 17:01:01 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:17 2008 +0200"
      },
      "message": "KVM: PIT: fix injection logic and count\n\nThe PIT injection logic is problematic under the following cases:\n\n1) If there is a higher priority vector to be delivered by the time\nkvm_pit_timer_intr_post is invoked ps-\u003einject_pending won\u0027t be set.\nThis opens the possibility for missing many PIT event injections (say if\nguest executes hlt at this point).\n\n2) ps-\u003einject_pending is racy with more than two vcpus. Since there\u0027s no locking\naround read/dec of pt-\u003epending, two vcpu\u0027s can inject two interrupts for a single\npt-\u003epending count.\n\nFix 1 by using an irq ack notifier: only reinject when the previous irq\nhas been acked. Fix 2 with appropriate locking around manipulation of\npending count and irq_ack by the injection / ack paths.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f52447261bc8c21dfd4635196e32d2da1352f589",
      "tree": "a0de6cefa7fbfdd07285bd60c4f61e4e2f2d4ed6",
      "parents": [
        "564f15378f04921d5749f27ec53d5e68a6d1d446"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sat Jul 26 17:01:00 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: irq ack notification\n\nBased on a patch from: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nwhich was based on a patch from: Amit Shah \u003camit.shah@qumranet.com\u003e\n\nNotify IRQ acking on PIC/APIC emulation. The previous patch missed two things:\n\n- Edge triggered interrupts on IOAPIC\n- PIC reset with IRR/ISR set should be equivalent to ack (LAPIC probably\nneeds something similar).\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCC: Amit Shah \u003camit.shah@qumranet.com\u003e\nCC: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "564f15378f04921d5749f27ec53d5e68a6d1d446",
      "tree": "5ba58d06003010de40989a99b920602a1e76fdf9",
      "parents": [
        "49dd2c492895828a90ecdf889e7fe9cfb40a82a7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Jul 26 17:00:59 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: Add irq ack notifier list\n\nThis can be used by kvm subsystems that are interested in when\ninterrupts are acked, for example time drift compensation.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "49dd2c492895828a90ecdf889e7fe9cfb40a82a7",
      "tree": "63b5f85b0ed5a94c8265d86dda4db262b00adf95",
      "parents": [
        "83aae4a8098eb8a40a2e9dab3714354182143b4f"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:53 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: powerpc: Map guest userspace with TID\u003d0 mappings\n\nWhen we use TID\u003dN userspace mappings, we must ensure that kernel mappings have\nbeen destroyed when entering userspace. Using TID\u003d1/TID\u003d0 for kernel/user\nmappings and running userspace with PID\u003d0 means that userspace can\u0027t access the\nkernel mappings, but the kernel can directly access userspace.\n\nThe net is that we don\u0027t need to flush the TLB on privilege switches, but we do\non guest context switches (which are far more infrequent). Guest boot time\nperformance improvement: about 30%.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "83aae4a8098eb8a40a2e9dab3714354182143b4f",
      "tree": "872381c8aa610e3c1053008e967728f121fa55cb",
      "parents": [
        "20754c2495a791b5b429c0da63394c86ade978e7"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:52 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: ppc: Write only modified shadow entries into the TLB on exit\n\nTrack which TLB entries need to be written, instead of overwriting everything\nbelow the high water mark. Typically only a single guest TLB entry will be\nmodified in a single exit.\n\nGuest boot time performance improvement: about 15%.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "20754c2495a791b5b429c0da63394c86ade978e7",
      "tree": "fbeed7fdab0f91417798aa5e4cea22f15a255275",
      "parents": [
        "6a0ab738ef42d87951b3980f61b1f4cbb14d4171"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:51 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: ppc: Stop saving host TLB state\n\nWe\u0027re saving the host TLB state to memory on every exit, but never using it.\nOriginally I had thought that we\u0027d want to restore host TLB for heavyweight\nexits, but that could actually hurt when context switching to an unrelated host\nprocess (i.e. not qemu).\n\nSince this decreases the performance penalty of all exits, this patch improves\nguest boot time by about 15%.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6a0ab738ef42d87951b3980f61b1f4cbb14d4171",
      "tree": "8650adf6b8c2df9817c7d6dff2a2f8a4b4904abc",
      "parents": [
        "b5e2fec0ebc3fcaff954092bb69444a67a904c0a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:49 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: ppc: guest breakpoint support\n\nAllow host userspace to program hardware debug registers to set breakpoints\ninside guests.\n\nSigned-off-by: Jerone Young \u003cjyoung5@us.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b5e2fec0ebc3fcaff954092bb69444a67a904c0a",
      "tree": "6b622b0ed106e51cf8e7a64b6bcacb1c33a8c152",
      "parents": [
        "313dbd49dc239205b96da79fba09f7637cf84f3c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Jul 22 08:00:45 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:15 2008 +0200"
      },
      "message": "KVM: Ignore DEBUGCTL MSRs with no effect\n\nNetware writes to DEBUGCTL and reads from the DEBUGCTL and LAST*IP MSRs\nwithout further checks and is really confused to receive a #GP during that.\nTo make it happy we should just make them stubs, which is exactly what SVM\nalready does.\n\nWrites to DEBUGCTL that are vendor-specific are resembled to behave as if the\nvirtual CPU does not know them.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "313dbd49dc239205b96da79fba09f7637cf84f3c",
      "tree": "4cc4989b88d23d9e351acd4759378774e789905c",
      "parents": [
        "3b4bd7969f7b61a1ab455bff084ee4f0a2411055"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jul 17 18:04:30 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:15 2008 +0200"
      },
      "message": "KVM: VMX: Avoid vmwrite(HOST_RSP) when possible\n\nUsually HOST_RSP retains its value across guest entries.  Take advantage\nof this and avoid a vmwrite() when this is so.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3b4bd7969f7b61a1ab455bff084ee4f0a2411055",
      "tree": "019b375e8981e70e8b60dd43d0d9ae6927f76724",
      "parents": [
        "31711f2294b38d8334efaf7dbac6da4781fd151e"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Jul 14 14:00:04 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:15 2008 +0200"
      },
      "message": "KVM: ppc: trace powerpc instruction emulation\n\nThis patch adds a trace point for the instruction emulation on embedded powerpc\nutilizing the KVM_TRACE interface.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "31711f2294b38d8334efaf7dbac6da4781fd151e",
      "tree": "0e60487f9c79113f1f0c9cbc094d9a167d5c3f46",
      "parents": [
        "12f67556023389a6be929a56617142a8e8ab20fe"
      ],
      "author": {
        "name": "Jerone Young",
        "email": "jyoung5@us.ibm.com",
        "time": "Mon Jul 14 14:00:03 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:15 2008 +0200"
      },
      "message": "KVM: ppc: adds trace points for ppc tlb activity\n\nThis patch adds trace points to track powerpc TLB activities using the\nKVM_TRACE infrastructure.\n\nSigned-off-by: Jerone Young \u003cjyoung5@us.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "12f67556023389a6be929a56617142a8e8ab20fe"
}
