)]}'
{
  "log": [
    {
      "commit": "2e7580b0e75d771d93e24e681031a165b1d31071",
      "tree": "d9449702609eeaab28913a43b5a4434667e09d43",
      "parents": [
        "d25413efa9536e2f425ea45c7720598035c597bc",
        "cf9eeac46350b8b43730b7dc5e999757bed089a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:35:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:35:31 2012 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.4\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull kvm updates from Avi Kivity:\n \"Changes include timekeeping improvements, support for assigning host\n  PCI devices that share interrupt lines, s390 user-controlled guests, a\n  large ppc update, and random fixes.\"\n\nThis is with the sign-off\u0027s fixed, hopefully next merge window we won\u0027t\nhave rebased commits.\n\n* \u0027kvm-updates/3.4\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (130 commits)\n  KVM: Convert intx_mask_lock to spin lock\n  KVM: x86: fix kvm_write_tsc() TSC matching thinko\n  x86: kvmclock: abstract save/restore sched_clock_state\n  KVM: nVMX: Fix erroneous exception bitmap check\n  KVM: Ignore the writes to MSR_K7_HWCR(3)\n  KVM: MMU: make use of -\u003eroot_level in reset_rsvds_bits_mask\n  KVM: PMU: add proper support for fixed counter 2\n  KVM: PMU: Fix raw event check\n  KVM: PMU: warn when pin control is set in eventsel msr\n  KVM: VMX: Fix delayed load of shared MSRs\n  KVM: use correct tlbs dirty type in cmpxchg\n  KVM: Allow host IRQ sharing for assigned PCI 2.3 devices\n  KVM: Ensure all vcpus are consistent with in-kernel irqchip settings\n  KVM: x86 emulator: Allow PM/VM86 switch during task switch\n  KVM: SVM: Fix CPL updates\n  KVM: x86 emulator: VM86 segments must have DPL 3\n  KVM: x86 emulator: Fix task switch privilege checks\n  arch/powerpc/kvm/book3s_hv.c: included linux/sched.h twice\n  KVM: x86 emulator: correctly mask pmc index bits in RDPMC instruction emulation\n  KVM: mmu_notifier: Flush TLBs before releasing mmu_lock\n  ...\n"
    },
    {
      "commit": "07700a94b00a4fcbbfb07d1b72dc112a0e036735",
      "tree": "e4a8045d6a44906463102a04c7a87337c38e16aa",
      "parents": [
        "3e515705a1f46beb1c942bb8043c16f8ac7b1e9e"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Feb 28 14:19:54 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:11:36 2012 +0200"
      },
      "message": "KVM: Allow host IRQ sharing for assigned PCI 2.3 devices\n\nPCI 2.3 allows to generically disable IRQ sources at device level. This\nenables us to share legacy IRQs of such devices with other host devices\nwhen passing them to a guest.\n\nThe new IRQ sharing feature introduced here is optional, user space has\nto request it explicitly. Moreover, user space can inform us about its\nview of PCI_COMMAND_INTX_DISABLE so that we can avoid unmasking the\ninterrupt and signaling it if the guest masked it via the virtualized\nPCI config space.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "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": "54f65795c8f6e192540756085d738e66ab0917a0",
      "tree": "3efd1dd71cbc7cf8861bdfb3aa1dc89c62a40c16",
      "parents": [
        "b3c5d3c2a49602c370de6d02fdb923bc48cd1abc"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Wed Jan 11 13:37:35 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:41 2012 +0200"
      },
      "message": "KVM: PPC: refer to paravirt docs in header file\n\nInstead of keeping separate copies of struct kvm_vcpu_arch_shared (one in\nthe code, one in the docs) that inevitably fail to be kept in sync\n(already sr[] is missing from the doc version), just point to the header\nfile as the source of documentation on the contents of the magic page.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "1022fc3d3bfaca09d5d6bfcc93a168de16840814",
      "tree": "fee0d7dcceeb9704daf0bfc6b7e9a708f32b442e",
      "parents": [
        "e24ed81fedd551e80378be62fa0b0532480ea7d4"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Sep 14 21:45:23 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:41 2012 +0200"
      },
      "message": "KVM: PPC: Add support for explicit HIOR setting\n\nUntil now, we always set HIOR based on the PVR, but this is just wrong.\nInstead, we should be setting HIOR explicitly, so user space can decide\nwhat the initial HIOR value is - just like on real hardware.\n\nWe keep the old PVR based way around for backwards compatibility, but\nonce user space uses the SET_ONE_REG based method, we drop the PVR logic.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "e24ed81fedd551e80378be62fa0b0532480ea7d4",
      "tree": "254bcf7fbe858bc75087432667c7409e58b35575",
      "parents": [
        "6b75e6bfef7ba108ac3df0d430d80dea68fde4bf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Sep 14 10:02:41 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:40 2012 +0200"
      },
      "message": "KVM: PPC: Add generic single register ioctls\n\nRight now we transfer a static struct every time we want to get or set\nregisters. Unfortunately, over time we realize that there are more of\nthese than we thought of before and the extensibility and flexibility of\ntransferring a full struct every time is limited.\n\nSo this is a new approach to the problem. With these new ioctls, we can\nget and set a single register that is identified by an ID. This allows for\nvery precise and limited transmittal of data. When we later realize that\nit\u0027s a better idea to shove over multiple registers at once, we can reuse\nmost of the infrastructure and simply implement a GET_MANY_REGS / SET_MANY_REGS\ninterface.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "dc83b8bc0256ee682506ed83853a98eaba529c6f",
      "tree": "0d5f73b725392104320894d606bba10151a9ea3c",
      "parents": [
        "0164c0f0c404017fb04defb0ceb23fd1c3c3a53e"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Thu Aug 18 15:25:21 2011 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:24 2012 +0200"
      },
      "message": "KVM: PPC: e500: MMU API\n\nThis implements a shared-memory API for giving host userspace access to\nthe guest\u0027s TLB.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "b9e5dc8d4511e6a00862a795319569e7fe7f60f4",
      "tree": "1be01a8d13e2e5023c22db4a7dd87518f14af5b3",
      "parents": [
        "8d26cf7b40b1648c39e77a113dac07ad31363120"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Jan 11 11:20:30 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:22 2012 +0200"
      },
      "message": "KVM: provide synchronous registers in kvm_run\n\nOn some cpus the overhead for virtualization instructions is in the same\nrange as a system call. Having to call multiple ioctls to get set registers\nwill make certain userspace handled exits more expensive than necessary.\nLets provide a section in kvm_run that works as a shared save area\nfor guest registers.\nWe also provide two 64bit flags fields (architecture specific), that will\nspecify\n1. which parts of these fields are valid.\n2. which registers were modified by userspace\n\nEach bit for these flag fields will define a group of registers (like\ngeneral purpose) or a single register.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "ccc7910fe564d99415def7c041fa261e62a43011",
      "tree": "8895fd2463f7b4e48c4510284c37e84a1753ee0d",
      "parents": [
        "d6b6d166864fa97ca3b1ed1a5c62fd3b53d4606f"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:26 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:20 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: interface to inject faults on a vcpu page table\n\nThis patch allows the user to fault in pages on a virtual cpus\naddress space for user controlled virtual machines. Typically this\nis superfluous because userspace can just create a mapping and\nlet the kernel\u0027s page fault logic take are of it. There is one\nexception: SIE won\u0027t start if the lowcore is not present. Normally\nthe kernel takes care of this [handle_validity() in\narch/s390/kvm/intercept.c] but since the kernel does not handle\nintercepts for user controlled virtual machines, userspace needs to\nbe able to handle this condition.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "5b1c1493afe8d69909f9df3221bb2fffdf479f4a",
      "tree": "f64fa2be60cb44e4d9cb7cc9338b4dabba65348a",
      "parents": [
        "e168bf8de33e16a909df2401af1f7d419c5780de"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:23 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:19 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: export SIE control block to user\n\nThis patch exports the s390 SIE hardware control block to userspace\nvia the mapping of the vcpu file descriptor. In order to do so,\na new arch callback named kvm_arch_vcpu_fault  is introduced for all\narchitectures. It allows to map architecture specific pages.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "e168bf8de33e16a909df2401af1f7d419c5780de",
      "tree": "49dee8cc76e65eb1347895a6cb8f8843f690066d",
      "parents": [
        "27e0393f15fc8bc855c6a888387ff5ffd2181089"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:22 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:19 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: export page faults to user\n\nThis patch introduces a new exit reason in the kvm_run structure\nnamed KVM_EXIT_S390_UCONTROL. This exit indicates, that a virtual cpu\nhas regognized a fault on the host page table. The idea is that\nuserspace can handle this fault by mapping memory at the fault\nlocation into the cpu\u0027s address space and then continue to run the\nvirtual cpu.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "27e0393f15fc8bc855c6a888387ff5ffd2181089",
      "tree": "7dd5f6f49f6e11ee5cfbbc4d00fb39f649caa61b",
      "parents": [
        "e08b96371625aaa84cb03f51acc4c8e0be27403a"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:21 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:18 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: per vcpu address spaces\n\nThis patch introduces two ioctls for virtual cpus, that are only\nvalid for kernel virtual machines that are controlled by userspace.\nEach virtual cpu has its individual address space in this mode of\noperation, and each address space is backed by the gmap\nimplementation just like the address space for regular KVM guests.\nKVM_S390_UCAS_MAP allows to map a part of the user\u0027s virtual address\nspace to the vcpu. Starting offset and length in both the user and\nthe vcpu address space need to be aligned to 1M.\nKVM_S390_UCAS_UNMAP can be used to unmap a range of memory from a\nvirtual cpu in a similar way.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "e08b96371625aaa84cb03f51acc4c8e0be27403a",
      "tree": "d0b140e8558c6145e1a3183809c7797be443bd68",
      "parents": [
        "a138fe7535c0ec778465c7b54b1aaaf4cfd885b7"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:20 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:18 2012 +0200"
      },
      "message": "KVM: s390: add parameter for KVM_CREATE_VM\n\nThis patch introduces a new config option for user controlled kernel\nvirtual machines. It introduces a parameter to KVM_CREATE_VM that\nallows to set bits that alter the capabilities of the newly created\nvirtual machine.\nThe parameter is passed to kvm_arch_init_vm for all architectures.\nThe only valid modifier bit for now is KVM_VM_S390_UCONTROL.\nThis requires CAP_SYS_ADMIN privileges and creates a user controlled\nvirtual machine on s390 architectures.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\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"
    }
  ]
}
