)]}'
{
  "log": [
    {
      "commit": "40e47125e6c5110383b0176d7b9d530f2936b1ae",
      "tree": "9653ac1f586cbfe36286c2d987c9330078eb37ad",
      "parents": [
        "4e70daaf05a181b6968e29e72e9f1c16a183e92c"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Sun Mar 04 23:16:11 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Mar 07 16:08:24 2012 +0100"
      },
      "message": "Documentation: Fix multiple typo in Documentation\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "13289d5f2b2ee73583e6c65c46a1e0cd48c3ddc0",
      "tree": "4fd853a8d2d29e8c821236fac318293eed77a959",
      "parents": [
        "a72caae21803b74e04e2afda5e035f149d4ea118"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 28 08:10:23 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 28 08:10:23 2012 +1030"
      },
      "message": "lguest: remove reference from Documentation/virtual/00-INDEX\n\nWe\u0027re in tools/lguest now.\n\nReported-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "07fe9977b6234ede1bd29e10e0323e478860c871",
      "tree": "802e48e78503b82953b9ff415f882fb6edb05dbc",
      "parents": [
        "39082f7e5912cdc70f9ab0767e7342711f34b9f8"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Thu Jan 12 15:44:47 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:47 2012 +1030"
      },
      "message": "lguest: move the lguest tool to the tools directory\n\nThis is a better location instead of having it in Documentation.\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (fixed compile)\n"
    },
    {
      "commit": "3f745f1e224e05e845a15760a55f3fd323f7a753",
      "tree": "d71d44d4d506cdb55604c0eaa0b77d041f39c06b",
      "parents": [
        "234b639206a7d9d5ca362cff64ceddd4f27e4a46"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 07 12:42:47 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:18 2011 +0200"
      },
      "message": "KVM: Document KVM_NMI\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4d25a066b69fb749a39d0d4c610689dd765a0b0e",
      "tree": "34f644f5a0f734a815225cade757088a9862318b",
      "parents": [
        "3d27e23b17010c668db311140b17bbbb70c78fb9"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Dec 21 12:28:29 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 26 13:27:44 2011 +0200"
      },
      "message": "KVM: Don\u0027t automatically expose the TSC deadline timer in cpuid\n\nUnlike all of the other cpuid bits, the TSC deadline timer bit is set\nunconditionally, regardless of what userspace wants.\n\nThis is broken in several ways:\n - if userspace doesn\u0027t use KVM_CREATE_IRQCHIP, and doesn\u0027t emulate the TSC\n   deadline timer feature, a guest that uses the feature will break\n - live migration to older host kernels that don\u0027t support the TSC deadline\n   timer will cause the feature to be pulled from under the guest\u0027s feet;\n   breaking it\n - guests that are broken wrt the feature will fail.\n\nFix by not enabling the feature automatically; instead report it to userspace.\nBecause the feature depends on KVM_CREATE_IRQCHIP, which we cannot guarantee\nwill be called, we expose it via a KVM_CAP_TSC_DEADLINE_TIMER and not\nKVM_GET_SUPPORTED_CPUID.\n\nFixes the Illumos guest kernel, which uses the TSC deadline timer feature.\n\n[avi: add the KVM_CAP + documentation]\n\nReported-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nTested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3d27e23b17010c668db311140b17bbbb70c78fb9",
      "tree": "d3d87399212b2dda0bbf6616e4a580b35e7d7760",
      "parents": [
        "423873736b78f549fbfa2f715f2e4de7e6c5e1e9"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Dec 20 21:59:09 2011 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 19:03:54 2011 +0200"
      },
      "message": "KVM: Device assignment permission checks\n\nOnly allow KVM device assignment to attach to devices which:\n\n - Are not bridges\n - Have BAR resources (assume others are special devices)\n - The user has permissions to use\n\nAssigning a bridge is a configuration error, it\u0027s not supported, and\ntypically doesn\u0027t result in the behavior the user is expecting anyway.\nDevices without BAR resources are typically chipset components that\nalso don\u0027t have host drivers.  We don\u0027t want users to hold such devices\ncaptive or cause system problems by fencing them off into an iommu\ndomain.  We determine \"permission to use\" by testing whether the user\nhas access to the PCI sysfs resource files.  By default a normal user\nwill not have access to these files, so it provides a good indication\nthat an administration agent has granted the user access to the device.\n\n[Yang Bai: add missing #include]\n[avi: fix comment style]\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Yang Bai \u003chamo.by@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "423873736b78f549fbfa2f715f2e4de7e6c5e1e9",
      "tree": "62526563ccca81957a4c100aa0bc359dcd10af08",
      "parents": [
        "0924ab2cfa98b1ece26c033d696651fd62896c69"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Dec 20 21:59:03 2011 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 17:13:31 2011 +0200"
      },
      "message": "KVM: Remove ability to assign a device without iommu support\n\nThis option has no users and it exposes a security hole that we\ncan allow devices to be assigned without iommu protection.  Make\nKVM_DEV_ASSIGN_ENABLE_IOMMU a mandatory option.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "de0a5345a55b8dd5a4695181275df0e691176830",
      "tree": "17530e824f7f46ce0b1757657179fb5957a6add5",
      "parents": [
        "994c0e992522c123298b4a91b72f5e67ba2d1123",
        "8535639810e578960233ad39def3ac2157b0c3ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 09:45:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 09:45:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://github.com/richardweinberger/linux\n\n* \u0027for-linus\u0027 of git://github.com/richardweinberger/linux: (90 commits)\n  um: fix ubd cow size\n  um: Fix kmalloc argument order in um/vdso/vma.c\n  um: switch to use of drivers/Kconfig\n  UserModeLinux-HOWTO.txt: fix a typo\n  UserModeLinux-HOWTO.txt: remove ^H characters\n  um: we need sys/user.h only on i386\n  um: merge delay_{32,64}.c\n  um: distribute exports to where exported stuff is defined\n  um: kill system-um.h\n  um: generic ftrace.h will do...\n  um: segment.h is x86-only and needed only there\n  um: asm/pda.h is not needed anymore\n  um: hw_irq.h can go generic as well\n  um: switch to generic-y\n  um: clean Kconfig up a bit\n  um: a couple of missing dependencies...\n  um: kill useless argument of free_chan() and free_one_chan()\n  um: unify ptrace_user.h\n  um: unify KSTK_...\n  um: fix gcov build breakage\n  ...\n"
    },
    {
      "commit": "c039aff672a540f8976770e74599d350de1805cb",
      "tree": "1ffa9088b0511ed8a694fab023774a87992db617",
      "parents": [
        "8a91db29252f87630e6f31a56ff96eeda00d5ba3"
      ],
      "author": {
        "name": "Jonathan Neuschäfer",
        "email": "j.neuschaefer@gmx.net",
        "time": "Mon Aug 15 15:34:10 2011 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Wed Nov 02 14:15:40 2011 +0100"
      },
      "message": "UserModeLinux-HOWTO.txt: fix a typo\n\nSigned-off-by: Jonathan Neuschäfer \u003cj.neuschaefer@gmx.net\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "8a91db29252f87630e6f31a56ff96eeda00d5ba3",
      "tree": "217548fb8ec668d6ae113ec128eb286ec8a65df4",
      "parents": [
        "38b64aed786d59854ecc850ee5ece85b61dd252b"
      ],
      "author": {
        "name": "Jonathan Neuschäfer",
        "email": "j.neuschaefer@gmx.net",
        "time": "Fri Aug 12 02:28:23 2011 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Wed Nov 02 14:15:39 2011 +0100"
      },
      "message": "UserModeLinux-HOWTO.txt: remove ^H characters\n\nIf you can\u0027t read this patch, please run:\n\n\tsed -i -e \"s/[^\\o10]\\o10//g\" \\\n\t\tDocumentation/virtual/uml/UserModeLinux-HOWTO.txt\n\nSigned-off-by: Jonathan Neuschäfer \u003cj.neuschaefer@gmx.net\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "1bc87b00556e8f7ba30a1010471951c5b8f71114",
      "tree": "e73c2d187e2dff0df97ed82e32b45e362b923117",
      "parents": [
        "acff987d94cbdb4049f3706bed1f1792f8ef6837",
        "f1c1da2bde712812a3e0f9a7a7ebe7a916a4b5f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:36:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:36:45 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (75 commits)\n  KVM: SVM: Keep intercepting task switching with NPT enabled\n  KVM: s390: implement sigp external call\n  KVM: s390: fix register setting\n  KVM: s390: fix return value of kvm_arch_init_vm\n  KVM: s390: check cpu_id prior to using it\n  KVM: emulate lapic tsc deadline timer for guest\n  x86: TSC deadline definitions\n  KVM: Fix simultaneous NMIs\n  KVM: x86 emulator: convert push %sreg/pop %sreg to direct decode\n  KVM: x86 emulator: switch lds/les/lss/lfs/lgs to direct decode\n  KVM: x86 emulator: streamline decode of segment registers\n  KVM: x86 emulator: simplify OpMem64 decode\n  KVM: x86 emulator: switch src decode to decode_operand()\n  KVM: x86 emulator: qualify OpReg inhibit_byte_regs hack\n  KVM: x86 emulator: switch OpImmUByte decode to decode_imm()\n  KVM: x86 emulator: free up some flag bits near src, dst\n  KVM: x86 emulator: switch src2 to generic decode_operand()\n  KVM: x86 emulator: expand decode flags to 64 bits\n  KVM: x86 emulator: split dst decode to a generic decode_operand()\n  KVM: x86 emulator: move memop, memopp into emulation context\n  ...\n"
    },
    {
      "commit": "395cf9691d72173d8cdaa613c5f0255f993af94b",
      "tree": "813be524794fe1c0850805d7faca90e45fd0e60b",
      "parents": [
        "e060c38434b2caa78efe7cedaff4191040b65a15"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Aug 15 02:02:26 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 27 18:08:04 2011 +0200"
      },
      "message": "doc: fix broken references\n\nThere are numerous broken references to Documentation files (in other\nDocumentation files, in comments, etc.). These broken references are\ncaused by typo\u0027s in the references, and by renames or removals of the\nDocumentation files. Some broken references are simply odd.\n\nFix these broken references, sometimes by dropping the irrelevant text\nthey were part of.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "821246a5a548858c78a5e8860862e91c9e035d6b",
      "tree": "0d1a5744da3cf6aab958f20e86b76fbbb95306e4",
      "parents": [
        "19ccb76a1938ab364a412253daec64613acbf3df"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Aug 31 10:58:55 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 25 19:52:31 2011 +0300"
      },
      "message": "KVM: Update documentation to include detailed ENABLE_CAP description\n\nWe have an ioctl that enables capabilities individually, but no description\non what exactly happens when we enable a capability using this ioctl.\n\nThis patch adds documentation for capability enabling in a new section\nof the API documentation.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "364426871ca33752a6e8fcfccec4d89e2eaf06f7",
      "tree": "97406a68a873a256051f0edc91989a2cf78e3854",
      "parents": [
        "58fbbf26eb01cf6d92cf18da8d14b3a4af9c4b47"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 29 16:27:08 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 25 19:52:18 2011 +0300"
      },
      "message": "KVM: Restore missing powerpc API docs\n\nCommit 371fefd6 lost a doc hunk somehow, restore it.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8c3ba334f8588e1d5099f8602cf01897720e0eca",
      "tree": "3f195eba4ff341817990db4b60c4aae829a80d82",
      "parents": [
        "c298125f4bc30fdbe4b7c33460ef57271cc51a7d"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Mon Jul 18 17:17:15 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 25 19:17:57 2011 +0300"
      },
      "message": "KVM: x86: Raise the hard VCPU count limit\n\nThe patch raises the hard limit of VCPU count to 254.\n\nThis will allow developers to easily work on scalability\nand will allow users to test high VCPU setups easily without\npatching the kernel.\n\nTo prevent possible issues with current setups, KVM_CAP_NR_VCPUS\nnow returns the recommended VCPU limit (which is still 64) - this\nshould be a safe value for everybody, while a new KVM_CAP_MAX_VCPUS\nreturns the hard limit which is now 254.\n\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSuggested-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e22a539824e8ddb82c87b4f415165ede82e6ab56",
      "tree": "39d68ab2ad811abc19a1fc1595fd71a37df43aae",
      "parents": [
        "c3c53a073247ee7522ca80393319540db9f4dc1e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 15 10:15:10 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 15 10:15:10 2011 +0930"
      },
      "message": "lguest: allow booting guest with CONFIG_RELOCATABLE\u003dy\n\nThe CONFIG_RELOCATABLE code tries to align the unpack destination to\nthe value of \u0027kernel_alignment\u0027 in the setup_hdr.  If that\u0027s 0, it\ntries to unpack to address 0, which in fact causes the gunzip code\nto call \u0027error(\"Out of memory while allocating output buffer\")\u0027.\n\nThe bootloader (ie. the lguest Launcher in this case) should be doing\nsetting this field; the normal bzImage is 16M, we can use the same.\n\nReported-by: Stefanos Geraggelos \u003csgerag@cslab.ece.ntua.gr\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c3c53a073247ee7522ca80393319540db9f4dc1e",
      "tree": "558f5cb3fbcb27ca32cfd4c47b0adf3ed5fc9104",
      "parents": [
        "91d85ea6786107aa2837bef3e957165ad7c8b823"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 15 10:15:10 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 15 10:15:10 2011 +0930"
      },
      "message": "virtio: Add text copy of spec to Documentation/virtual.\n\nAs suggested by Christoph Hellwig.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5fabc487c96819dd12ddb9414835d170fd9cd6d5",
      "tree": "01532d492e5074b0d3add29bf92ebf9a9d161e9e",
      "parents": [
        "c61264f98c1a974ee6f545f61a4ab33b141d6bda",
        "3f68b0318bbbd61bf08478ab99a149f0d9e5156e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits)\n  KVM: IOMMU: Disable device assignment without interrupt remapping\n  KVM: MMU: trace mmio page fault\n  KVM: MMU: mmio page fault support\n  KVM: MMU: reorganize struct kvm_shadow_walk_iterator\n  KVM: MMU: lockless walking shadow page table\n  KVM: MMU: do not need atomicly to set/clear spte\n  KVM: MMU: introduce the rules to modify shadow page table\n  KVM: MMU: abstract some functions to handle fault pfn\n  KVM: MMU: filter out the mmio pfn from the fault pfn\n  KVM: MMU: remove bypass_guest_pf\n  KVM: MMU: split kvm_mmu_free_page\n  KVM: MMU: count used shadow pages on prepareing path\n  KVM: MMU: rename \u0027pt_write\u0027 to \u0027emulate\u0027\n  KVM: MMU: cleanup for FNAME(fetch)\n  KVM: MMU: optimize to handle dirty bit\n  KVM: MMU: cache mmio info on page fault path\n  KVM: x86: introduce vcpu_mmio_gva_to_gpa to cleanup the code\n  KVM: MMU: do not update slot bitmap if spte is nonpresent\n  KVM: MMU: fix walking shadow page table\n  KVM guest: KVM Steal time registration\n  ...\n"
    },
    {
      "commit": "9f54288def3f92b7805eb6d4b1ddcd73ecf6e889",
      "tree": "bb46242a92e47112c2967354b3be0c6daecae7a7",
      "parents": [
        "3c3ed482dc077a67903a58c9e1aedba1bb18c18a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 22 14:39:50 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 22 14:39:50 2011 +0930"
      },
      "message": "lguest: update comments\n\nAlso removes a long-unused #define and an extraneous semicolon.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3c3ed482dc077a67903a58c9e1aedba1bb18c18a",
      "tree": "ad3987515d68fcfa7155574e53ab47aabd41e593",
      "parents": [
        "6d7a5d1ea34495ecb1d608f0e40afba7776ee408"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 22 14:39:49 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 22 14:39:49 2011 +0930"
      },
      "message": "lguest: Simplify device initialization.\n\nWe used to notify the Host every time we updated a device\u0027s status.  However,\nit only really needs to know when we\u0027re resetting the device, or failed to\ninitialize it, or when we\u0027ve finished our feature negotiation.\n\nIn particular, we used to wait for VIRTIO_CONFIG_S_DRIVER_OK in the\nstatus byte before starting the device service threads.  But this\ncorresponds to the successful finish of device initialization, which\nmight (like virtio_blk\u0027s partition scanning) use the device.  So we\nhad a hack, if they used the device before we expected we started the\nthreads anyway.\n\nNow we hook into the finalize_features hook in the Guest: at that\npoint we tell the Launcher that it can rely on the features we have\nacked.  On the Launcher side, we look at the status at that point, and\nstart servicing the device.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e0377e25206328998d036cafddcd00a7c3252e3e",
      "tree": "6cd94c5510d439b8af4ae0ae85deeab8c1c5bdd8",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Sakari Ailus",
        "email": "sakari.ailus@iki.fi",
        "time": "Sun Jun 26 19:36:46 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 22 14:39:48 2011 +0930"
      },
      "message": "lguest: Do not exit on non-fatal errors\n\nDo not exit on some non-fatal errors:\n\n- writev() fails in net_output(). The result is a lost packet or packets.\n- writev() fails in console_output(). The result is partially lost console\noutput.\n- readv() fails in net_input(). The result is a lost packet or packets.\n\nRather than bringing the guest down, this patch ignores e.g. an allocation\nfailure on the host side. Example:\n\nlguest: page allocation failure. order:4, mode:0x4d0\nPid: 4045, comm: lguest Tainted: G        W   2.6.36 #1\nCall Trace:\n [\u003cc138d614\u003e] ? printk+0x18/0x1c\n [\u003cc106a4e2\u003e] __alloc_pages_nodemask+0x4d2/0x570\n [\u003cc1087954\u003e] cache_alloc_refill+0x2a4/0x4d0\n [\u003cc1305149\u003e] ? __netif_receive_skb+0x189/0x270\n [\u003cc1087c5a\u003e] __kmalloc+0xda/0xf0\n [\u003cc12fffa5\u003e] __alloc_skb+0x55/0x100\n [\u003cc1305519\u003e] ? net_rx_action+0x79/0x100\n [\u003cc12fafed\u003e] sock_alloc_send_pskb+0x18d/0x280\n [\u003cc11fda25\u003e] ? _copy_from_user+0x35/0x130\n [\u003cc13010b6\u003e] ? memcpy_fromiovecend+0x56/0x80\n [\u003cc12a74dc\u003e] tun_chr_aio_write+0x1cc/0x500\n [\u003cc108a125\u003e] do_sync_readv_writev+0x95/0xd0\n [\u003cc11fda25\u003e] ? _copy_from_user+0x35/0x130\n [\u003cc1089fa8\u003e] ? rw_copy_check_uvector+0x58/0x100\n [\u003cc108a7bc\u003e] do_readv_writev+0x9c/0x1d0\n [\u003cc12a7310\u003e] ? tun_chr_aio_write+0x0/0x500\n [\u003cc108a93a\u003e] vfs_writev+0x4a/0x60\n [\u003cc108aa21\u003e] sys_writev+0x41/0x80\n [\u003cc138f061\u003e] syscall_call+0x7/0xb\nMem-Info:\nDMA per-cpu:\nCPU    0: hi:    0, btch:   1 usd:   0\nNormal per-cpu:\nCPU    0: hi:  186, btch:  31 usd:   0\nHighMem per-cpu:\nCPU    0: hi:  186, btch:  31 usd:   0\nactive_anon:134651 inactive_anon:50543 isolated_anon:0\n active_file:96881 inactive_file:132007 isolated_file:0\n unevictable:0 dirty:3 writeback:0 unstable:0\n free:91374 slab_reclaimable:6300 slab_unreclaimable:2802\n mapped:2281 shmem:9 pagetables:330 bounce:0\nDMA free:3524kB min:64kB low:80kB high:96kB active_anon:0kB inactive_anon:8kB active_file:8760kB inactive_file:2760kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15868kB mlocked:0kB dirty:0kB writeback:0kB mapped:16kB shmem:0kB slab_reclaimable:88kB slab_unreclaimable:148kB kernel_stack:40kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no\nlowmem_reserve[]: 0 865 2016 2016\nNormal free:150100kB min:3728kB low:4660kB high:5592kB active_anon:6224kB inactive_anon:15772kB active_file:324084kB inactive_file:325944kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:885944kB mlocked:0kB dirty:12kB writeback:0kB mapped:1520kB shmem:0kB slab_reclaimable:25112kB slab_unreclaimable:11060kB kernel_stack:1888kB pagetables:1320kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no\nlowmem_reserve[]: 0 0 9207 9207\nHighMem free:211872kB min:512kB low:1752kB high:2992kB active_anon:532380kB inactive_anon:186392kB active_file:54680kB inactive_file:199324kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:1178504kB mlocked:0kB dirty:0kB writeback:0kB mapped:7588kB shmem:36kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no\nlowmem_reserve[]: 0 0 0 0\nDMA: 3*4kB 65*8kB 35*16kB 18*32kB 11*64kB 9*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB \u003d 3524kB\nNormal: 35981*4kB 344*8kB 158*16kB 28*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB \u003d 150100kB\nHighMem: 5732*4kB 5462*8kB 2826*16kB 1598*32kB 84*64kB 10*128kB 7*256kB 1*512kB 1*1024kB 1*2048kB 9*4096kB \u003d 211872kB\n231237 total pagecache pages\n2340 pages in swap cache\nSwap cache stats: add 160060, delete 157720, find 189017/194106\nFree swap  \u003d 4179840kB\nTotal swap \u003d 4194300kB\n524271 pages RAM\n296946 pages HighMem\n5668 pages reserved\n867664 pages shared\n82155 pages non-shared\n\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9ddabbe72e41ca6794cb4947c70929c9410e6752",
      "tree": "c1b4b5dc3f326fcac560211283a65bb626277e7c",
      "parents": [
        "4b6b35f55ca81d3bfdec63b0adb61798702ceb2e"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@redhat.com",
        "time": "Mon Jul 11 15:28:13 2011 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:17:03 2011 +0300"
      },
      "message": "KVM: KVM Steal time guest/host interface\n\nTo implement steal time, we need the hypervisor to pass the guest information\nabout how much time was spent running other processes outside the VM.\nThis is per-vcpu, and using the kvmclock structure for that is an abuse\nwe decided not to make.\n\nIn this patchset, I am introducing a new msr, KVM_MSR_STEAL_TIME, that\nholds the memory area address containing information about steal time\n\nThis patch contains the headers for it. I am keeping it separate to facilitate\nbackports to people who wants to backport the kernel part but not the\nhypervisor, or the other way around.\n\nSigned-off-by: Glauber Costa \u003cglommer@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCC: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "aa04b4cc5be64b4fb9ef4e0fdf2418e2f4737fb2",
      "tree": "97a3ff14e43424e28a27e0f3be088649818c1b76",
      "parents": [
        "371fefd6f2dc46668e00871930dde613b88d4bde"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Jun 29 00:25:44 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:57 2011 +0300"
      },
      "message": "KVM: PPC: Allocate RMAs (Real Mode Areas) at boot for use by guests\n\nThis adds infrastructure which will be needed to allow book3s_hv KVM to\nrun on older POWER processors, including PPC970, which don\u0027t support\nthe Virtual Real Mode Area (VRMA) facility, but only the Real Mode\nOffset (RMO) facility.  These processors require a physically\ncontiguous, aligned area of memory for each guest.  When the guest does\nan access in real mode (MMU off), the address is compared against a\nlimit value, and if it is lower, the address is ORed with an offset\nvalue (from the Real Mode Offset Register (RMOR)) and the result becomes\nthe real address for the access.  The size of the RMA has to be one of\na set of supported values, which usually includes 64MB, 128MB, 256MB\nand some larger powers of 2.\n\nSince we are unlikely to be able to allocate 64MB or more of physically\ncontiguous memory after the kernel has been running for a while, we\nallocate a pool of RMAs at boot time using the bootmem allocator.  The\nsize and number of the RMAs can be set using the kvm_rma_size\u003dxx and\nkvm_rma_count\u003dxx kernel command line options.\n\nKVM exports a new capability, KVM_CAP_PPC_RMA, to signal the availability\nof the pool of preallocated RMAs.  The capability value is 1 if the\nprocessor can use an RMA but doesn\u0027t require one (because it supports\nthe VRMA facility), or 2 if the processor requires an RMA for each guest.\n\nThis adds a new ioctl, KVM_ALLOCATE_RMA, which allocates an RMA from the\npool and returns a file descriptor which can be used to map the RMA.  It\nalso returns the size of the RMA in the argument structure.\n\nHaving an RMA means we will get multiple KMV_SET_USER_MEMORY_REGION\nioctl calls from userspace.  To cope with this, we now preallocate the\nkvm-\u003earch.ram_pginfo array when the VM is created with a size sufficient\nfor up to 64GB of guest memory.  Subsequently we will get rid of this\narray and use memory associated with each memslot instead.\n\nThis moves most of the code that translates the user addresses into\nhost pfns (page frame numbers) out of kvmppc_prepare_vrma up one level\nto kvmppc_core_prepare_memory_region.  Also, instead of having to look\nup the VMA for each page in order to check the page size, we now check\nthat the pages we get are compound pages of 16MB.  However, if we are\nadding memory that is mapped to an RMA, we don\u0027t bother with calling\nget_user_pages_fast and instead just offset from the base pfn for the\nRMA.\n\nTypically the RMA gets added after vcpus are created, which makes it\ninconvenient to have the LPCR (logical partition control register) value\nin the vcpu-\u003earch struct, since the LPCR controls whether the processor\nuses RMA or VRMA for the guest.  This moves the LPCR value into the\nkvm-\u003earch struct and arranges for the MER (mediated external request)\nbit, which is the only bit that varies between vcpus, to be set in\nassembly code when going into the guest if there is a pending external\ninterrupt request.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "371fefd6f2dc46668e00871930dde613b88d4bde",
      "tree": "35fe799343861405914d27873eb175eb04d6dce5",
      "parents": [
        "54738c097163c3f01e67ccc85462b78d4d4f495f"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Jun 29 00:23:08 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:57 2011 +0300"
      },
      "message": "KVM: PPC: Allow book3s_hv guests to use SMT processor modes\n\nThis lifts the restriction that book3s_hv guests can only run one\nhardware thread per core, and allows them to use up to 4 threads\nper core on POWER7.  The host still has to run single-threaded.\n\nThis capability is advertised to qemu through a new KVM_CAP_PPC_SMT\ncapability.  The return value of the ioctl querying this capability\nis the number of vcpus per virtual CPU core (vcore), currently 4.\n\nTo use this, the host kernel should be booted with all threads\nactive, and then all the secondary threads should be offlined.\nThis will put the secondary threads into nap mode.  KVM will then\nwake them from nap mode and use them for running guest code (while\nthey are still offline).  To wake the secondary threads, we send\nthem an IPI using a new xics_wake_cpu() function, implemented in\narch/powerpc/sysdev/xics/icp-native.c.  In other words, at this stage\nwe assume that the platform has a XICS interrupt controller and\nwe are using icp-native.c to drive it.  Since the woken thread will\nneed to acknowledge and clear the IPI, we also export the base\nphysical address of the XICS registers using kvmppc_set_xics_phys()\nfor use in the low-level KVM book3s code.\n\nWhen a vcpu is created, it is assigned to a virtual CPU core.\nThe vcore number is obtained by dividing the vcpu number by the\nnumber of threads per core in the host.  This number is exported\nto userspace via the KVM_CAP_PPC_SMT capability.  If qemu wishes\nto run the guest in single-threaded mode, it should make all vcpu\nnumbers be multiples of the number of threads per core.\n\nWe distinguish three states of a vcpu: runnable (i.e., ready to execute\nthe guest), blocked (that is, idle), and busy in host.  We currently\nimplement a policy that the vcore can run only when all its threads\nare runnable or blocked.  This way, if a vcpu needs to execute elsewhere\nin the kernel or in qemu, it can do so without being starved of CPU\nby the other vcpus.\n\nWhen a vcore starts to run, it executes in the context of one of the\nvcpu threads.  The other vcpu threads all go to sleep and stay asleep\nuntil something happens requiring the vcpu thread to return to qemu,\nor to wake up to run the vcore (this can happen when another vcpu\nthread goes from busy in host state to blocked).\n\nIt can happen that a vcpu goes from blocked to runnable state (e.g.\nbecause of an interrupt), and the vcore it belongs to is already\nrunning.  In that case it can start to run immediately as long as\nthe none of the vcpus in the vcore have started to exit the guest.\nWe send the next free thread in the vcore an IPI to get it to start\nto execute the guest.  It synchronizes with the other threads via\nthe vcore-\u003eentry_exit_count field to make sure that it doesn\u0027t go\ninto the guest if the other vcpus are exiting by the time that it\nis ready to actually enter the guest.\n\nNote that there is no fixed relationship between the hardware thread\nnumber and the vcpu number.  Hardware threads are assigned to vcpus\nas they become runnable, so we will always use the lower-numbered\nhardware threads in preference to higher-numbered threads if not all\nthe vcpus in the vcore are runnable, regardless of which vcpus are\nrunnable.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "54738c097163c3f01e67ccc85462b78d4d4f495f",
      "tree": "cba8d389d50251856cbe967c16ba2193a30d6d12",
      "parents": [
        "a8606e20e41a8149456bafdf76ad29d47672027c"
      ],
      "author": {
        "name": "David Gibson",
        "email": "dwg@au1.ibm.com",
        "time": "Wed Jun 29 00:22:41 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:56 2011 +0300"
      },
      "message": "KVM: PPC: Accelerate H_PUT_TCE by implementing it in real mode\n\nThis improves I/O performance for guests using the PAPR\nparavirtualization interface by making the H_PUT_TCE hcall faster, by\nimplementing it in real mode.  H_PUT_TCE is used for updating virtual\nIOMMU tables, and is used both for virtual I/O and for real I/O in the\nPAPR interface.\n\nSince this moves the IOMMU tables into the kernel, we define a new\nKVM_CREATE_SPAPR_TCE ioctl to allow qemu to create the tables.  The\nioctl returns a file descriptor which can be used to mmap the newly\ncreated table.  The qemu driver models use them in the same way as\nuserspace managed tables, but they can be updated directly by the\nguest with a real-mode H_PUT_TCE implementation, reducing the number\nof host/guest context switches during guest IO.\n\nThere are certain circumstances where it is useful for userland qemu\nto write to the TCE table even if the kernel H_PUT_TCE path is used\nmost of the time.  Specifically, allowing this will avoid awkwardness\nwhen we need to reset the table.  More importantly, we will in the\nfuture need to write the table in order to restore its state after a\ncheckpoint resume or migration.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "de56a948b9182fbcf92cb8212f114de096c2d574",
      "tree": "633ab73672aa2543b683686fc8fb023629c5f8f8",
      "parents": [
        "3c42bf8a717cb636e0ed2ed77194669e2ac3ed56"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Jun 29 00:21:34 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:54 2011 +0300"
      },
      "message": "KVM: PPC: Add support for Book3S processors in hypervisor mode\n\nThis adds support for KVM running on 64-bit Book 3S processors,\nspecifically POWER7, in hypervisor mode.  Using hypervisor mode means\nthat the guest can use the processor\u0027s supervisor mode.  That means\nthat the guest can execute privileged instructions and access privileged\nregisters itself without trapping to the host.  This gives excellent\nperformance, but does mean that KVM cannot emulate a processor\narchitecture other than the one that the hardware implements.\n\nThis code assumes that the guest is running paravirtualized using the\nPAPR (Power Architecture Platform Requirements) interface, which is the\ninterface that IBM\u0027s PowerVM hypervisor uses.  That means that existing\nLinux distributions that run on IBM pSeries machines will also run\nunder KVM without modification.  In order to communicate the PAPR\nhypercalls to qemu, this adds a new KVM_EXIT_PAPR_HCALL exit code\nto include/linux/kvm.h.\n\nCurrently the choice between book3s_hv support and book3s_pr support\n(i.e. the existing code, which runs the guest in user mode) has to be\nmade at kernel configuration time, so a given kernel binary can only\ndo one or the other.\n\nThis new book3s_hv code doesn\u0027t support MMIO emulation at present.\nSince we are running paravirtualized guests, this isn\u0027t a serious\nrestriction.\n\nWith the guest running in supervisor mode, most exceptions go straight\nto the guest.  We will never get data or instruction storage or segment\ninterrupts, alignment interrupts, decrementer interrupts, program\ninterrupts, single-step interrupts, etc., coming to the hypervisor from\nthe guest.  Therefore this introduces a new KVMTEST_NONHV macro for the\nexception entry path so that we don\u0027t have to do the KVM test on entry\nto those exception handlers.\n\nWe do however get hypervisor decrementer, hypervisor data storage,\nhypervisor instruction storage, and hypervisor emulation assist\ninterrupts, so we have to handle those.\n\nIn hypervisor mode, real-mode accesses can access all of RAM, not just\na limited amount.  Therefore we put all the guest state in the vcpu.arch\nand use the shadow_vcpu in the PACA only for temporary scratch space.\nWe allocate the vcpu with kzalloc rather than vzalloc, and we don\u0027t use\nanything in the kvmppc_vcpu_book3s struct, so we don\u0027t allocate it.\nWe don\u0027t have a shared page with the guest, but we still need a\nkvm_vcpu_arch_shared struct to store the values of various registers,\nso we include one in the vcpu_arch struct.\n\nThe POWER7 processor has a restriction that all threads in a core have\nto be in the same partition.  MMU-on kernel code counts as a partition\n(partition 0), so we have to do a partition switch on every entry to and\nexit from the guest.  At present we require the host and guest to run\nin single-thread mode because of this hardware restriction.\n\nThis code allocates a hashed page table for the guest and initializes\nit with HPTEs for the guest\u0027s Virtual Real Memory Area (VRMA).  We\nrequire that the guest memory is allocated using 16MB huge pages, in\norder to simplify the low-level memory management.  This also means that\nwe can get away without tracking paging activity in the host for now,\nsince huge pages can\u0027t be paged or swapped.\n\nThis also adds a few new exports needed by the book3s_hv code.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "a4cd8b23ac5786943202c0174c717956947db43c",
      "tree": "46e1dc4646d6c2a27fc83944e24aad1c1fafb292",
      "parents": [
        "9973d54eeafcd1c3a2e89f0f59280c4c1e03e73b"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Jun 14 18:34:41 2011 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:37 2011 +0300"
      },
      "message": "KVM: PPC: e500: enable magic page\n\nThis is a shared page used for paravirtualization.  It is always present\nin the guest kernel\u0027s effective address space at the address indicated\nby the hypercall that enables it.\n\nThe physical address specified by the hypercall is not used, as\ne500 does not have real mode.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "411c588dfb863feee78b721d5e7c86ac38921c49",
      "tree": "bb60c136f0392fbbd8f222fd2049f265746a7eae",
      "parents": [
        "a01c8f9b4e266df1d7166d23216f2060648f862d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 06 16:11:54 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:26 2011 +0300"
      },
      "message": "KVM: MMU: Adjust shadow paging to work when SMEP\u003d1 and CR0.WP\u003d0\n\nWhen CR0.WP\u003d0, we sometimes map user pages as kernel pages (to allow\nthe kernel to write to them).  Unfortunately this also allows the kernel\nto fetch from these pages, even if CR4.SMEP is set.\n\nAdjust for this by also setting NX on the spte in these circumstances.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "58f0964ee445d6703bf2bfd5170e75fb0920ad8f",
      "tree": "f8125cb31c2a9197c778918f9ce26c5344b16595",
      "parents": [
        "9f3191aec595ef9f3c80bc96664fd7aef57ef5be"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Sat Jun 11 12:24:24 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:19 2011 +0300"
      },
      "message": "KVM: Fix KVM_ASSIGN_SET_MSIX_ENTRY documentation\n\nThe documented behavior did not match the implemented one (which also\nnever changed).\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "91e3d71db29d9b3b67b64e2a08e724a7ff538b4c",
      "tree": "5bdaf33de54e039faa8892ab4291e6089de03675",
      "parents": [
        "e57d4a356ad3ac46881399c424cc6cf6dd16359d"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Jun 03 08:51:05 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:16 2011 +0300"
      },
      "message": "KVM: Clarify KVM_ASSIGN_PCI_DEVICE documentation\n\nNeither host_irq nor the guest_msi struct are used anymore today.\nTag the former, drop the latter to avoid confusion.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7f4382e8fd8c87bcb7122a2f63c03e8713f594a0",
      "tree": "a0582d9034795e77c9243a1193264b6d830bca37",
      "parents": [
        "9dac77fa4011bdb4b541a8db087eac96a602faec"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Thu Jun 02 16:16:20 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:16:10 2011 +0300"
      },
      "message": "KVM: Fixup documentation section numbering\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "55399a02e90fdc6cd45165b2df5dd97b7c3f018f",
      "tree": "6922e5531791206ac55996cdd4ce49417b0bc6bc",
      "parents": [
        "823e396558e509b7c3225cd76806f3d6643ff5f8"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Sat May 28 14:12:30 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:15:56 2011 +0300"
      },
      "message": "KVM: Document KVM_IOEVENTFD\n\nDocument KVM_IOEVENTFD that can be used to receive\nnotifications of PIO/MMIO events without triggering\nan exit.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "823e396558e509b7c3225cd76806f3d6643ff5f8",
      "tree": "af8bc2c12b9cc31571d6280621a15b0657907512",
      "parents": [
        "2844d8490523c5768cc37f21e065c76c45232724"
      ],
      "author": {
        "name": "Nadav Har\u0027El",
        "email": "nyh@il.ibm.com",
        "time": "Wed May 25 23:17:11 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 13:15:22 2011 +0300"
      },
      "message": "KVM: nVMX: Documentation\n\nThis patch includes a brief introduction to the nested vmx feature in the\nDocumentation/kvm directory. The document also includes a copy of the\nvmcs12 structure, as requested by Avi Kivity.\n\n[marcelo: move to Documentation/virtual/kvm]\n\nSigned-off-by: Nadav Har\u0027El \u003cnyh@il.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e76779339ba9c3d56f1a39ff0bfb1dfe7614b062",
      "tree": "e741478a0dba0f6a0887155e9b0f1b08a58b86e7",
      "parents": [
        "4dd1b49c6d215dc41ce50c80b4868388b93f31a3"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed May 11 08:30:51 2011 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 12 11:44:55 2011 +0300"
      },
      "message": "KVM: Document KVM_GET_LAPIC, KVM_SET_LAPIC ioctl\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "990c91f0af46c57f0291060d928c7ab82f9d5667",
      "tree": "72a347b09509e3658b12d4e013f072bf2b771299",
      "parents": [
        "bc805a03c26e1e25171bc627c6264553d27f746c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:12 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:12 2011 +0930"
      },
      "message": "lguest: remove support for VIRTIO_F_NOTIFY_ON_EMPTY.\n\nNo virtio device does this any more, so no need to clutter lguest with it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bc805a03c26e1e25171bc627c6264553d27f746c",
      "tree": "2700f17b81a74376d6f03a0d60083ec387cbbcc4",
      "parents": [
        "15517f7c213442e4d8a098cf0732b237f764c576"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:11 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:12 2011 +0930"
      },
      "message": "lguest: fix up compilation after move\n\ned16648eb5b86917f0b90bdcdbc857202da72f90 \"Move kvm, uml, and lguest\nsubdirectories\" broke the lguest example launcher.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4ff4d8d342fe25c4d1106fb0ffdd310a43d0ace0",
      "tree": "b41ea0ecc007f1c90eceada0db081dc0fb81700c",
      "parents": [
        "d634f194d4e2e58d57927c812aca097e67a2287d"
      ],
      "author": {
        "name": "Nolan Leake",
        "email": "nolan@sigbus.net",
        "time": "Tue May 24 17:13:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:41 2011 -0700"
      },
      "message": "um: add ucast ethernet transport\n\nThe ucast transport is similar to the mcast transport (and, in fact,\nshares most of its code), only it uses UDP unicast to move packets.\n\nObviously this is only useful for point-to-point connections between\nvirtual ethernet devices.\n\nSigned-off-by: Nolan Leake \u003cnolan@cumulusnetworks.com\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4b10bc60a310916bab5413f821b99ef845cac17",
      "tree": "904532e8cd93b88261f21427c4ec4917d4b3e79d",
      "parents": [
        "53ee7569ce8beb3fd3fc0817116c29298d72353f",
        "c8cfbb555eb3632bf3dcbe1a591c1f4d0c28681c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 08:42:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 08:42:08 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.40\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.40\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (131 commits)\n  KVM: MMU: Use ptep_user for cmpxchg_gpte()\n  KVM: Fix kvm mmu_notifier initialization order\n  KVM: Add documentation for KVM_CAP_NR_VCPUS\n  KVM: make guest mode entry to be rcu quiescent state\n  KVM: x86 emulator: Make jmp far emulation into a separate function\n  KVM: x86 emulator: Rename emulate_grpX() to em_grpX()\n  KVM: x86 emulator: Remove unused arg from emulate_pop()\n  KVM: x86 emulator: Remove unused arg from writeback()\n  KVM: x86 emulator: Remove unused arg from read_descriptor()\n  KVM: x86 emulator: Remove unused arg from seg_override()\n  KVM: Validate userspace_addr of memslot when registered\n  KVM: MMU: Clean up gpte reading with copy_from_user()\n  KVM: PPC: booke: add sregs support\n  KVM: PPC: booke: save/restore VRSAVE (a.k.a. USPRG0)\n  KVM: PPC: use ticks, not usecs, for exit timing\n  KVM: PPC: fix exit accounting for SPRs, tlbwe, tlbsx\n  KVM: PPC: e500: emulate SVR\n  KVM: VMX: Cache vmcs segment fields\n  KVM: x86 emulator: consolidate segment accessors\n  KVM: VMX: Avoid reading %rip unnecessarily when handling exceptions\n  ...\n"
    },
    {
      "commit": "61516587513c84ac26e68e3ab008dc6e965d0378",
      "tree": "b901d64de6588e2a50b0ac6e6855805de62eb2c8",
      "parents": [
        "570aa13a5dbea9b905b4cd6315aa6e1b3a9fd2f8"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rob@landley.net",
        "time": "Fri May 06 09:27:36 2011 -0700"
      },
      "committer": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 06 09:27:55 2011 -0700"
      },
      "message": "Correct occurrences of\n- Documentation/kvm/ to Documentation/virtual/kvm\n- Documentation/uml/ to Documentation/virtual/uml\n- Documentation/lguest/ to Documentation/virtual/lguest\nthroughout the kernel source tree.\n\nSigned-off-by: Rob Landley \u003crob@landley.net\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "570aa13a5dbea9b905b4cd6315aa6e1b3a9fd2f8",
      "tree": "39deb1c31d8630b116eba827babc7140bbace47b",
      "parents": [
        "ed16648eb5b86917f0b90bdcdbc857202da72f90"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rlandley@parallels.com",
        "time": "Fri May 06 09:23:23 2011 -0700"
      },
      "committer": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 06 09:23:23 2011 -0700"
      },
      "message": "Add a 00-INDEX file to Documentation/virtual\nRemove uml from the top level 00-INDEX file.\n\nSigned-off-by: Rob Landley \u003crlandley@parallels.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "ed16648eb5b86917f0b90bdcdbc857202da72f90",
      "tree": "a8198415a6c2f1909f02340b05d36e1d53b82320",
      "parents": [
        "bfd412db9e7b0d8f7b9c09d12d07aa2ac785f1d0"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rlandley@parallels.com",
        "time": "Fri May 06 09:22:02 2011 -0700"
      },
      "committer": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 06 09:22:02 2011 -0700"
      },
      "message": "Move kvm, uml, and lguest subdirectories under a common \"virtual\" directory, I.E:\n\n  cd Documentation\n  mkdir virtual\n  git mv kvm uml lguest virtual\n\nSigned-off-by: Rob Landley \u003crlandley@parallels.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    }
  ]
}
