)]}'
{
  "log": [
    {
      "commit": "78accda4f888c77122cf3da6185f905d4677eb07",
      "tree": "e40f2b976f423830f9de074af923e19e3b0a230a",
      "parents": [
        "d26f22c9cdfa935e674b2ff747dbcfaf9fa048f8"
      ],
      "author": {
        "name": "Bharat Bhushan",
        "email": "r65777@freescale.com",
        "time": "Sun Feb 24 18:57:12 2013 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Mar 22 01:21:06 2013 +0100"
      },
      "message": "KVM: PPC: Added one_reg interface for timer registers\n\nIf userspace wants to change some specific bits of TSR\n(timer status register) then it uses GET/SET_SREGS ioctl interface.\nSo the steps will be:\n      i)   user-space will make get ioctl,\n      ii)  change TSR in userspace\n      iii) then make set ioctl.\nIt can happen that TSR gets changed by kernel after step i) and\nbefore step iii).\n\nTo avoid this we have added below one_reg ioctls for oring and clearing\nspecific bits in TSR. This patch adds one registerface for:\n     1) setting specific bit in TSR (timer status register)\n     2) clearing specific bit in TSR (timer status register)\n     3) setting/getting the TCR register. There are cases where we want to only\n        change TCR and not TSR. Although we can uses SREGS without\n        KVM_SREGS_E_UPDATE_TSR flag but I think one reg is better. I am open\n        if someone feels we should use SREGS only here.\n     4) getting/setting TSR register\n\nSigned-off-by: Bharat Bhushan \u003cbharat.bhushan@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "2b83451b45d720ca38c03878ce42ff9139cad9e3",
      "tree": "374b4ab82ffc115dc8cb76f783f7735521b6c7bf",
      "parents": [
        "060f0ce6ff975decd1e0ee318c08e228bccbee1e"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Feb 28 12:33:20 2013 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Mar 05 19:12:17 2013 -0300"
      },
      "message": "KVM: ioeventfd for virtio-ccw devices.\n\nEnhance KVM_IOEVENTFD with a new flag that allows to attach to virtio-ccw\ndevices on s390 via the KVM_VIRTIO_CCW_NOTIFY_BUS.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "89f883372fa60f604d136924baf3e89ff1870e9e",
      "tree": "cb69b0a14957945ba00d3d392bf9ccbbef56f3b8",
      "parents": [
        "9e2d59ad580d590134285f361a0e80f0e98c0207",
        "6b73a96065e89dc9fa75ba4f78b1aa3a3bbd0470"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 24 13:07:18 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 24 13:07:18 2013 -0800"
      },
      "message": "Merge tag \u0027kvm-3.9-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"KVM updates for the 3.9 merge window, including x86 real mode\n  emulation fixes, stronger memory slot interface restrictions, mmu_lock\n  spinlock hold time reduction, improved handling of large page faults\n  on shadow, initial APICv HW acceleration support, s390 channel IO\n  based virtio, amongst others\"\n\n* tag \u0027kvm-3.9-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits)\n  Revert \"KVM: MMU: lazily drop large spte\"\n  x86: pvclock kvm: align allocation size to page size\n  KVM: nVMX: Remove redundant get_vmcs12 from nested_vmx_exit_handled_msr\n  x86 emulator: fix parity calculation for AAD instruction\n  KVM: PPC: BookE: Handle alignment interrupts\n  booke: Added DBCR4 SPR number\n  KVM: PPC: booke: Allow multiple exception types\n  KVM: PPC: booke: use vcpu reference from thread_struct\n  KVM: Remove user_alloc from struct kvm_memory_slot\n  KVM: VMX: disable apicv by default\n  KVM: s390: Fix handling of iscs.\n  KVM: MMU: cleanup __direct_map\n  KVM: MMU: remove pt_access in mmu_set_spte\n  KVM: MMU: cleanup mapping-level\n  KVM: MMU: lazily drop large spte\n  KVM: VMX: cleanup vmx_set_cr0().\n  KVM: VMX: add missing exit names to VMX_EXIT_REASONS array\n  KVM: VMX: disable SMEP feature when guest is in non-paging mode\n  KVM: Remove duplicate text in api.txt\n  Revert \"KVM: MMU: split kvm_mmu_free_page\"\n  ...\n"
    },
    {
      "commit": "330690cdceba06b60afcfe50a65f72fab7f4f970",
      "tree": "3dc8a6a3e8324e4e9d724497dd45942b1d66a042",
      "parents": [
        "1a89dd9113badd7487313410a5f2e09b2944f92b"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Mon Jan 21 19:36:13 2013 -0500"
      },
      "committer": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Mon Feb 11 18:59:01 2013 +0000"
      },
      "message": "ARM: KVM: VGIC accept vcpu and dist base addresses from user space\n\nUser space defines the model to emulate to a guest and should therefore\ndecide which addresses are used for both the virtual CPU interface\ndirectly mapped in the guest physical address space and for the emulated\ndistributor interface, which is mapped in software by the in-kernel VGIC\nsupport.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\n"
    },
    {
      "commit": "3401d54696f992edf036f00f46c8c399d1b75c2a",
      "tree": "bbb3bb02050b3b513e4b55839b553d793c1e63b9",
      "parents": [
        "a96ab03917dcf4c9477d03b31e8d74779bca1074"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:18:04 2013 -0500"
      },
      "committer": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Mon Feb 11 18:58:39 2013 +0000"
      },
      "message": "KVM: ARM: Introduce KVM_ARM_SET_DEVICE_ADDR ioctl\n\nOn ARM some bits are specific to the model being emulated for the guest and\nuser space needs a way to tell the kernel about those bits.  An example is mmio\ndevice base addresses, where KVM must know the base address for a given device\nto properly emulate mmio accesses within a certain address range or directly\nmap a device with virtualiation extensions into the guest address space.\n\nWe make this API ARM-specific as we haven\u0027t yet reached a consensus for a\ngeneric API for all KVM architectures that will allow us to do something like\nthis.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\n"
    },
    {
      "commit": "4293b5e5a68074431cafa74d549c1327ba1d0deb",
      "tree": "9ac414b3df6b20246368618bd3a741ada36156d0",
      "parents": [
        "834be0d83f9451573e6fadb381fe0714211c7e90"
      ],
      "author": {
        "name": "Geoff Levand",
        "email": "geoff@infradead.org",
        "time": "Thu Jan 31 12:06:08 2013 -0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Feb 05 22:48:50 2013 -0200"
      },
      "message": "KVM: Remove duplicate text in api.txt\n\nSigned-off-by: Geoff Levand \u003cgeoff@infradead.org\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "75d61fbcf563373696578570e914f555e12c8d97",
      "tree": "8835d8a5cf79704569f568675792672c930746ae",
      "parents": [
        "f64c0398939483eb1d8951f24fbc21e94ed54457"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Wed Jan 30 19:40:41 2013 +0900"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Feb 04 22:56:47 2013 -0200"
      },
      "message": "KVM: set_memory_region: Disallow changing read-only attribute later\n\nAs Xiao pointed out, there are a few problems with it:\n - kvm_arch_commit_memory_region() write protects the memory slot only\n   for GET_DIRTY_LOG when modifying the flags.\n - FNAME(sync_page) uses the old spte value to set a new one without\n   checking KVM_MEM_READONLY flag.\n\nSince we flush all shadow pages when creating a new slot, the simplest\nfix is to disallow such problematic flag changes: this is safe because\nno one is doing such things.\n\nReviewed-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nCc: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "aa024c2f35a07cc32e48c5f62a5807be01c09249",
      "tree": "0fd5b1963f2a7e455d94357ae49be5c8cbbf6395",
      "parents": [
        "45e96ea6b369539a37040a8df9c59a39f073d9d6"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Sun Jan 20 18:28:13 2013 -0500"
      },
      "committer": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:29:18 2013 -0500"
      },
      "message": "KVM: ARM: Power State Coordination Interface implementation\n\nImplement the PSCI specification (ARM DEN 0022A) to control\nvirtual CPUs being \"powered\" on or off.\n\nPSCI/KVM is detected using the KVM_CAP_ARM_PSCI capability.\n\nA virtual CPU can now be initialized in a \"powered off\" state,\nusing the KVM_ARM_VCPU_POWER_OFF feature flag.\n\nThe guest can use either SMC or HVC to execute a PSCI function.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\n"
    },
    {
      "commit": "4fe21e4c6def3c6a8f609893b4d5c72bc186d0d5",
      "tree": "b470777c1726f41c4d3dd657962ae0c178f9b935",
      "parents": [
        "c27581ed32275897651a84043b04ea3ccdd644e0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty.russell@linaro.org",
        "time": "Sun Jan 20 18:28:11 2013 -0500"
      },
      "committer": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:29:15 2013 -0500"
      },
      "message": "KVM: ARM: VFP userspace interface\n\nWe use space #18 for floating point regs.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\n"
    },
    {
      "commit": "c27581ed32275897651a84043b04ea3ccdd644e0",
      "tree": "dc541728d54d1c9114eafc3930634434c7912a69",
      "parents": [
        "1138245ccf9652429630c09fb068e9b12c56c3d3"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Sun Jan 20 18:28:10 2013 -0500"
      },
      "committer": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:29:14 2013 -0500"
      },
      "message": "KVM: ARM: Demux CCSIDR in the userspace API\n\nThe Cache Size Selection Register (CSSELR) selects the current Cache\nSize ID Register (CCSIDR).  You write which cache you are interested\nin to CSSELR, and read the information out of CCSIDR.\n\nWhich cache numbers are valid is known by reading the Cache Level ID\nRegister (CLIDR).\n\nTo export this state to userspace, we add a KVM_REG_ARM_DEMUX\nnumberspace (17), which uses 8 bits to represent which register is\nbeing demultiplexed (0 for CCSIDR), and the lower 8 bits to represent\nthis demultiplexing (in our case, the CSSELR value, which is 4 bits).\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\n"
    },
    {
      "commit": "1138245ccf9652429630c09fb068e9b12c56c3d3",
      "tree": "f4ef6b0be9f30ee57e7044a5311bf6487bb8bfa1",
      "parents": [
        "5b3e5e5bf230f56309706dfc05fc0cb173cc83aa"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Sun Jan 20 18:28:10 2013 -0500"
      },
      "committer": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:29:14 2013 -0500"
      },
      "message": "KVM: ARM: User space API for getting/setting co-proc registers\n\nThe following three ioctls are implemented:\n -  KVM_GET_REG_LIST\n -  KVM_GET_ONE_REG\n -  KVM_SET_ONE_REG\n\nNow we have a table for all the cp15 registers, we can drive a generic\nAPI.\n\nThe register IDs carry the following encoding:\n\nARM registers are mapped using the lower 32 bits.  The upper 16 of that\nis the register group type, or coprocessor number:\n\nARM 32-bit CP15 registers have the following id bit patterns:\n  0x4002 0000 000F \u003czero:1\u003e \u003ccrn:4\u003e \u003ccrm:4\u003e \u003copc1:4\u003e \u003copc2:3\u003e\n\nARM 64-bit CP15 registers have the following id bit patterns:\n  0x4003 0000 000F \u003czero:1\u003e \u003czero:4\u003e \u003ccrm:4\u003e \u003copc1:4\u003e \u003czero:3\u003e\n\nFor futureproofing, we need to tell QEMU about the CP15 registers the\nhost lets the guest access.\n\nIt will need this information to restore a current guest on a future\nCPU or perhaps a future KVM which allow some of these to be changed.\n\nWe use a separate table for these, as they\u0027re only for the userspace API.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\n"
    },
    {
      "commit": "86ce85352f0da7e1431ad8efcb04323819a620e7",
      "tree": "0f5a0a971b0092c9cfd74659254f76a4c7117294",
      "parents": [
        "d5d8184d35c990b1324d9b30bcd0e4e8aa08f56d"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "cdall@cs.columbia.edu",
        "time": "Sun Jan 20 18:28:08 2013 -0500"
      },
      "committer": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:29:12 2013 -0500"
      },
      "message": "KVM: ARM: Inject IRQs and FIQs from userspace\n\nAll interrupt injection is now based on the VM ioctl KVM_IRQ_LINE.  This\nworks semantically well for the GIC as we in fact raise/lower a line on\na machine component (the gic).  The IOCTL uses the follwing struct.\n\nstruct kvm_irq_level {\n\tunion {\n\t\t__u32 irq;     /* GSI */\n\t\t__s32 status;  /* not used for KVM_IRQ_LEVEL */\n\t};\n\t__u32 level;           /* 0 or 1 */\n};\n\nARM can signal an interrupt either at the CPU level, or at the in-kernel irqchip\n(GIC), and for in-kernel irqchip can tell the GIC to use PPIs designated for\nspecific cpus.  The irq field is interpreted like this:\n\n  bits:  | 31 ... 24 | 23  ... 16 | 15    ...    0 |\n  field: | irq_type  | vcpu_index |   irq_number   |\n\nThe irq_type field has the following values:\n- irq_type[0]: out-of-kernel GIC: irq_number 0 is IRQ, irq_number 1 is FIQ\n- irq_type[1]: in-kernel GIC: SPI, irq_number between 32 and 1019 (incl.)\n               (the vcpu_index field is ignored)\n- irq_type[2]: in-kernel GIC: PPI, irq_number between 16 and 31 (incl.)\n\nThe irq_number thus corresponds to the irq ID in as in the GICv2 specs.\n\nThis is documented in Documentation/kvm/api.txt.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\n"
    },
    {
      "commit": "749cf76c5a363e1383108a914ea09530bfa0bd43",
      "tree": "a1bd85e41d1a8e6eb13529681431c3aea641d202",
      "parents": [
        "9e9a367c29cebd25a356d53414612e115efdadcf"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Sun Jan 20 18:28:06 2013 -0500"
      },
      "committer": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Wed Jan 23 13:29:10 2013 -0500"
      },
      "message": "KVM: ARM: Initial skeleton to compile KVM support\n\nTargets KVM support for Cortex A-15 processors.\n\nContains all the framework components, make files, header files, some\ntracing functionality, and basic user space API.\n\nOnly supported core is Cortex-A15 for now.\n\nMost functionality is in arch/arm/kvm/* or arch/arm/include/asm/kvm_*.h.\n\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\n"
    },
    {
      "commit": "e12091ce7bdd3c82fa392a868d1bdccecee655d5",
      "tree": "9c53da262ec3521a1938d2282cbf0c03517d6aa6",
      "parents": [
        "b99db1d35295cb26b61a1c665f542504110b0ac3"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa_takuya_b1@lab.ntt.co.jp",
        "time": "Tue Jan 08 19:45:28 2013 +0900"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Jan 14 11:13:58 2013 +0200"
      },
      "message": "KVM: Remove unused slot_bitmap from kvm_mmu_page\n\nNot needed any more.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa_takuya_b1@lab.ntt.co.jp\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "324b3e63167bce69e6622c2be182595790bf7e38",
      "tree": "ef01feb781df5d54651a1da07ce8a52b481ee6b6",
      "parents": [
        "1c810636556c8d53a37406b34a64d9b9b0161aa6"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 04 18:28:51 2013 +0100"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Jan 10 13:42:33 2013 +0100"
      },
      "message": "KVM: PPC: BookE: Add EPR ONE_REG sync\n\nWe need to be able to read and write the contents of the EPR register\nfrom user space.\n\nThis patch implements that logic through the ONE_REG API and declares\nits (never implemented) SREGS counterpart as deprecated.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "1c810636556c8d53a37406b34a64d9b9b0161aa6",
      "tree": "b163d427c9dcff066330d4ac13de529a9831a044",
      "parents": [
        "37ecb257f68ce4fb7c7048a1123bbcbbe36d9575"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 04 18:12:48 2013 +0100"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Jan 10 13:42:31 2013 +0100"
      },
      "message": "KVM: PPC: BookE: Implement EPR exit\n\nThe External Proxy Facility in FSL BookE chips allows the interrupt\ncontroller to automatically acknowledge an interrupt as soon as a\ncore gets its pending external interrupt delivered.\n\nToday, user space implements the interrupt controller, so we need to\ncheck on it during such a cycle.\n\nThis patch implements logic for user space to enable EPR exiting,\ndisable EPR exiting and EPR exiting itself, so that user space can\nacknowledge an interrupt when an external interrupt has successfully\nbeen delivered into the guest vcpu.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "68e2ffed358c92341c126e606b500098fc72f5f7",
      "tree": "20f710a745f7ba4452fce413e83a6a8c67300ac3",
      "parents": [
        "908e7d7999bcce70ac52e7f390a8f5cbc55948de"
      ],
      "author": {
        "name": "Mihai Caraman",
        "email": "mihai.caraman@freescale.com",
        "time": "Tue Dec 11 03:38:23 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Jan 10 13:15:08 2013 +0100"
      },
      "message": "KVM: PPC: Fix SREGS documentation reference\n\nReflect the uapi folder change in SREGS API documentation.\n\nSigned-off-by: Mihai Caraman \u003cmihai.caraman@freescale.com\u003e\nReviewed-by: Amos Kong \u003ckongjianjun@gmail.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "fa6b7fe9928d50444c29b29c8563746c6b0c6299",
      "tree": "0be284cf322eb82eefdb3df2743740e5578ba5c4",
      "parents": [
        "d6712df95bcfea597fc3ea2405ec13e8b69a7b8c"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Dec 20 15:32:12 2012 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 07 19:53:43 2013 -0200"
      },
      "message": "KVM: s390: Add support for channel I/O instructions.\n\nAdd a new capability, KVM_CAP_S390_CSS_SUPPORT, which will pass\nintercepts for channel I/O instructions to userspace. Only I/O\ninstructions interacting with I/O interrupts need to be handled\nin-kernel:\n\n- TEST PENDING INTERRUPTION (tpi) dequeues and stores pending\n  interrupts entirely in-kernel.\n- TEST SUBCHANNEL (tsch) dequeues pending interrupts in-kernel\n  and exits via KVM_EXIT_S390_TSCH to userspace for subchannel-\n  related processing.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nReviewed-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d6712df95bcfea597fc3ea2405ec13e8b69a7b8c",
      "tree": "5079dabfbf47e1d43af960248e93193e768d02bc",
      "parents": [
        "f379aae558b8daff0f7a1c5fc225af5d35c741f7"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Dec 20 15:32:11 2012 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 07 19:53:42 2013 -0200"
      },
      "message": "KVM: s390: Base infrastructure for enabling capabilities.\n\nMake s390 support KVM_ENABLE_CAP.\n\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "48a3e950f4cee6a345ffbe9baf599f1e9a54c479",
      "tree": "3e60015a025df89b28df12c6470babbfb566e766",
      "parents": [
        "d8346b7d9bab37e6cc712ff1622c65ff98bdfef8"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Dec 20 15:32:09 2012 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 07 19:53:41 2013 -0200"
      },
      "message": "KVM: s390: Add support for machine checks.\n\nAdd support for injecting machine checks (only repressible\nconditions for now).\n\nThis is a bit more involved than I/O interrupts, for these reasons:\n\n- Machine checks come in both floating and cpu varieties.\n- We don\u0027t have a bit for machine checks enabling, but have to use\n  a roundabout approach with trapping PSW changing instructions and\n  watching for opened machine checks.\n\nReviewed-by: Alexander Graf \u003cagraf@suse.de\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d8346b7d9bab37e6cc712ff1622c65ff98bdfef8",
      "tree": "60f36ff7f61757501f3560d8860ca217d7e92640",
      "parents": [
        "b1c571a50dfacf25a24c23271e9b8bf18ff6b102"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Dec 20 15:32:08 2012 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 07 19:53:40 2013 -0200"
      },
      "message": "KVM: s390: Support for I/O interrupts.\n\nAdd support for handling I/O interrupts (standard, subchannel-related\nones and rudimentary adapter interrupts).\n\nThe subchannel-identifying parameters are encoded into the interrupt\ntype.\n\nI/O interrupts are floating, so they can\u0027t be injected on a specific\nvcpu.\n\nReviewed-by: Alexander Graf \u003cagraf@suse.de\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "352df1deb2e3c40e65ff94c8d7c62d9144446b1c",
      "tree": "cd125e7e076fe9b8df939940e1ef255534d09a17",
      "parents": [
        "38f988240c611f9d2595feb1b8ddcb80b0e97dec"
      ],
      "author": {
        "name": "Mihai Caraman",
        "email": "mihai.caraman@freescale.com",
        "time": "Thu Oct 11 06:13:29 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Dec 06 01:34:20 2012 +0100"
      },
      "message": "KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n\nImplement ONE_REG interface for EPCR register adding KVM_REG_PPC_EPCR to\nthe list of ONE_REG PPC supported registers.\n\nSigned-off-by: Mihai Caraman \u003cmihai.caraman@freescale.com\u003e\n[agraf: remove HV dependency, use get/put_user]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "a2932923ccf63c419c77aaa18ac09be98f2c94d8",
      "tree": "391d9fc64d93bac26b442d7f2211dc99dbd10e67",
      "parents": [
        "6b445ad4f839b06e68dd8e178e1168482ca20310"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Nov 19 22:57:20 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Dec 06 01:33:57 2012 +0100"
      },
      "message": "KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT\n\nA new ioctl, KVM_PPC_GET_HTAB_FD, returns a file descriptor.  Reads on\nthis fd return the contents of the HPT (hashed page table), writes\ncreate and/or remove entries in the HPT.  There is a new capability,\nKVM_CAP_PPC_HTAB_FD, to indicate the presence of the ioctl.  The ioctl\ntakes an argument structure with the index of the first HPT entry to\nread out and a set of flags.  The flags indicate whether the user is\nintending to read or write the HPT, and whether to return all entries\nor only the \"bolted\" entries (those with the bolted bit, 0x10, set in\nthe first doubleword).\n\nThis is intended for use in implementing qemu\u0027s savevm/loadvm and for\nlive migration.  Therefore, on reads, the first pass returns information\nabout all HPTEs (or all bolted HPTEs).  When the first pass reaches the\nend of the HPT, it returns from the read.  Subsequent reads only return\ninformation about HPTEs that have changed since they were last read.\nA read that finds no changed HPTEs in the HPT following where the last\nread finished will return 0 bytes.\n\nThe format of the data provides a simple run-length compression of the\ninvalid entries.  Each block of data starts with a header that indicates\nthe index (position in the HPT, which is just an array), the number of\nvalid entries starting at that index (may be zero), and the number of\ninvalid entries following those valid entries.  The valid entries, 16\nbytes each, follow the header.  The invalid entries are not explicitly\nrepresented.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n[agraf: fix documentation]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "0588000eac9ba4178cebade437da3b28e8fad48f",
      "tree": "697e514a0a0193f17a54f372dd18c5cd3927e154",
      "parents": [
        "8b5869ad85f703ffeb25e656eab826f6b85b984c",
        "81c52c56e2b43589091ee29038bcf793d3f184ab"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Oct 31 13:36:18 2012 +0100"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Oct 31 13:36:18 2012 +0100"
      },
      "message": "Merge commit \u0027origin/queue\u0027 into for-queue\n\nConflicts:\n\tarch/powerpc/include/asm/Kbuild\n\tarch/powerpc/include/uapi/asm/Kbuild\n"
    },
    {
      "commit": "686de182a217d315e50fef74ba5e7bcd7ea6c246",
      "tree": "447b54031653b92073c1dc2e6667f9b1ee167290",
      "parents": [
        "e43a028752fed049e4bd94ef895542f96d79fa74"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Oct 07 15:22:59 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Oct 30 10:54:50 2012 +0100"
      },
      "message": "KVM: Documentation: Fix reentry-to-be-consistent paragraph\n\nAll user space offloaded instruction emulation needs to reenter kvm\nto produce consistent state again. Fix the section in the documentation\nto mention all of them.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "19bf7f8ac3f8131100027281c495dbbe00cd5ae0",
      "tree": "270b97e3ca47c0f62a1babca2ae37f79a76a309c",
      "parents": [
        "787c57c0fb393fe8a3974d300ddcfe30373386fe",
        "35fd3dc58da675d659513384221349ef90749a01"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 29 19:15:32 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 29 19:15:32 2012 -0200"
      },
      "message": "Merge remote-tracking branch \u0027master\u0027 into queue\n\nMerge reason: development work has dependency on kvm patches merged\nupstream.\n\nConflicts:\n\tarch/powerpc/include/asm/Kbuild\n\tarch/powerpc/include/asm/kvm_para.h\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "03604b31142058362db13e7881385806977893f5",
      "tree": "8b3c7934fbfcbea5cce3e1fad82f6fd23aea1778",
      "parents": [
        "87cac8f879a5ecd7109dbe688087e8810b3364eb",
        "12ecd9570d8941c15602a11725ec9b0ede48d6c2"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Oct 10 19:03:54 2012 -0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Oct 10 19:03:54 2012 -0300"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of http://github.com/agraf/linux-2.6 into queue\n\n* \u0027for-upstream\u0027 of http://github.com/agraf/linux-2.6: (56 commits)\n  arch/powerpc/kvm/e500_tlb.c: fix error return code\n  KVM: PPC: Book3S HV: Provide a way for userspace to get/set per-vCPU areas\n  KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface\n  KVM: PPC: Book3S: Get/set guest SPRs using the GET/SET_ONE_REG interface\n  KVM: PPC: set IN_GUEST_MODE before checking requests\n  KVM: PPC: e500: MMU API: fix leak of shared_tlb_pages\n  KVM: PPC: e500: fix allocation size error on g2h_tlb1_map\n  KVM: PPC: Book3S HV: Fix calculation of guest phys address for MMIO emulation\n  KVM: PPC: Book3S HV: Remove bogus update of physical thread IDs\n  KVM: PPC: Book3S HV: Fix updates of vcpu-\u003ecpu\n  KVM: Move some PPC ioctl definitions to the correct place\n  KVM: PPC: Book3S HV: Handle memory slot deletion and modification correctly\n  KVM: PPC: Move kvm-\u003earch.slot_phys into memslot.arch\n  KVM: PPC: Book3S HV: Take the SRCU read lock before looking up memslots\n  KVM: PPC: bookehv: Allow duplicate calls of DO_KVM macro\n  KVM: PPC: BookE: Support FPU on non-hv systems\n  KVM: PPC: 440: Implement mfdcrx\n  KVM: PPC: 440: Implement mtdcrx\n  Document IACx/DACx registers access using ONE_REG API\n  KVM: PPC: E500: Remove E500_TLB_DIRTY flag\n  ...\n"
    },
    {
      "commit": "416ad65f73f8a68783c98dd734f570e4829d996b",
      "tree": "7a948464753a9209644041f82a6a7baac4269cd5",
      "parents": [
        "82a1273713df37375a75d6a700deef70c0d21360"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 02 16:25:37 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Oct 10 19:03:38 2012 -0300"
      },
      "message": "s390/kvm: Add documentation for KVM_S390_INTERRUPT\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f59b51fe3d3092c08d7d554ecb40db24011b2ebc",
      "tree": "f19a5cb72adda3963f83609dbe2314620a4cf63e",
      "parents": [
        "aac2b1f5747ea34696d0da5bdc4d8247aa6437af",
        "062d52672446014222942cae6934d97769b329f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 11:15:20 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 11:15:20 2012 +0900"
      },
      "message": "Merge branch \u0027for-linus-37rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml\n\nPull UML changes from Richard Weinberger:\n \"UML receives this time only cleanups.\n\n  The most outstanding change is the \u0027include \"foo.h\"\u0027 do \u0027include\n  \u003cfoo.h\u003e\u0027 conversion done by Al Viro.\n\n  It touches many files, that\u0027s why the diffstat is rather big.\"\n\n* \u0027for-linus-37rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:\n  typo in UserModeLinux-HOWTO\n  hppfs: fix the return value of get_inode()\n  hostfs: drop vmtruncate\n  um: get rid of pointless include \"...\" where include \u003c...\u003e will do\n  um: move sysrq.h out of include/shared\n  um/x86: merge 32 and 64 bit variants of ptrace.h\n  um/x86: merge 32 and 64bit variants of checksum.h\n"
    },
    {
      "commit": "062d52672446014222942cae6934d97769b329f0",
      "tree": "e2c7de3520a609c61fe4b7681b81813b2b672a3a",
      "parents": [
        "91312c53aff4c9863dca6080182091dc5c5824c6"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Thu Sep 27 09:34:16 2012 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Tue Oct 09 22:35:24 2012 +0200"
      },
      "message": "typo in UserModeLinux-HOWTO\n\n[it seems that I sent it to the wrong maintainer at first... sorry for that]\ncopy_from_user was meant instead of copy_to_user.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "55b665b0263ae88a776071306ef1eee4b769016b",
      "tree": "c83b5a0f8961ecac8a708cbdeb01f41d5b685d9e",
      "parents": [
        "a8bd19ef4dd49f0eef86a4a8eb43d60f967236b8"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Sep 25 20:33:06 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 05 23:38:55 2012 +0200"
      },
      "message": "KVM: PPC: Book3S HV: Provide a way for userspace to get/set per-vCPU areas\n\nThe PAPR paravirtualization interface lets guests register three\ndifferent types of per-vCPU buffer areas in its memory for communication\nwith the hypervisor.  These are called virtual processor areas (VPAs).\nCurrently the hypercalls to register and unregister VPAs are handled\nby KVM in the kernel, and userspace has no way to know about or save\nand restore these registrations across a migration.\n\nThis adds \"register\" codes for these three areas that userspace can\nuse with the KVM_GET/SET_ONE_REG ioctls to see what addresses have\nbeen registered, and to register or unregister them.  This will be\nneeded for guest hibernation and migration, and is also needed so\nthat userspace can unregister them on reset (otherwise we corrupt\nguest memory after reboot by writing to the VPAs registered by the\nprevious kernel).\n\nThe \"register\" for the VPA is a 64-bit value containing the address,\nsince the length of the VPA is fixed.  The \"registers\" for the SLB\nshadow buffer and dispatch trace log (DTL) are 128 bits long,\nconsisting of the guest physical address in the high (first) 64 bits\nand the length in the low 64 bits.\n\nThis also fixes a bug where we were calling init_vpa unconditionally,\nleading to an oops when unregistering the VPA.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "a8bd19ef4dd49f0eef86a4a8eb43d60f967236b8",
      "tree": "29a4c8141e1e68d20c832b5d05e064e5ad83f028",
      "parents": [
        "a136a8bdc02fc14625ac45ee846cc646fc46597e"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Sep 25 20:32:30 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 05 23:38:54 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface\n\nThis enables userspace to get and set all the guest floating-point\nstate using the KVM_[GS]ET_ONE_REG ioctls.  The floating-point state\nincludes all of the traditional floating-point registers and the\nFPSCR (floating point status/control register), all the VMX/Altivec\nvector registers and the VSCR (vector status/control register), and\non POWER7, the vector-scalar registers (note that each FP register\nis the high-order half of the corresponding VSR).\n\nMost of these are implemented in common Book 3S code, except for VSX\non POWER7.  Because HV and PR differ in how they store the FP and VSX\nregisters on POWER7, the code for these cases is not common.  On POWER7,\nthe FP registers are the upper halves of the VSX registers vsr0 - vsr31.\nPR KVM stores vsr0 - vsr31 in two halves, with the upper halves in the\narch.fpr[] array and the lower halves in the arch.vsr[] array, whereas\nHV KVM on POWER7 stores the whole VSX register in arch.vsr[].\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n[agraf: fix whitespace, vsx compilation]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "a136a8bdc02fc14625ac45ee846cc646fc46597e",
      "tree": "7016d41b16ea11769f918526eca63a80b3014d71",
      "parents": [
        "5bd1cf118533aba41b3fbd4834e6362a9237db71"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Sep 25 20:31:56 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 05 23:38:54 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: Get/set guest SPRs using the GET/SET_ONE_REG interface\n\nThis enables userspace to get and set various SPRs (special-purpose\nregisters) using the KVM_[GS]ET_ONE_REG ioctls.  With this, userspace\ncan get and set all the SPRs that are part of the guest state, either\nthrough the KVM_[GS]ET_REGS ioctls, the KVM_[GS]ET_SREGS ioctls, or\nthe KVM_[GS]ET_ONE_REG ioctls.\n\nThe SPRs that are added here are:\n\n- DABR:  Data address breakpoint register\n- DSCR:  Data stream control register\n- PURR:  Processor utilization of resources register\n- SPURR: Scaled PURR\n- DAR:   Data address register\n- DSISR: Data storage interrupt status register\n- AMR:   Authority mask register\n- UAMOR: User authority mask override register\n- MMCR0, MMCR1, MMCRA: Performance monitor unit control registers\n- PMC1..PMC8: Performance monitor unit counter registers\n\nIn order to reduce code duplication between PR and HV KVM code, this\nmoves the kvm_vcpu_ioctl_[gs]et_one_reg functions into book3s.c and\ncentralizes the copying between user and kernel space there.  The\nregisters that are handled differently between PR and HV, and those\nthat exist only in one flavor, are handled in kvmppc_[gs]et_one_reg()\nfunctions that are specific to each flavor.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n[agraf: minimal style fixes]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "2e2327023fe090d68aacad395178298645eaffea",
      "tree": "9209654dc15a402173cef7befdd5b79bc00f6fc4",
      "parents": [
        "430c7ff52ffb902e1e08b255b93c28fcad8cb9ef"
      ],
      "author": {
        "name": "Bharat Bhushan",
        "email": "r65777@freescale.com",
        "time": "Wed Aug 15 17:37:13 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 05 23:38:49 2012 +0200"
      },
      "message": "Document IACx/DACx registers access using ONE_REG API\n\nPatch to access the debug registers (IACx/DACx) using ONE_REG api\nwas sent earlier. But that missed the respective documentation.\n\nAlso corrected the index number referencing in section 4.69\n\nSigned-off-by: Bharat Bhushan \u003cbharat.bhushan@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "9202e07636f0c4858ba6c30773a3f160b2b5659a",
      "tree": "8dc71ab432097c3cfbad47157d66788e02d1f219",
      "parents": [
        "784bafac79e7646e56f40998a6dde0e1ed5595f8"
      ],
      "author": {
        "name": "Liu Yu-B13201",
        "email": "Yu.Liu@freescale.com",
        "time": "Tue Jul 03 05:48:52 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 05 23:38:37 2012 +0200"
      },
      "message": "KVM: PPC: Add support for ePAPR idle hcall in host kernel\n\nAnd add a new flag definition in kvm_ppc_pvinfo to indicate\nwhether the host supports the EV_IDLE hcall.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\n[stuart.yoder@freescale.com: cleanup,fixes for conditions allowing idle]\nSigned-off-by: Stuart Yoder \u003cstuart.yoder@freescale.com\u003e\n[agraf: fix typo]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "7a84428af7ca6a847f058c9ff244a18a2664fd1b",
      "tree": "e6c573c701736a75d618b670d66e98398b62769f",
      "parents": [
        "1e08ec4a130e2745d96df169e67c58df98a07311"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Fri Sep 21 11:58:03 2012 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 23 13:50:15 2012 +0200"
      },
      "message": "KVM: Add resampling irqfds for level triggered interrupts\n\nTo emulate level triggered interrupts, add a resample option to\nKVM_IRQFD.  When specified, a new resamplefd is provided that notifies\nthe user when the irqchip has been resampled by the VM.  This may, for\ninstance, indicate an EOI.  Also in this mode, posting of an interrupt\nthrough an irqfd only asserts the interrupt.  On resampling, the\ninterrupt is automatically de-asserted prior to user notification.\nThis enables level triggered interrupts to be posted and re-enabled\nfrom vfio with no userspace intervention.\n\nAll resampling irqfds can make use of a single irq source ID, so we\nreserve a new one for this interface.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "879238fecc051d95037ae76332916209a7770709",
      "tree": "078ae5712c8dd13865b2c245e19cfdbf246abe66",
      "parents": [
        "9fc77441e5e1bf80b794cc546d2243ee9f4afb75"
      ],
      "author": {
        "name": "Stefan Fritsch",
        "email": "sf@sfritsch.de",
        "time": "Sun Sep 16 12:55:40 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Sep 17 14:10:23 2012 -0300"
      },
      "message": "KVM: clarify kvmclock documentation\n\n- mention that system time needs to be added to wallclock time\n- positive tsc_shift means left shift, not right\n- mention additional 32bit right shift\n\nSigned-off-by: Stefan Fritsch \u003csf@sfritsch.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7efd8fa145c340a68a9cd758012b6e0ae4883c93",
      "tree": "e906e7755298d21bd95b9a700bc70a63a5ea2f1f",
      "parents": [
        "a50abc3b2b469ee80bc0f9ef5b6d457ef72659a9"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Sep 07 13:17:47 2012 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Sep 09 16:39:17 2012 +0300"
      },
      "message": "KVM: Improve wording of KVM_SET_USER_MEMORY_REGION documentation\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4d8b81abc47b83a1939e59df2fdb0e98dfe0eedd",
      "tree": "47ea77cb4f77a2884a0478ecf84f62e32e5661ee",
      "parents": [
        "7068d0971524dd47a38f44f6020ba133432871ca"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Aug 21 11:02:51 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 22 15:09:03 2012 +0300"
      },
      "message": "KVM: introduce readonly memslot\n\nIn current code, if we map a readonly memory space from host to guest\nand the page is not currently mapped in the host, we will get a fault\npfn and async is not allowed, then the vm will crash\n\nWe introduce readonly memory region to map ROM/ROMD to the guest, read access\nis happy for readonly memslot, write access on readonly memslot will cause\nKVM_EXIT_MMIO exit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6024f1a4dd066d54213cc17f821e19e3062298ca",
      "tree": "743e4c0b491056c762f985ee2e437da24b29dee2",
      "parents": [
        "e423ca155d3f5f16b46e30de9c818875b1fd617d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 07 13:10:26 2012 +0530"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Aug 13 17:39:59 2012 -0300"
      },
      "message": "KVM: Add ppc hypercall documentation\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fc16123937ccfc2f2bbe98a5e41c4f6d26a22b24",
      "tree": "8f8f3965a65066d3b4cd03c413c4378928ea1fbe",
      "parents": [
        "51d59c6b422f3f95940ae4e5b42f165595906aee"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Tue Aug 07 13:09:59 2012 +0530"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Aug 13 17:39:59 2012 -0300"
      },
      "message": "KVM: Add documentation on hypercalls\n\nThanks Alex for KVM_HC_FEATURES inputs and Jan for VAPIC_POLL_IRQ,\nand Peter (HPA) for suggesting hypercall ABI addition.\n\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5fecc9d8f59e765c2a48379dd7c6f5cf88c7d75a",
      "tree": "d1fc25d9650d3ac24591bba6f5e2e7a1afc54796",
      "parents": [
        "3c4cfadef6a1665d9cd02a543782d03d3e6740c6",
        "1a577b72475d161b6677c05abe57301362023bb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "message": "Merge tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Avi Kivity:\n \"Highlights include\n  - full big real mode emulation on pre-Westmere Intel hosts (can be\n    disabled with emulate_invalid_guest_state\u003d0)\n  - relatively small ppc and s390 updates\n  - PCID/INVPCID support in guests\n  - EOI avoidance; 3.6 guests should perform better on 3.6 hosts on\n    interrupt intensive workloads)\n  - Lockless write faults during live migration\n  - EPT accessed/dirty bits support for new Intel processors\"\n\nFix up conflicts in:\n - Documentation/virtual/kvm/api.txt:\n\n   Stupid subchapter numbering, added next to each other.\n\n - arch/powerpc/kvm/booke_interrupts.S:\n\n   PPC asm changes clashing with the KVM fixes\n\n - arch/s390/include/asm/sigp.h, arch/s390/kvm/sigp.c:\n\n   Duplicated commits through the kvm tree and the s390 tree, with\n   subsequent edits in the KVM tree.\n\n* tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (93 commits)\n  KVM: fix race with level interrupts\n  x86, hyper: fix build with !CONFIG_KVM_GUEST\n  Revert \"apic: fix kvm build on UP without IOAPIC\"\n  KVM guest: switch to apic_set_eoi_write, apic_write\n  apic: add apic_set_eoi_write for PV use\n  KVM: VMX: Implement PCID/INVPCID for guests with EPT\n  KVM: Add x86_hyper_kvm to complete detect_hypervisor_platform check\n  KVM: PPC: Critical interrupt emulation support\n  KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests\n  KVM: PPC64: booke: Set interrupt computation mode for 64-bit host\n  KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt\n  KVM: PPC: bookehv64: Add support for std/ld emulation.\n  booke: Added crit/mc exception handler for e500v2\n  booke/bookehv: Add host crit-watchdog exception support\n  KVM: MMU: document mmu-lock and fast page fault\n  KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint\n  KVM: MMU: trace fast page fault\n  KVM: MMU: fast path of handling guest page fault\n  KVM: MMU: introduce SPTE_MMU_WRITEABLE bit\n  KVM: MMU: fold tlb flush judgement into mmu_spte_update\n  ...\n"
    },
    {
      "commit": "58d8b1728ea3da391ef01c43a384ea06ce4b7c8a",
      "tree": "d63f20f37df1672b7d9e25733a24d4a1770cf09e",
      "parents": [
        "6fbc277053836a4d80c72a0843bcbc7595b31e87"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Wed Jun 20 16:00:26 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jul 11 16:51:23 2012 +0300"
      },
      "message": "KVM: MMU: document mmu-lock and fast page fault\n\nDocument fast page fault and mmu-lock in locking.txt\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f36992e31284131a978d07bb14e582ce67b46b64",
      "tree": "be88191fc675e9d242140dd9c5e8ddd9ee5c02c2",
      "parents": [
        "d4db2935e4fffeba42540b0dc9d85e3036701221"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Fri Jun 29 09:56:16 2012 -0600"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jul 02 21:10:30 2012 -0300"
      },
      "message": "KVM: Add missing KVM_IRQFD API documentation\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c1af87dc96cd0f8f17694d0cd9be01b80b2c7a6a",
      "tree": "df243a9a8ac7c5d4e825a37f8afb1bdc9eb09924",
      "parents": [
        "d0a69d6321ca759bb8d47803d06ba8571ab42d07"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Jun 24 19:24:49 2012 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 25 12:40:34 2012 +0300"
      },
      "message": "KVM: eoi msi documentation\n\nDocument the new EOI MSR. Couldn\u0027t decide whether this change belongs\nconceptually on guest or host side, so a separate patch.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d35b1075afc0172caa44b57b56a2b9b57e06d32e",
      "tree": "9ce55544f23d250c27e84ac5c93a5a9f12693660",
      "parents": [
        "21bd000abff7d587229dbbee6f8c17f3aad9f9d8"
      ],
      "author": {
        "name": "Bharat Bhushan",
        "email": "r65777@freescale.com",
        "time": "Sun May 20 23:21:53 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 30 11:43:11 2012 +0200"
      },
      "message": "KVM: PPC: Not optimizing MSR_CE and MSR_ME with paravirt.\n\nIf there is pending critical or machine check interrupt then guest\nwould like to capture it when guest enable MSR.CE and MSR_ME respectively.\nAlso as mostly MSR_CE and MSR_ME are updated with rfi/rfci/rfmii\nwhich anyway traps so removing the the paravirt optimization for MSR.CE\nand MSR.ME.\n\nSigned-off-by: Bharat Bhushan \u003cbharat.bhushan@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "32fad281c0680ed0ccade7dda85a2121cf9b1d06",
      "tree": "03d86216a00dcb2faca0ec8312e6ebcf57fa7d12",
      "parents": [
        "2e1ae9c07df5956ebab19144aa0da58ea37c9f69"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri May 04 02:32:53 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 30 11:43:10 2012 +0200"
      },
      "message": "KVM: PPC: Book3S HV: Make the guest hash table size configurable\n\nThis adds a new ioctl to enable userspace to control the size of the guest\nhashed page table (HPT) and to clear it out when resetting the guest.\nThe KVM_PPC_ALLOCATE_HTAB ioctl is a VM ioctl and takes as its parameter\na pointer to a u32 containing the desired order of the HPT (log base 2\nof the size in bytes), which is updated on successful return to the\nactual order of the HPT which was allocated.\n\nThere must be no vcpus running at the time of this ioctl.  To enforce\nthis, we now keep a count of the number of vcpus running in\nkvm-\u003earch.vcpus_running.\n\nIf the ioctl is called when a HPT has already been allocated, we don\u0027t\nreallocate the HPT but just clear it out.  We first clear the\nkvm-\u003earch.rma_setup_done flag, which has two effects: (a) since we hold\nthe kvm-\u003elock mutex, it will prevent any vcpus from starting to run until\nwe\u0027re done, and (b) it means that the first vcpu to run after we\u0027re done\nwill re-establish the VRMA if necessary.\n\nIf userspace doesn\u0027t call this ioctl before running the first vcpu, the\nkernel will allocate a default-sized HPT at that point.  We do it then\nrather than when creating the VM, as the code did previously, so that\nuserspace has a chance to do the ioctl if it wants.\n\nWhen allocating the HPT, we can allocate either from the kernel page\nallocator, or from the preallocated pool.  If userspace is asking for\na different size from the preallocated HPTs, we first try to allocate\nusing the kernel page allocator.  Then we try to allocate from the\npreallocated pool, and then if that fails, we try allocating decreasing\nsizes from the kernel page allocator, down to the minimum size allowed\n(256kB).  Note that the kernel page allocator limits allocations to\n1 \u003c\u003c CONFIG_FORCE_MAX_ZONEORDER pages, which by default corresponds to\n16MB (on 64-bit powerpc, at least).\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n[agraf: fix module compilation]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "07acfc2a9349a8ce45b236c2624dad452001966b",
      "tree": "c40f3eaac18a8320e65af220979223b5cd632b1b",
      "parents": [
        "b5f4035adfffbcc6b478de5b8c44b618b3124aff",
        "322728e55aa7834e2fab2786b76df183c4843a12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:17:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:17:30 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM changes from Avi Kivity:\n \"Changes include additional instruction emulation, page-crossing MMIO,\n  faster dirty logging, preventing the watchdog from killing a stopped\n  guest, module autoload, a new MSI ABI, and some minor optimizations\n  and fixes.  Outside x86 we have a small s390 and a very large ppc\n  update.\n\n  Regarding the new (for kvm) rebaseless workflow, some of the patches\n  that were merged before we switch trees had to be rebased, while\n  others are true pulls.  In either case the signoffs should be correct\n  now.\"\n\nFix up trivial conflicts in Documentation/feature-removal-schedule.txt\narch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.\n\nI suspect the kvm_para.h resolution ends up doing the \"do I have cpuid\"\ncheck effectively twice (it was done differently in two different\ncommits), but better safe than sorry ;)\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)\n  KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block\n  KVM: s390: onereg for timer related registers\n  KVM: s390: epoch difference and TOD programmable field\n  KVM: s390: KVM_GET/SET_ONEREG for s390\n  KVM: s390: add capability indicating COW support\n  KVM: Fix mmu_reload() clash with nested vmx event injection\n  KVM: MMU: Don\u0027t use RCU for lockless shadow walking\n  KVM: VMX: Optimize %ds, %es reload\n  KVM: VMX: Fix %ds/%es clobber\n  KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()\n  KVM: VMX: unlike vmcs on fail path\n  KVM: PPC: Emulator: clean up SPR reads and writes\n  KVM: PPC: Emulator: clean up instruction parsing\n  kvm/powerpc: Add new ioctl to retreive server MMU infos\n  kvm/book3s: Make kernel emulated H_PUT_TCE available for \"PR\" KVM\n  KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler\n  KVM: PPC: Book3S: Enable IRQs during exit handling\n  KVM: PPC: Fix PR KVM on POWER7 bare metal\n  KVM: PPC: Fix stbux emulation\n  KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields\n  ...\n"
    },
    {
      "commit": "33950c6e2269f516059e2fa777f8c7559dfa31a5",
      "tree": "3823b5c6609b3b08551ea0cffb0ab7c3a3a4b754",
      "parents": [
        "76e10d158efb6d4516018846f60c2ab5501900bc"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 22 12:16:09 2012 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 22 12:16:09 2012 +0930"
      },
      "message": "virtio: update documentation to v0.9.5 of spec\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f2569053e0b3ae092e2f35514f8d108647baa01f",
      "tree": "f850e7d06b446c6bc598d12d40b2582ef274abf7",
      "parents": [
        "9f4260e73ac43aaa91eb5de95950e1de7002f467",
        "54771e6217ce05a474827d9b23ff03de9d2ef2a0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue May 08 17:00:13 2012 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue May 08 17:00:13 2012 +0300"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of git://github.com/agraf/linux-2.6 into next\n\nPPC updates from Alex.\n\n* \u0027for-upstream\u0027 of git://github.com/agraf/linux-2.6:\n  KVM: PPC: Emulator: clean up SPR reads and writes\n  KVM: PPC: Emulator: clean up instruction parsing\n  kvm/powerpc: Add new ioctl to retreive server MMU infos\n  kvm/book3s: Make kernel emulated H_PUT_TCE available for \"PR\" KVM\n  KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler\n  KVM: PPC: Book3S: Enable IRQs during exit handling\n  KVM: PPC: Fix PR KVM on POWER7 bare metal\n  KVM: PPC: Fix stbux emulation\n  KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields\n  KVM: PPC: Book3S: PR: No isync in slbie path\n  KVM: PPC: Book3S: PR: Optimize entry path\n  KVM: PPC: booke(hv): Fix save/restore of guest accessible SPRGs.\n  KVM: PPC: Restrict PPC_[L|ST]D macro to asm code\n  KVM: PPC: bookehv: Use a Macro for saving/restoring guest registers to/from their 64 bit copies.\n  KVM: PPC: Use clockevent multiplier and shifter for decrementer\n  KVM: Use minimum and maximum address mapped by TLB1\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5b74716ebab10e7bce960d148fe6d8f6920451e5",
      "tree": "169a36d6bcf64330f5bf026d9b064bfbe5582c85",
      "parents": [
        "f31e65e1170edba4a86bd8cba0318e251d3746d0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Apr 26 19:43:42 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:12 2012 +0200"
      },
      "message": "kvm/powerpc: Add new ioctl to retreive server MMU infos\n\nThis is necessary for qemu to be able to pass the right information\nto the guest, such as the supported page sizes and corresponding\nencodings in the SLB and hash table, which can vary depending\non the processor type, the type of KVM used (PR vs HV) and the\nversion of KVM\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n[agraf: fix compilation on hv, adjust for newer ioctl numbers]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "57c22e5f35aa4b9b2fe11f73f3e62bbf9ef36190",
      "tree": "0ec4365a32d290c7e80d02bb67f7f28c188b39a2",
      "parents": [
        "e726b1bd64b0b8945c171d2d4bf749fba9fc0800"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 02 17:55:56 2012 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun May 06 15:51:56 2012 +0300"
      },
      "message": "KVM: fix cpuid eax for KVM leaf\n\ncpuid eax should return the max leaf so that\nguests can find out the valid range.\nThis matches Xen et al.\nUpdate documentation to match.\n\nTested with -cpu host.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b6ddf05ff68d81a7c1736717faf492b70e9bf4f9",
      "tree": "dbcf0f64e8bd0e420a498b6d074b5f0d1afc91ed",
      "parents": [
        "0589ff6c11d8128cf053c3ddc75b0f6d8b71c62b"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Apr 24 16:40:17 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 27 19:40:29 2012 -0300"
      },
      "message": "KVM: x86: Run PIT work in own kthread\n\nWe can\u0027t run PIT IRQ injection work in the interrupt context of the host\ntimer. This would allow the user to influence the handler complexity by\nasking for a broadcast to a large number of VCPUs. Therefore, this work\nwas pushed into workqueue context in 9d244caf2e. However, this prevents\nprioritizing the PIT injection over other task as workqueues share\nkernel threads.\n\nThis replaces the workqueue with a kthread worker and gives that thread\na name in the format \"kvm-pit/\u003cowner-process-pid\u003e\". That allows to\nidentify and adjust the kthread priority according to the VM process\nparameters.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0589ff6c11d8128cf053c3ddc75b0f6d8b71c62b",
      "tree": "a83f052199ead693e8aa1299100e2f0da168d982",
      "parents": [
        "414fa985f91bdf61fe2baf8111c0ddbdb94808ea"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Apr 24 16:40:16 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 27 19:40:29 2012 -0300"
      },
      "message": "KVM: x86: Document in-kernel PIT API\n\nAdd descriptions for KVM_CREATE_PIT2 and KVM_GET/SET_PIT2.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "414fa985f91bdf61fe2baf8111c0ddbdb94808ea",
      "tree": "da6a3d6b54295515134fc4a926fe47565e5e5b08",
      "parents": [
        "38e8a2ddc9ada5dd1f2def95bebb733bf619bbef"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Apr 24 16:40:15 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 27 19:40:28 2012 -0300"
      },
      "message": "KVM: Improve readability of KVM API doc\n\nThis helps to identify sections and it also fixes the numbering from\n4.54 to 4.61.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "07975ad3b30579ca27d880491ad992326b930c63",
      "tree": "fea166a02c387949a09a948a51781074bdc9ed68",
      "parents": [
        "1f15d10984c854e077da5aa1a23f901496b49773"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Thu Mar 29 21:14:12 2012 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Apr 24 15:59:47 2012 +0300"
      },
      "message": "KVM: Introduce direct MSI message injection for in-kernel irqchips\n\nCurrently, MSI messages can only be injected to in-kernel irqchips by\ndefining a corresponding IRQ route for each message. This is not only\nunhandy if the MSI messages are generated \"on the fly\" by user space,\nIRQ routes are a limited resource that user space has to manage\ncarefully.\n\nBy providing a direct injection path, we can both avoid using up limited\nresources and simplify the necessary steps for user land.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1c0b28c2a46d98cd258d96b8c222144b22876c46",
      "tree": "68c5b4f6a74e3b245dd994752fdc9005075b485c",
      "parents": [
        "3b5d56b9317fa7b5407dff1aa7b115bf6cdbd494"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Sat Mar 10 14:37:27 2012 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:49:01 2012 +0300"
      },
      "message": "KVM: x86: Add ioctl for KVM_KVMCLOCK_CTRL\n\nNow that we have a flag that will tell the guest it was suspended, create an\ninterface for that communication using a KVM ioctl.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "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"
    }
  ],
  "next": "55399a02e90fdc6cd45165b2df5dd97b7c3f018f"
}
