)]}'
{
  "log": [
    {
      "commit": "714b93da1a6d97307dfafb9915517879d8a66c0d",
      "tree": "619f30567c9e13b79830301023bef58b98b8f433",
      "parents": [
        "f51234c2cd3ab8bed836e09686e27877e1b55f2a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:27 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Replace atomic allocations by preallocated objects\n\nThe mmu sometimes needs memory for reverse mapping and parent pte chains.\nhowever, we can\u0027t allocate from within the mmu because of the atomic context.\n\nSo, move the allocations to a central place that can be executed before the\nmain mmu machinery, where we can bail out on failure before any damage is\ndone.\n\n(error handling is deffered for now, but the basic structure is there)\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3bb65a22a4502067f8cd3cb4c923ffa70be62091",
      "tree": "b8ee904c9a4b99f0c8f58e93b257f653222e3ba0",
      "parents": [
        "86a5ba025d0a0b251817d0efbeaf7037d4175d21"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:26 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Never free a shadow page actively serving as a root\n\nWe always need cr3 to point to something valid, so if we detect that we\u0027re\nfreeing a root page, simply push it back to the top of the active list.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86a5ba025d0a0b251817d0efbeaf7037d4175d21",
      "tree": "35dbc71edaa0d242ba4c0ca429c41cff67df38d0",
      "parents": [
        "139bdb2d9e410d448281057a37b53770324ccac8"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:50 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:26 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Page table write flood protection\n\nIn fork() (or when we protect a page that is no longer a page table), we can\nexperience floods of writes to a page, which have to be emulated.  This is\nexpensive.\n\nSo, if we detect such a flood, zap the page so subsequent writes can proceed\nnatively.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f015a5b28c75bb6cc5158640db58689b1ee1b51",
      "tree": "7b103d11d256bfc83c8cd61841cdb893d2b09617",
      "parents": [
        "ebeace8609205bf5e1b96fe325b7dea148042232"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:25 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Remove invlpg interception\n\nSince we write protect shadowed guest page tables, there is no need to trap\npage invalidations (the guest will always change the mapping before issuing\nthe invlpg instruction).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebeace8609205bf5e1b96fe325b7dea148042232",
      "tree": "863991639d7df2a4aa5fd8b20b6b3a28c2cc2cda",
      "parents": [
        "cc4529efc7b730b596d9c7d5a917c00a357e92aa"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:25 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: oom handling\n\nWhen beginning to process a page fault, make sure we have enough shadow pages\navailable to service the fault.  If not, free some pages.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a436036baf331703b4d2c8e8a45f02c597bf6913",
      "tree": "ba134b0b42ca42c53e818073af8d51d73771c56b",
      "parents": [
        "9b7a032567ee1128daeebebfc14d3acedfe28c8c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:25 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: If emulating an instruction fails, try unprotecting the page\n\nA page table may have been recycled into a regular page, and so any\ninstruction can be executed on it.  Unprotect the page and let the cpu do its\nthing.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da4a00f002239f72b0d7d0eeaa3b60100e2b1438",
      "tree": "7c7e72ea1fd48025c029429b413e127a3a580c10",
      "parents": [
        "815af8d42ee3f844c0ceaf2104bd9c6a0bb1e26c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:25 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Support emulated writes into RAM\n\nAs the mmu write protects guest page table, we emulate those writes.  Since\nthey are not mmio, there is no need to go to userspace to perform them.\n\nSo, perform the writes in the kernel if possible, and notify the mmu about\nthem so it can take the approriate action.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cea0f0e7ea54753c3265dc77f605a6dad1912cfc",
      "tree": "e0a3e64b45fe83f1f0ae89556e1f6fcf92f07185",
      "parents": [
        "25c0de2cc6c26cb99553c2444936a7951c120c09"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:43 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:24 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Shadow page table caching\n\nDefine a hashtable for caching shadow page tables. Look up the cache on\ncontext switch (cr3 change) or during page faults.\n\nThe key to the cache is a combination of\n- the guest page table frame number\n- the number of paging levels in the guest\n   * we can cache real mode, 32-bit mode, pae, and long mode page\n     tables simultaneously.  this is useful for smp bootup.\n- the guest page table table\n   * some kernels use a page as both a page table and a page directory.  this\n     allows multiple shadow pages to exist for that page, one per level\n- the \"quadrant\"\n   * 32-bit mode page tables span 4MB, whereas a shadow page table spans\n     2MB.  similarly, a 32-bit page directory spans 4GB, while a shadow\n     page directory spans 1GB.  the quadrant allows caching up to 4 shadow page\n     tables for one guest page in one level.\n- a \"metaphysical\" bit\n   * for real mode, and for pse pages, there is no guest page table, so set\n     the bit to avoid write protecting the page.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "17ac10ad2bb7d8c4f401668484b2e661a15726c6",
      "tree": "671a11b2be1d9f48e96eae8af2b05867f4199db0",
      "parents": [
        "ac79c978f173586ab3624427c89cd22b393cabd4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:24 2007 -0800"
      },
      "message": "[PATCH] KVM: MU: Special treatment for shadow pae root pages\n\nSince we\u0027re not going to cache the pae-mode shadow root pages, allocate a\nsingle pae shadow that will hold the four lower-level pages, which will act as\nroots.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1342d3536d6a12541ceb276da15f043db90716eb",
      "tree": "fefac89864ed7b34b466237e5c02fc783242b80e",
      "parents": [
        "6bcbd6aba00fced696fc99f1a4fcd7ac7d42d6ef"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:24 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Load the pae pdptrs on cr3 change like the processor does\n\nIn pae mode, a load of cr3 loads the four third-level page table entries in\naddition to cr3 itself.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd4a4e5374110444dc38831af517e51ff5a053c3",
      "tree": "ed82756435e7909c7698d112195994c2e8062328",
      "parents": [
        "399badf315bd4dd571b4b3b7cf666d9a2af40229"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:24 2007 -0800"
      },
      "message": "[PATCH] KVM: MMU: Implement simple reverse mapping\n\nKeep in each host page frame\u0027s page-\u003eprivate a pointer to the shadow pte which\nmaps it.  If there are multiple shadow ptes mapping the page, set bit 0 of\npage-\u003eprivate, and use the rest as a pointer to a linked list of all such\nmappings.\n\nReverse mappings are needed because we when we cache shadow page tables, we\nmust protect the guest page tables from being modified by the guest, as that\nwould invalidate the cached ptes.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "399badf315bd4dd571b4b3b7cf666d9a2af40229",
      "tree": "5c84e0392454df650cb4ce25d6bfcb3bac843bc3",
      "parents": [
        "cb26b572dc39467ba0969d1a76c2f723d2d6a2a6"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 05 16:36:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:23 2007 -0800"
      },
      "message": "[PATCH] KVM: Prevent stale bits in cr0 and cr4\n\nHardware virtualization implementations allow the guests to freely change some\nof the bits in cr0 and cr4, but trap when changing the other bits.  This is\nuseful to avoid excessive exits due to changing, for example, the ts flag.\n\nIt also means the kvm\u0027s copy of cr0 and cr4 may be stale with respect to these\nbits.  most of the time this doesn\u0027t matter as these bits are not very\ninteresting.  Other times, however (for example when returning cr0 to\nuserspace), they are, so get the fresh contents of these bits from the guest\nby means of a new arch operation.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1150d8cf9e9d2b356fab52d79f2366985e5511b",
      "tree": "dbd50c3e064c22dcab7ce4acc7236370c6750923",
      "parents": [
        "e097f35ce58eb8d687f3a300247cf1a978fcea39"
      ],
      "author": {
        "name": "Dor Laor",
        "email": "dor.laor@qumranet.com",
        "time": "Fri Jan 05 16:36:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:22 2007 -0800"
      },
      "message": "[PATCH] KVM: Improve interrupt response\n\nThe current interrupt injection mechanism might delay an interrupt under\nthe following circumstances:\n\n - if injection fails because the guest is not interruptible (rflags.IF clear,\n   or after a \u0027mov ss\u0027 or \u0027sti\u0027 instruction).  Userspace can check rflags,\n   but the other cases or not testable under the current API.\n - if injection fails because of a fault during delivery.  This probably\n   never happens under normal guests.\n - if injection fails due to a physical interrupt causing a vmexit so that\n   it can be handled by the host.\n\nIn all cases the guest proceeds without processing the interrupt, reducing\nthe interactive feel and interrupt throughput of the guest.\n\nThis patch fixes the situation by allowing userspace to request an exit\nwhen the \u0027interrupt window\u0027 opens, so that it can re-inject the interrupt\nat the right time.  Guest interactivity is very visibly improved.\n\nSigned-off-by: Dor Laor \u003cdor.laor@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8018c27b26af56af18eb8b2dc600eba825792d8f",
      "tree": "1125fea536282ff9605f101728a880157796692e",
      "parents": [
        "55a54f79e091d52c3c2835985c347ea4d2e1c21f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 29 16:50:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 30 10:56:44 2006 -0800"
      },
      "message": "[PATCH] kvm: fix GFP_KERNEL allocation in atomic section in kvm_dev_ioctl_create_vcpu()\n\nfix an GFP_KERNEL allocation in atomic section: kvm_dev_ioctl_create_vcpu()\ncalled kvm_mmu_init(), which calls alloc_pages(), while holding the vcpu.\n\nThe fix is to set up the MMU state in two phases: kvm_mmu_create() and\nkvm_mmu_setup().\n\n(NOTE: free_vcpus does an kvm_mmu_destroy() call so there\u0027s no need for any\nextra teardown branch on allocation/init failure here.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3bab1f5dda3443043cc8fe68c5ae75530339f28f",
      "tree": "d1b675e8f5328094c1a3d651da5e7563ad692252",
      "parents": [
        "671d6564796e0c90398aab30f89b5e48fc5a3fbe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Dec 29 16:49:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 30 10:56:44 2006 -0800"
      },
      "message": "[PATCH] KVM: Move common msr handling to arch independent code\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a9058ecd3cd72634cf548588ce79b3f225c9ca32",
      "tree": "11d1edd2dfdcec03ba6b54b3b06d41cae826b940",
      "parents": [
        "1e885461f02259d75e7480a70d291d2d8aaa938e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Dec 29 16:49:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 30 10:56:44 2006 -0800"
      },
      "message": "[PATCH] KVM: Simplify is_long_mode()\n\nInstead of doing tricky stuff with the arch dependent virtualization\nregisters, take a peek at the guest\u0027s efer.\n\nThis simlifies some code, and fixes some confusion in the mmu branch.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05b3e0c2c791a70bf0735aaec53cdf6d340eef85",
      "tree": "cfdc46f216e5a7996972ff88681dd03bed9b0022",
      "parents": [
        "5aff458e9c90df55d6badabd89a1a063a80d9768"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Dec 13 00:33:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:46 2006 -0800"
      },
      "message": "[PATCH] KVM: Replace __x86_64__ with CONFIG_X86_64\n\nAs per akpm\u0027s request.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7",
      "tree": "23fcbe6f4918cacdae26d513a2bd13e91d8b4c38",
      "parents": [
        "f5f1a24a2caa299bb7d294aee92d7dd3410d9ed7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 10 02:21:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:22 2006 -0800"
      },
      "message": "[PATCH] kvm: userspace interface\n\nweb site: http://kvm.sourceforge.net\n\nmailing list: kvm-devel@lists.sourceforge.net\n  (http://lists.sourceforge.net/lists/listinfo/kvm-devel)\n\nThe following patchset adds a driver for Intel\u0027s hardware virtualization\nextensions to the x86 architecture.  The driver adds a character device\n(/dev/kvm) that exposes the virtualization capabilities to userspace.  Using\nthis driver, a process can run a virtual machine (a \"guest\") in a fully\nvirtualized PC containing its own virtual hard disks, network adapters, and\ndisplay.\n\nUsing this driver, one can start multiple virtual machines on a host.\n\nEach virtual machine is a process on the host; a virtual cpu is a thread in\nthat process.  kill(1), nice(1), top(1) work as expected.  In effect, the\ndriver adds a third execution mode to the existing two: we now have kernel\nmode, user mode, and guest mode.  Guest mode has its own address space mapping\nguest physical memory (which is accessible to user mode by mmap()ing\n/dev/kvm).  Guest mode has no access to any I/O devices; any such access is\nintercepted and directed to user mode for emulation.\n\nThe driver supports i386 and x86_64 hosts and guests.  All combinations are\nallowed except x86_64 guest on i386 host.  For i386 guests and hosts, both pae\nand non-pae paging modes are supported.\n\nSMP hosts and UP guests are supported.  At the moment only Intel\nhardware is supported, but AMD virtualization support is being worked on.\n\nPerformance currently is non-stellar due to the naive implementation of the\nmmu virtualization, which throws away most of the shadow page table entries\nevery context switch.  We plan to address this in two ways:\n\n- cache shadow page tables across tlb flushes\n- wait until AMD and Intel release processors with nested page tables\n\nCurrently a virtual desktop is responsive but consumes a lot of CPU.  Under\nWindows I tried playing pinball and watching a few flash movies; with a recent\nCPU one can hardly feel the virtualization.  Linux/X is slower, probably due\nto X being in a separate process.\n\nIn addition to the driver, you need a slightly modified qemu to provide I/O\ndevice emulation and the BIOS.\n\nCaveats (akpm: might no longer be true):\n\n- The Windows install currently bluescreens due to a problem with the\n  virtual APIC.  We are working on a fix.  A temporary workaround is to\n  use an existing image or install through qemu\n- Windows 64-bit does not work.  That\u0027s also true for qemu, so it\u0027s\n  probably a problem with the device model.\n\n[bero@arklinux.org: build fix]\n[simon.kagstrom@bth.se: build fix, other fixes]\n[uril@qumranet.com: KVM: Expose interrupt bitmap]\n[akpm@osdl.org: i386 build fix]\n[mingo@elte.hu: i386 fixes]\n[rdreier@cisco.com: add log levels to all printks]\n[randy.dunlap@oracle.com: Fix sparse NULL and C99 struct init warnings]\n[anthony@codemonkey.ws: KVM: AMD SVM: 32-bit host support]\nSigned-off-by: Yaniv Kamay \u003cyaniv@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Simon Kagstrom \u003csimon.kagstrom@bth.se\u003e\nCc: Bernhard Rosenkraenzer \u003cbero@arklinux.org\u003e\nSigned-off-by: Uri Lublin \u003curil@qumranet.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Anthony Liguori \u003canthony@codemonkey.ws\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
