)]}'
{
  "log": [
    {
      "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": "51bfd2998113e1f8ce8dcf853407b76a04b5f2a0",
      "tree": "c323aefd210110cfd65162f9c2a5d53f494ee8e1",
      "parents": [
        "ffe3649282946547f1b938e02c0228aead407a18"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed May 09 23:49:24 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 16 15:02:12 2012 +0200"
      },
      "message": "KVM: PPC: Book3S HV: Fix bug leading to deadlock in guest HPT updates\n\nWhen handling the H_BULK_REMOVE hypercall, we were forgetting to\ninvalidate and unlock the hashed page table entry (HPTE) in the case\nwhere the page had been paged out.  This fixes it by clearing the\nfirst doubleword of the HPTE in that case.\n\nThis fixes a regression introduced in commit a92bce95f0 (\"KVM: PPC:\nBook3S HV: Keep HPTE locked when invalidating\").  The effect of the\nregression is that the host kernel will sometimes hang when under\nmemory pressure.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "ffe3649282946547f1b938e02c0228aead407a18",
      "tree": "bc95604d39cdefb135adc60c03fabffda4557604",
      "parents": [
        "32c7dbfd479e73684b0d23fcb0a5cb04f19d86f4"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Mar 23 11:21:14 2012 +1100"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 16 15:02:11 2012 +0200"
      },
      "message": "powerpc/kvm: Fix VSID usage in 64-bit \"PR\" KVM\n\nThe code forgot to scramble the VSIDs the way we normally do\nand was basically using the \"proto VSID\" directly with the MMU.\n\nThis means that in practice, KVM used random VSIDs that could\ncollide with segments used by other user space programs.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n[agraf: simplify ppc32 case]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "32c7dbfd479e73684b0d23fcb0a5cb04f19d86f4",
      "tree": "6b64efd4aed00c5954db0e7fdfef90eb67753a98",
      "parents": [
        "56e13dbae3eddb1648e6e94ae251c83cdc8304e0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu May 10 03:58:50 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 16 15:02:11 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: PR: Fix hsrr code\n\nWhen jumping back into the kernel to code that knows that it would be\nusing HSRR registers instead of SRR registers, we need to make sure we\npass it all information on where to jump to in HSRR registers.\n\nUnfortunately, we used r10 to store the information to distinguish between\nthe HSRR and SRR case. That register got clobbered in between though,\nrendering the later comparison invalid.\n\nInstead, let\u0027s use cr1 to store this information. That way we don\u0027t\nneed yet another register and everyone\u0027s happy.\n\nThis fixes PR KVM on POWER7 bare metal for me.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "56e13dbae3eddb1648e6e94ae251c83cdc8304e0",
      "tree": "d9e7df8e8bf1917e82711e9437673535f40c8f55",
      "parents": [
        "7ef4e985d54bad2773f260da38530f858a9a8491"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 27 16:33:35 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 16 15:02:10 2012 +0200"
      },
      "message": "KVM: PPC: Fix PR KVM on POWER7 bare metal\n\nWhen running on a system that is HV capable, some interrupts use HSRR\nSPRs instead of the normal SRR SPRs. These are also used in the Linux\nhandlers to jump back to code after an interrupt got processed.\n\nUnfortunately, in our \"jump back to the real host handler after we\u0027ve\ndone the context switch\" code, we were only setting the SRR SPRs,\nrendering Linux to jump back to some invalid IP after it\u0027s processed\nthe interrupt.\n\nThis fixes random crashes on p7 opal mode with PR KVM for me.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "7ef4e985d54bad2773f260da38530f858a9a8491",
      "tree": "f3dfb2ae54bd024dbe00da864b8e791fac94210d",
      "parents": [
        "568b44559d7ca269d367e694c74eb4436e7e3ccf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu May 10 03:54:58 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed May 16 15:02:10 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: PR: Handle EMUL_ASSIST\n\nIn addition to normal \"priviledged instruction\" traps, we can also receive\n\"emulation assist\" traps on newer hardware that has the HV bit set.\n\nHandle that one the same way as a privileged instruction, including the\ninstruction fetching. That way we don\u0027t execute old instructions that we\nhappen to still leave in that field when an emul assist trap comes.\n\nThis fixes -M mac99 / -M g3beige on p7 bare metal for me.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "de6c0b02d4d7bdf2587e679a6ddbb71b7d68bb89",
      "tree": "d1b7cb647d6282052768c4a1e5a37fb88cd482f5",
      "parents": [
        "62c49cc976af84cb0ffcb5ec07ee88da1a94e222"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 08 20:24:08 2012 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue May 08 17:54:08 2012 +0300"
      },
      "message": "KVM: PPC: Book3S HV: Fix refcounting of hugepages\n\nThe H_REGISTER_VPA hcall implementation in HV Power KVM needs to pin some\nguest memory pages into host memory so that they can be safely accessed\nfrom usermode.  It does this used get_user_pages_fast().  When the VPA is\nunregistered, or the VCPUs are cleaned up, these pages are released using\nput_page().\n\nHowever, the get_user_pages() is invoked on the specific memory are of the\nVPA which could lie within hugepages.  In case the pinned page is huge,\nwe explicitly find the head page of the compound page before calling\nput_page() on it.\n\nAt least with the latest kernel, this is not correct.  put_page() already\nhandles finding the correct head page of a compound, and also deals with\nvarious counts on the individual tail page which are important for\ntransparent huge pages.  We don\u0027t support transparent hugepages on Power,\nbut even so, bypassing this count maintenance can lead (when the VM ends)\nto a hugepage being released back to the pool with a non-zero mapcount on\none of the tail pages.  This can then lead to a bad_page() when the page\nis released from the hugepage pool.\n\nThis removes the explicit compound_head() call to correct this bug.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "54771e6217ce05a474827d9b23ff03de9d2ef2a0",
      "tree": "4555f93d29863b6c0bbd4be61c60bfe7b80ce6c9",
      "parents": [
        "c46dc9a86148bc37c31d67a22a3887144ba7aa81"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri May 04 14:55:12 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:13 2012 +0200"
      },
      "message": "KVM: PPC: Emulator: clean up SPR reads and writes\n\nWhen reading and writing SPRs, every SPR emulation piece had to read\nor write the respective GPR the value was read from or stored in itself.\n\nThis approach is pretty prone to failure. What if we accidentally\nimplement mfspr emulation where we just do \"break\" and nothing else?\nSuddenly we would get a random value in the return register - which is\nalways a bad idea.\n\nSo let\u0027s consolidate the generic code paths and only give the core\nspecific SPR handling code readily made variables to read/write from/to.\n\nFunctionally, this patch doesn\u0027t change anything, but it increases the\nreadability of the code and makes is less prone to bugs.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c46dc9a86148bc37c31d67a22a3887144ba7aa81",
      "tree": "ba2a4f49072d3524d607ce3add83ef697fae517b",
      "parents": [
        "5b74716ebab10e7bce960d148fe6d8f6920451e5"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri May 04 14:01:33 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:12 2012 +0200"
      },
      "message": "KVM: PPC: Emulator: clean up instruction parsing\n\nInstructions on PPC are pretty similarly encoded. So instead of\nevery instruction emulation code decoding the instruction fields\nitself, we can move that code to more generic places and rely on\nthe compiler to optimize the unused bits away.\n\nThis has 2 advantages. It makes the code smaller and it makes the\ncode less error prone, as the instruction fields are always\navailable, so accidental misusage is reduced.\n\nFunctionally, this patch doesn\u0027t change anything.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\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": "f31e65e1170edba4a86bd8cba0318e251d3746d0",
      "tree": "511cd618867f7335e451d416cb7fc8e6944606ff",
      "parents": [
        "4444aa5f78eff73a353c8c4784cda2de74dea54b"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Mar 15 21:58:34 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:11 2012 +0200"
      },
      "message": "kvm/book3s: Make kernel emulated H_PUT_TCE available for \"PR\" KVM\n\nThere is nothing in the code for emulating TCE tables in the kernel\nthat prevents it from working on \"PR\" KVM... other than ifdef\u0027s and\nlocation of the code.\n\nThis and moves the bulk of the code there to a new file called\nbook3s_64_vio.c.\n\nThis speeds things up a bit on my G5.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n[agraf: fix for hv kvm, 32bit, whitespace]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "4444aa5f78eff73a353c8c4784cda2de74dea54b",
      "tree": "b86dd0c1a431432b4b215e686cd0d70368ca3330",
      "parents": [
        "3b1d9d7d95e7c62518160edebd92450b58c6d55f"
      ],
      "author": {
        "name": "Mihai Caraman",
        "email": "mihai.caraman@freescale.com",
        "time": "Mon Apr 16 04:08:53 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:11 2012 +0200"
      },
      "message": "KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler\n\nGuest r8 register is held in the scratch register and stored correctly,\nso remove the instruction that clobbers it. Guest r13 was missing from vcpu,\nstore it there.\n\nSigned-off-by: Mihai Caraman \u003cmihai.caraman@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "3b1d9d7d95e7c62518160edebd92450b58c6d55f",
      "tree": "ab8572fb5e85023bf29fe9c0ba29e4934d65757e",
      "parents": [
        "11f7d6c2d1b17abf7b91e0f2d43bfe9de0b9e5cf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Apr 30 10:56:12 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:11 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: Enable IRQs during exit handling\n\nWhile handling an exit, we should listen for interrupts and make sure to\nreceive them when they arrive, to keep our latencies low.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "11f7d6c2d1b17abf7b91e0f2d43bfe9de0b9e5cf",
      "tree": "776b1daa70a1d1f08f861a0e7b6247c3a364ed5e",
      "parents": [
        "978b4fae45b3fae803a9f56e2262f01f71b7dbc9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 27 16:33:35 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:10 2012 +0200"
      },
      "message": "KVM: PPC: Fix PR KVM on POWER7 bare metal\n\nWhen running on a system that is HV capable, some interrupts use HSRR\nSPRs instead of the normal SRR SPRs. These are also used in the Linux\nhandlers to jump back to code after an interrupt got processed.\n\nUnfortunately, in our \"jump back to the real host handler after we\u0027ve\ndone the context switch\" code, we were only setting the SRR SPRs,\nrendering Linux to jump back to some invalid IP after it\u0027s processed\nthe interrupt.\n\nThis fixes random crashes on p7 opal mode with PR KVM for me.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "978b4fae45b3fae803a9f56e2262f01f71b7dbc9",
      "tree": "b19c22dc9280d4e97bf5c9463882fd50053148b9",
      "parents": [
        "518f040c826d569daf260153d4f75c21b6d9979b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 27 01:00:17 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:10 2012 +0200"
      },
      "message": "KVM: PPC: Fix stbux emulation\n\nStbux writes the address it\u0027s operating on to the register specified in ra,\nnot into the data source register.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "518f040c826d569daf260153d4f75c21b6d9979b",
      "tree": "a86b6efb30af49776f4361bf0cd72c52a943b0a1",
      "parents": [
        "af415087d2bbbef3cc25cdf371bfb0460cf66b3b"
      ],
      "author": {
        "name": "Mihai Caraman",
        "email": "mihai.caraman@freescale.com",
        "time": "Mon Apr 16 04:08:54 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:09 2012 +0200"
      },
      "message": "KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields\n\nInterrupt code used PPC_LL/PPC_STL macros to load/store some of u32 fields\nwhich led to memory overflow on 64-bit. Use lwz/stw instead.\n\nSigned-off-by: Mihai Caraman \u003cmihai.caraman@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "af415087d2bbbef3cc25cdf371bfb0460cf66b3b",
      "tree": "b8b2ec53eb2607bccb8ecf66c1869a42f1dd2034",
      "parents": [
        "8c2d0be7efb0b92b5e4f89ea4363f3cdc11e2459"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Apr 25 14:29:57 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:09 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: PR: No isync in slbie path\n\nWhile messing around with the SLBs we\u0027re running in real mode. The\nentry to guest space goes through rfid, which is context synchronizing,\nso there\u0027s no need to manually synchronize anything through isync.\n\nWith this patch and a simple priviledged SPR access loop guest, I get\na speed bump from 2035607 to 2181301 exits per second.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8c2d0be7efb0b92b5e4f89ea4363f3cdc11e2459",
      "tree": "ebc66d35253d071517038a0c8608205011354896",
      "parents": [
        "30124906db8598255fba32c8bf0adb7e8f1503ab"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Apr 25 14:28:23 2012 +0200"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:09 2012 +0200"
      },
      "message": "KVM: PPC: Book3S: PR: Optimize entry path\n\nBy shuffling a few instructions around we can execute more memory\nloads in parallel, giving us a small performance boost.\n\nWith this patch and a simple priviledged SPR access loop guest, I get\na speed bump from 2013052 to 2035607 exits per second.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "30124906db8598255fba32c8bf0adb7e8f1503ab",
      "tree": "5a59fb02e1129c5614ec608739dd1a758db5a091",
      "parents": [
        "3d4c6826ed2a28e69e8ee14f1d58c4c8622f04b3"
      ],
      "author": {
        "name": "Varun Sethi",
        "email": "Varun.Sethi@freescale.com",
        "time": "Wed Apr 25 01:27:34 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:09 2012 +0200"
      },
      "message": "KVM: PPC: booke(hv): Fix save/restore of guest accessible SPRGs.\n\nFor Guest accessible SPRGs 4-7, save/restore must be handled differently for 64bit and\nnon-64 bit case. Use the PPC_STD/PPC_LD macros for saving/restoring to/from these registers.\n\nSigned-off-by: Varun Sethi \u003cVarun.Sethi@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "185e4188dab6456409cad66c579501dd89487188",
      "tree": "f9d57c7a37d12de21667fdd11312ee5559820c2b",
      "parents": [
        "6e35994d1f6831af1e5577e28c363c9137d7d597"
      ],
      "author": {
        "name": "Varun Sethi",
        "email": "Varun.Sethi@freescale.com",
        "time": "Wed Apr 25 01:26:43 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:08 2012 +0200"
      },
      "message": "KVM: PPC: bookehv: Use a Macro for saving/restoring guest registers to/from their 64 bit copies.\n\nIntroduced PPC_STD/PPC_LD macros for saving/restoring guest registers to/from their 64 bit copies.\n\nSigned-off-by: Varun Sethi \u003cVarun.Sethi@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "6e35994d1f6831af1e5577e28c363c9137d7d597",
      "tree": "4c230223e9f76865a2bf01e4f4893b30fe2482b7",
      "parents": [
        "cc902ad4f2b7cd3dd2cc268c63f6fb99fb1abf0f"
      ],
      "author": {
        "name": "Bharat Bhushan",
        "email": "r65777@freescale.com",
        "time": "Wed Apr 18 06:01:19 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:07 2012 +0200"
      },
      "message": "KVM: PPC: Use clockevent multiplier and shifter for decrementer\n\nTime for which the hrtimer is started for decrementer emulation is calculated\nusing tb_ticks_per_usec. While hrtimer uses the clockevent for DEC\nreprogramming (if needed) and which calculate timebase ticks using the\nmultiplier and shifter mechanism implemented within clockevent layer.\n\nIt was observed that this conversion (timebase-\u003etime-\u003etimebase) are not\ncorrect because the mechanism are not consistent.\nIn our setup it adds 2% jitter.\n\nWith this patch clockevent multiplier and shifter mechanism are used when\nstarting hrtimer for decrementer emulation. Now the jitter is \u003c 0.5%.\n\nSigned-off-by: Bharat Bhushan \u003cbharat.bhushan@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "cc902ad4f2b7cd3dd2cc268c63f6fb99fb1abf0f",
      "tree": "52eab903f0cf03337664ac1702e8dc04763fb7ec",
      "parents": [
        "e726b1bd64b0b8945c171d2d4bf749fba9fc0800"
      ],
      "author": {
        "name": "Bharat Bhushan",
        "email": "r65777@freescale.com",
        "time": "Thu Mar 22 18:39:11 2012 +0000"
      },
      "committer": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun May 06 16:19:07 2012 +0200"
      },
      "message": "KVM: Use minimum and maximum address mapped by TLB1\n\nKeep track of minimum and maximum address mapped by tlb1.\nThis helps in TLBMISS handling in KVM to quick check whether the address lies in mapped range.\nIf address does not lies in this range then no need to look in each tlb1 entry of tlb1 array.\n\nSigned-off-by: Bharat Bhushan \u003cbharat.bhushan@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "bbcc9c06695243ea23d30de36842df9200c33857",
      "tree": "530a126fb2f774f5b4dd2cb4a8b0d042d79a4323",
      "parents": [
        "966cd0f3bdd422f0b10686fb59d0d456fbbb6398"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Mar 13 21:52:44 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:02:39 2012 +0300"
      },
      "message": "powerpc/kvm: Fix magic page vs. 32-bit RTAS on ppc64\n\nWhen the kernel calls into RTAS, it switches to 32-bit mode. The\nmagic page was is longer accessible in that case, causing the\npatched instructions in the RTAS call wrapper to crash.\n\nThis fixes it by making available a 32-bit mapping of the magic\npage in that case. This mapping is flushed whenever we switch\nthe kernel back to 64-bit mode.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n[agraf: add a check if the magic page is mapped]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "966cd0f3bdd422f0b10686fb59d0d456fbbb6398",
      "tree": "a28548a9ef496989cd8fdb2f3b21fd7d5241f996",
      "parents": [
        "4f225ae06e7f39a523ec500c3cf127e50797983e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 14 16:55:08 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:02:38 2012 +0300"
      },
      "message": "KVM: PPC: Ignore unhalt request from kvm_vcpu_block\n\nWhen running kvm_vcpu_block and it realizes that the CPU is actually good\nto run, we get a request bit set for KVM_REQ_UNHALT. Right now, there\u0027s\nnothing we can do with that bit, so let\u0027s unset it right after the call\nagain so we don\u0027t get confused in our later checks for pending work.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "4f225ae06e7f39a523ec500c3cf127e50797983e",
      "tree": "ec0d15dddf24242401a9873ff25ad6ed32c5be40",
      "parents": [
        "6df79df5b27d74e0c9803d7f47bb878370996548"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Mar 13 23:05:16 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:02:00 2012 +0300"
      },
      "message": "KVM: PPC: Book3s: PR: Add HV traps so we can run in HV\u003d1 mode on p7\n\nWhen running PR KVM on a p7 system in bare metal, we get HV exits instead\nof normal supervisor traps. Semantically they are identical though and the\nHSRR vs SRR difference is already taken care of in the exit code.\n\nSo all we need to do is handle them in addition to our normal exits.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "6df79df5b27d74e0c9803d7f47bb878370996548",
      "tree": "ae354d946d5fce58f1129c291daa975e36230961",
      "parents": [
        "6020c0f6e78888b6023559e9bf633ad0092a1709"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Mar 13 22:15:45 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:57 2012 +0300"
      },
      "message": "KVM: PPC: Emulate tw and td instructions\n\nThere are 4 conditional trapping instructions: tw, twi, td, tdi. The\nones with an i take an immediate comparison, the others compare two\nregisters. All of them arrive in the emulator when the condition to\ntrap was successfully fulfilled.\n\nUnfortunately, we were only implementing the i versions so far, so\nlet\u0027s also add support for the other two.\n\nThis fixes kernel booting with recents book3s_32 guest kernels.\n\nReported-by: Jörg Sommer \u003cjoerg@alea.gnuu.de\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "6020c0f6e78888b6023559e9bf633ad0092a1709",
      "tree": "9756a19a254c6094adcabbd387e162880ef5ad77",
      "parents": [
        "8943633cf9b87980d261a022e90d94bc2c55df35"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Mar 12 02:26:30 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:37 2012 +0300"
      },
      "message": "KVM: PPC: Pass EA to updating emulation ops\n\nWhen emulating updating load/store instructions (lwzu, stwu, ...) we need to\nwrite the effective address of the load/store into a register.\n\nCurrently, we write the physical address in there, which is very wrong. So\ninstead let\u0027s save off where the virtual fault was on MMIO and use that\ninformation as value to put into the register.\n\nWhile at it, also move the XOP variants of the above instructions to the new\nscheme of using the already known vaddr instead of calculating it themselves.\n\nReported-by: Jörg Sommer \u003cjoerg@alea.gnuu.de\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "8943633cf9b87980d261a022e90d94bc2c55df35",
      "tree": "84ab3cd65cc67149efeb75020ecc75a50c6f1c10",
      "parents": [
        "7657f4089b097846cc37bfa2b74fc0bd2bd60e30"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Mar 02 01:38:23 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:36 2012 +0300"
      },
      "message": "KVM: PPC: Work around POWER7 DABR corruption problem\n\nIt turns out that on POWER7, writing to the DABR can cause a corrupted\nvalue to be written if the PMU is active and updating SDAR in continuous\nsampling mode.  To work around this, we make sure that the PMU is inactive\nand SDAR updates are disabled (via MMCRA) when we are context-switching\nDABR.\n\nWhen the guest sets DABR via the H_SET_DABR hypercall, we use a slightly\ndifferent workaround, which is to read back the DABR and write it again\nif it got corrupted.\n\nWhile we are at it, make it consistent that the saving and restoring\nof the guest\u0027s non-volatile GPRs and the FPRs are done with the guest\nsetup of the PMU active.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "c0fe7b099931c6c05c98a05c277185ee25254f35",
      "tree": "d842f7b3f6f8f94780f8c4bc4f6d5dc20e4f7aea",
      "parents": [
        "0456ec4ff2b832ab9ff476ed687fea704500f1cd"
      ],
      "author": {
        "name": "Bharat Bhushan",
        "email": "r65777@freescale.com",
        "time": "Mon Mar 05 01:34:08 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:31 2012 +0300"
      },
      "message": "Restore guest CR after exit timing calculation\n\nNo instruction which can change Condition Register (CR) should be executed after\nGuest CR is loaded. So the guest CR is restored after the Exit Timing in\nlightweight_exit executes cmpw, which can clobber CR.\n\nSigned-off-by: Bharat Bhushan \u003cbharat.bhushan@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "0456ec4ff2b832ab9ff476ed687fea704500f1cd",
      "tree": "cfc0113c6f910fb51fd5b35c90653e7d17a321e1",
      "parents": [
        "2e25aa5f64b18a97f35266e51c71ff4dc644db0c"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Feb 03 00:56:21 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:29 2012 +0300"
      },
      "message": "KVM: PPC: Book3S HV: Report stolen time to guest through dispatch trace log\n\nThis adds code to measure \"stolen\" time per virtual core in units of\ntimebase ticks, and to report the stolen time to the guest using the\ndispatch trace log (DTL).  The guest can register an area of memory\nfor the DTL for a given vcpu.  The DTL is a ring buffer where KVM\nfills in one entry every time it enters the guest for that vcpu.\n\nStolen time is measured as time when the virtual core is not running,\neither because the vcore is not runnable (e.g. some of its vcpus are\nexecuting elsewhere in the kernel or in userspace), or when the vcpu\nthread that is running the vcore is preempted.  This includes time\nwhen all the vcpus are idle (i.e. have executed the H_CEDE hypercall),\nwhich is OK because the guest accounts stolen time while idle as idle\ntime.\n\nEach vcpu keeps a record of how much stolen time has been reported to\nthe guest for that vcpu so far.  When we are about to enter the guest,\nwe create a new DTL entry (if the guest vcpu has a DTL) and report the\ndifference between total stolen time for the vcore and stolen time\nreported so far for the vcpu as the \"enqueue to dispatch\" time in the\nDTL entry.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "2e25aa5f64b18a97f35266e51c71ff4dc644db0c",
      "tree": "7b26cf15534d54bc2c370f1e5393cd9e58eb7141",
      "parents": [
        "f0888f70151c7f53de2b45ee20ff1905837943e8"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Feb 19 17:46:32 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:27 2012 +0300"
      },
      "message": "KVM: PPC: Book3S HV: Make virtual processor area registration more robust\n\nThe PAPR API allows three sorts of per-virtual-processor areas to be\nregistered (VPA, SLB shadow buffer, and dispatch trace log), and\nfurthermore, these can be registered and unregistered for another\nvirtual CPU.  Currently we just update the vcpu fields pointing to\nthese areas at the time of registration or unregistration.  If this\nis done on another vcpu, there is the possibility that the target vcpu\nis using those fields at the time and could end up using a bogus\npointer and corrupting memory.\n\nThis fixes the race by making the target cpu itself do the update, so\nwe can be sure that the update happens at a time when the fields\naren\u0027t being used.  Each area now has a struct kvmppc_vpa which is\nused to manage these updates.  There is also a spinlock which protects\naccess to all of the kvmppc_vpa structs, other than to the pinned_addr\nfields.  (We could have just taken the spinlock when using the vpa,\nslb_shadow or dtl fields, but that would mean taking the spinlock on\nevery guest entry and exit.)\n\nThis also changes \u0027struct dtl\u0027 (which was undefined) to \u0027struct dtl_entry\u0027,\nwhich is what the rest of the kernel uses.\n\nThanks to Michael Ellerman \u003cmichael@ellerman.id.au\u003e for pointing out\nthe need to initialize vcpu-\u003earch.vpa_update_lock.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "f0888f70151c7f53de2b45ee20ff1905837943e8",
      "tree": "80b7e133e681a2b4e4255a8fa747711da4c59211",
      "parents": [
        "f6127716c346c73ab1513edee53231800188c5ba"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Feb 03 00:54:17 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:20 2012 +0300"
      },
      "message": "KVM: PPC: Book3S HV: Make secondary threads more robust against stray IPIs\n\nCurrently on POWER7, if we are running the guest on a core and we don\u0027t\nneed all the hardware threads, we do nothing to ensure that the unused\nthreads aren\u0027t executing in the kernel (other than checking that they\nare offline).  We just assume they\u0027re napping and we don\u0027t do anything\nto stop them trying to enter the kernel while the guest is running.\nThis means that a stray IPI can wake up the hardware thread and it will\nthen try to enter the kernel, but since the core is in guest context,\nit will execute code from the guest in hypervisor mode once it turns the\nMMU on, which tends to lead to crashes or hangs in the host.\n\nThis fixes the problem by adding two new one-byte flags in the\nkvmppc_host_state structure in the PACA which are used to interlock\nbetween the primary thread and the unused secondary threads when entering\nthe guest.  With these flags, the primary thread can ensure that the\nunused secondaries are not already in kernel mode (i.e. handling a stray\nIPI) and then indicate that they should not try to enter the kernel\nif they do get woken for any reason.  Instead they will go into KVM code,\nfind that there is no vcpu to run, acknowledge and clear the IPI and go\nback to nap mode.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f6127716c346c73ab1513edee53231800188c5ba",
      "tree": "3b3867d5fb239c2f03f0011cb752e6d816f853f9",
      "parents": [
        "3aaefef200f618dc455cdf18053a7aeb262b5a11"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Mar 05 16:00:28 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 14:01:02 2012 +0300"
      },
      "message": "KVM: PPC: Save/Restore CR over vcpu_run\n\nOn PPC, CR2-CR4 are nonvolatile, thus have to be saved across function calls.\nWe didn\u0027t respect that for any architecture until Paul spotted it in his\npatch for Book3S-HV. This patch saves/restores CR for all KVM capable PPC hosts.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "3aaefef200f618dc455cdf18053a7aeb262b5a11",
      "tree": "600a14e49230fbb8182325481b6a599864628484",
      "parents": [
        "03660ba27020250eae0b5a2722e0c7bec4968c3c"
      ],
      "author": {
        "name": "Matt Evans",
        "email": "matt@ozlabs.org",
        "time": "Mon Jan 30 20:25:31 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:31 2012 +0300"
      },
      "message": "KVM: PPC: Book3s: PR: Add SPAPR H_BULK_REMOVE support\n\nSPAPR support includes various in-kernel hypercalls, improving performance\nby cutting out the exit to userspace.  H_BULK_REMOVE is implemented in this\npatch.\n\nSigned-off-by: Matt Evans \u003cmatt@ozlabs.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "03660ba27020250eae0b5a2722e0c7bec4968c3c",
      "tree": "c774ab4a1154ee04374b31edcee9883a926defea",
      "parents": [
        "7cc1e8ee78f469ecff8aa29465325f1e4c5e1b5f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Feb 28 12:00:41 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:29 2012 +0300"
      },
      "message": "KVM: PPC: Booke: only prepare to enter when we enter\n\nSo far, we\u0027ve always called prepare_to_enter even when all we did was return\nto the host. This patch changes that semantic to only call prepare_to_enter\nwhen we actually want to get back into the guest.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "7cc1e8ee78f469ecff8aa29465325f1e4c5e1b5f",
      "tree": "af21362c4277480ee03015c05ee446b42d27b9c1",
      "parents": [
        "4e642ccbd6a3f1410155c7700f54b56b6c7df9a2"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 22 16:26:34 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:28 2012 +0300"
      },
      "message": "KVM: PPC: booke: Reinject performance monitor interrupts\n\nWhen we get a performance monitor interrupt, we need to make sure that\nthe host receives it. So reinject it like we reinject the other host\ndestined interrupts.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "4e642ccbd6a3f1410155c7700f54b56b6c7df9a2",
      "tree": "7c1362f967a0ed2c3563cc945f0498e491cc92cc",
      "parents": [
        "95f2e921446dbc2e9a785734049ee349a67434bd"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Feb 20 23:57:26 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:26 2012 +0300"
      },
      "message": "KVM: PPC: booke: expose good state on irq reinject\n\nWhen reinjecting an interrupt into the host interrupt handler after we\u0027re\nback in host kernel land, we need to tell the kernel where the interrupt\nhappened. We can\u0027t tell it that we were in guest state, because that might\nlead to random code walking host addresses. So instead, we tell it that\nwe came from the interrupt reinject code.\n\nThis helps getting reasonable numbers out of perf.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "95f2e921446dbc2e9a785734049ee349a67434bd",
      "tree": "831fcd484b21399566c383a6601e15b130e22095",
      "parents": [
        "c6b3733bef2ffece49336dba7220fefdae5fa908"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Feb 20 22:45:12 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:24 2012 +0300"
      },
      "message": "KVM: PPC: booke: Support perfmon interrupts\n\nWhen during guest context we get a performance monitor interrupt, we\ncurrently bail out and oops. Let\u0027s route it to its correct handler\ninstead.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "c6b3733bef2ffece49336dba7220fefdae5fa908",
      "tree": "851600c3ee2ec0ad28f861fa54f647f0498d863a",
      "parents": [
        "55cdf08b9a6c99f1335fa6ad42372dcfb3715b56"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Feb 20 17:48:47 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:22 2012 +0300"
      },
      "message": "KVM: PPC: e500: fix typo in tlb code\n\nThe tlbncfg registers should be populated with their respective TLB\u0027s\nvalues. Fix the obvious typo.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "55cdf08b9a6c99f1335fa6ad42372dcfb3715b56",
      "tree": "783ad8eb83b33f66a04982da64075e7cf06810d7",
      "parents": [
        "0268597c811ccf55e0bda20907c1a9e6001365cf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Feb 20 12:39:36 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:21 2012 +0300"
      },
      "message": "KVM: PPC: bookehv: remove unused code\n\nThere was some unused code in the exit code path that must have been\na leftover from earlier iterations. While it did no harm, it\u0027s superfluous\nand thus should be removed.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "0268597c811ccf55e0bda20907c1a9e6001365cf",
      "tree": "ed38fdd7caba11212817214906f2c25f8fc80c1f",
      "parents": [
        "c35c9d84cf141ebf05e2e481c0faccedc4f8f7ff"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Feb 20 12:33:22 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:19 2012 +0300"
      },
      "message": "KVM: PPC: booke: add GS documentation for program interrupt\n\nThe comment for program interrupts triggered when using bookehv was\nmisleading. Update it to mention why MSR_GS indicates that we have\nto inject an interrupt into the guest again, not emulate it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "c35c9d84cf141ebf05e2e481c0faccedc4f8f7ff",
      "tree": "8ea6170999dd5d18d224420222b97fbd357dbed4",
      "parents": [
        "5fd8505ea4b7456d57eacefbf00b669f15f5f0c0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Feb 20 12:21:18 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:17 2012 +0300"
      },
      "message": "KVM: PPC: booke: Readd debug abort code for machine check\n\nWhen during guest execution we get a machine check interrupt, we don\u0027t\nknow how to handle it yet. So let\u0027s add the error printing code back\nagain that we dropped accidently earlier and tell user space that something\nwent really wrong.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "e9ba39c1f3dff93efddacbd4569ada05633e2a9b",
      "tree": "06006536ab6f4da04a82e47b593dc20bad8a291d",
      "parents": [
        "8a3da55784cf2aea8ef6acdd1f50e5ad52f76574"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 14:53:04 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:14 2012 +0300"
      },
      "message": "KVM: PPC: bookehv: disable MAS register updates early\n\nWe need to make sure that no MAS updates happen automatically while we\nhave the guest MAS registers loaded. So move the disabling code a bit\nhigher up so that it covers the full time we have guest values in MAS\nregisters.\n\nThe race this patch fixes should never occur, but it makes the code a\nbit more logical to do it this way around.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "8a3da55784cf2aea8ef6acdd1f50e5ad52f76574",
      "tree": "d3a3d99a04f70eb920dd395bfb4447d956473f26",
      "parents": [
        "8764b46ee3873b685a7823fc79388bae7d19e51e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 14:45:33 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:12 2012 +0300"
      },
      "message": "KVM: PPC: bookehv: remove SET_VCPU\n\nThe SET_VCPU macro is a leftover from times when the vcpu struct wasn\u0027t\nstored in the thread on vcpu_load/put. It\u0027s not needed anymore. Remove it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "8764b46ee3873b685a7823fc79388bae7d19e51e",
      "tree": "63ef12fc38bba06a6bb051a5b0919a16d2e03bd4",
      "parents": [
        "73ede8d32be6adc298fe3c2716e77c352c504c8c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 14:40:26 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:10 2012 +0300"
      },
      "message": "KVM: PPC: bookehv: remove negation for CONFIG_64BIT\n\nInstead if doing\n\n  #ifndef CONFIG_64BIT\n  ...\n  #else\n  ...\n  #endif\n\nwe should rather do\n\n  #ifdef CONFIG_64BIT\n  ...\n  #else\n  ...\n  #endif\n\nwhich is a lot easier to read. Change the bookehv implementation to\nstick with this rule.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "73ede8d32be6adc298fe3c2716e77c352c504c8c",
      "tree": "bcdb5c6a80d11cc63715deef86866bc006756f6c",
      "parents": [
        "8b3a00fcd3c9ea4e2cbae12af3cd8c9d7d1e109a"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 14:34:55 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:08 2012 +0300"
      },
      "message": "KVM: PPC: bookehv: fix exit timing\n\nWhen using exit timing stats, we clobber r9 in the NEED_EMU case,\nso better move that part down a few lines and fix it that way.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "8b3a00fcd3c9ea4e2cbae12af3cd8c9d7d1e109a",
      "tree": "b65c97090a8224eac9e87deb51f28139eb7e875a",
      "parents": [
        "a8e4ef841429d338b8700998afb3dfc18c1f25d9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 14:12:46 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:06 2012 +0300"
      },
      "message": "KVM: PPC: booke: BOOKE_IRQPRIO_MAX is n+1\n\nThe semantics of BOOKE_IRQPRIO_MAX changed to denote the highest available\nirqprio + 1, so let\u0027s reflect that in the code too.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "a8e4ef841429d338b8700998afb3dfc18c1f25d9",
      "tree": "c5c28f33902b7c7e9de837732e5a97d46c22cc57",
      "parents": [
        "d1ff54992d3008f4253ab3176913bb85d770e935"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 14:07:37 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:05 2012 +0300"
      },
      "message": "KVM: PPC: booke: rework rescheduling checks\n\nInstead of checking whether we should reschedule only when we exited\ndue to an interrupt, let\u0027s always check before entering the guest back\nagain. This gets the target more in line with the other archs.\n\nAlso while at it, generalize the whole thing so that eventually we could\nhave a single kvmppc_prepare_to_enter function for all ppc targets that\ndoes signal and reschedule checking for us.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "d1ff54992d3008f4253ab3176913bb85d770e935",
      "tree": "2a295950753d1b306c978febf13ced46fbf47025",
      "parents": [
        "acab05290696db0a5431a9ad171be649ab56e87b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 13:24:03 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:03 2012 +0300"
      },
      "message": "KVM: PPC: booke: deliver program int on emulation failure\n\nWhen we fail to emulate an instruction for the guest, we better go in and\ntell it that we failed to emulate it, by throwing an illegal instruction\nexception.\n\nPlease beware that we basically never get around to telling the guest that\nwe failed thanks to the debugging code right above it. If user space however\ndecides that it wants to ignore the debug, we would at least do \"the right\nthing\" afterwards.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "acab05290696db0a5431a9ad171be649ab56e87b",
      "tree": "9ccc5d7b35958b462b620826373262cb7e573494",
      "parents": [
        "b2e19b20708edb6413dea38e6285a6e546dce06b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Feb 16 13:07:32 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:55:01 2012 +0300"
      },
      "message": "KVM: PPC: booke: remove leftover debugging\n\nThe e500mc patches left some debug code in that we don\u0027t need. Remove it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "b2e19b20708edb6413dea38e6285a6e546dce06b",
      "tree": "891e505a48b5e0c5a0807ea35beba8ddcc4ac669",
      "parents": [
        "bf7ca4bdcb8f1eb15d11879efa824b45443ddb69"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 15 23:41:20 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:59 2012 +0300"
      },
      "message": "KVM: PPC: make e500v2 kvm and e500mc cpu mutually exclusive\n\nWe can\u0027t run e500v2 kvm on e500mc kernels, so indicate that by\nmaking the 2 options mutually exclusive in kconfig.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "bf7ca4bdcb8f1eb15d11879efa824b45443ddb69",
      "tree": "da2e532462cadb2121badb1f477972ecda3dc911",
      "parents": [
        "1d628af78a28c77143bcdd4ed09e93bb235d4198"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 15 23:40:00 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:57 2012 +0300"
      },
      "message": "KVM: PPC: rename CONFIG_KVM_E500 -\u003e CONFIG_KVM_E500V2\n\nThe CONFIG_KVM_E500 option really indicates that we\u0027re running on a V2 machine,\nnot on a machine of the generic E500 class. So indicate that properly and\nchange the config name accordingly.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "1d628af78a28c77143bcdd4ed09e93bb235d4198",
      "tree": "68c62eaade6f5e183fc043a3b423bd7cf434b6de",
      "parents": [
        "a2723ce7fe4b99bc2df492067c3f81de2ee89aab"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 15 23:24:28 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:56 2012 +0300"
      },
      "message": "KVM: PPC: e500mc: add load inst fixup\n\nThere\u0027s always a chance we\u0027re unable to read a guest instruction. The guest\ncould have its TLB mapped execute-, but not readable, something odd happens\nand our TLB gets flushed. So it\u0027s a good idea to be prepared for that case\nand have a fallback that allows us to fix things up in that case.\n\nAdd fixup code that keeps guest code from potentially crashing our host kernel.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "a2723ce7fe4b99bc2df492067c3f81de2ee89aab",
      "tree": "9481a79b48e07e4d2eab09a0aaef0e659f017ddb",
      "parents": [
        "79300f8cb9be201f916d075b3ef2e032d83a0d75"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 15 23:06:24 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:54 2012 +0300"
      },
      "message": "KVM: PPC: e500mc: Move r1/r2 restoration very early\n\nIf we hit any exception whatsoever in the restore path and r1/r2 aren\u0027t the\nhost registers, we don\u0027t get a working oops. So it\u0027s always a good idea to\nrestore them as early as possible.\n\nThis time, it actually has practical reasons to do so too, since we need to\nhave the host page fault handler fix up our guest instruction read code. And\nfor that to work we need r1/r2 restored.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "79300f8cb9be201f916d075b3ef2e032d83a0d75",
      "tree": "5d4a1cefc342b3232ae0f081c884775a70e1edd0",
      "parents": [
        "4ab969199ec6a14604ceaffb21fe78cc4881d3b8"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 15 19:12:29 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:52 2012 +0300"
      },
      "message": "KVM: PPC: e500mc: implicitly set MSR_GS\n\nWhen setting MSR for an e500mc guest, we implicitly always set MSR_GS\nto make sure the guest is in guest state. Since we have this implicit\nrule there, we don\u0027t need to explicitly pass MSR_GS to set_msr().\n\nRemove all explicit setters of MSR_GS.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "4ab969199ec6a14604ceaffb21fe78cc4881d3b8",
      "tree": "9686269b554aaed9f195cff043fd737ec67b024e",
      "parents": [
        "73196cd364a2d972d73fa08da9d81ca3215bed68"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Feb 15 13:28:48 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:50 2012 +0300"
      },
      "message": "KVM: PPC: e500mc: Add doorbell emulation support\n\nWhen one vcpu wants to kick another, it can issue a special IPI instruction\ncalled msgsnd. This patch emulates this instruction, its clearing counterpart\nand the infrastructure required to actually trigger that interrupt inside\na guest vcpu.\n\nWith this patch, SMP guests on e500mc work.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "73196cd364a2d972d73fa08da9d81ca3215bed68",
      "tree": "058b8487bb512b5cde4e827d8aa2525680e6519b",
      "parents": [
        "8fae845f4956de0becc115e926d33eff46722e94"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:47 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:33 2012 +0300"
      },
      "message": "KVM: PPC: e500mc support\n\nAdd processor support for e500mc, using hardware virtualization support\n(GS-mode).\n\nCurrent issues include:\n - No support for external proxy (coreint) interrupt mode in the guest.\n\nIncludes work by Ashish Kalra \u003cAshish.Kalra@freescale.com\u003e,\nVarun Sethi \u003cVarun.Sethi@freescale.com\u003e, and\nLiu Yu \u003cyu.liu@freescale.com\u003e.\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": "8fae845f4956de0becc115e926d33eff46722e94",
      "tree": "22c64321beca71db6d671e7479362b0e1caddc56",
      "parents": [
        "d30f6e480055e5be12e7a03fd11ea912a451daa5"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:45 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:54:15 2012 +0300"
      },
      "message": "KVM: PPC: booke: standard PPC floating point support\n\ne500mc has a normal PPC FPU, rather than SPE which is found\non e500v1/v2.\n\nBased on code from Liu Yu \u003cyu.liu@freescale.com\u003e.\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"
    },
    {
      "commit": "d30f6e480055e5be12e7a03fd11ea912a451daa5",
      "tree": "e6c367e6f1da4da67b3a395a1a735a09e52067c0",
      "parents": [
        "cfac57847a67c4903f34a77e971521531bbc7c77"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:43 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:19 2012 +0300"
      },
      "message": "KVM: PPC: booke: category E.HV (GS-mode) support\n\nChips such as e500mc that implement category E.HV in Power ISA 2.06\nprovide hardware virtualization features, including a new MSR mode for\nguest state.  The guest OS can perform many operations without trapping\ninto the hypervisor, including transitions to and from guest userspace.\n\nSince we can use SRR1[GS] to reliably tell whether an exception came from\nguest state, instead of messing around with IVPR, we use DO_KVM similarly\nto book3s.\n\nCurrent issues include:\n - Machine checks from guest state are not routed to the host handler.\n - The guest can cause a host oops by executing an emulated instruction\n   in a page that lacks read permission.  Existing e500/4xx support has\n   the same problem.\n\nIncludes work by Ashish Kalra \u003cAshish.Kalra@freescale.com\u003e,\nVarun Sethi \u003cVarun.Sethi@freescale.com\u003e, and\nLiu Yu \u003cyu.liu@freescale.com\u003e.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\n[agraf: remove pt_regs usage]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "ab9fc4056af338248640ddb18497be386360363d",
      "tree": "45f1353679b838ba022359325902799d7ce9a7e7",
      "parents": [
        "4f802fe98bd5bd4fe1dd86df3e5c58546e65ad09"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:39 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:16 2012 +0300"
      },
      "message": "KVM: PPC: e500: emulate tlbilx\n\ntlbilx is the new, preferred invalidation instruction.  It is not\nfound on e500 prior to e500mc, but there should be no harm in\nsupporting it on all e500.\n\nBased on code from Ashish Kalra \u003cAshish.Kalra@freescale.com\u003e.\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": "4f802fe98bd5bd4fe1dd86df3e5c58546e65ad09",
      "tree": "dd13f1ed180c846523a84f54b7bdfe07dce5acd9",
      "parents": [
        "8fdd21a26876ea6c486c38bfa75fdd18ba299351"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:37 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:14 2012 +0300"
      },
      "message": "KVM: PPC: e500: Track TLB1 entries with a bitmap\n\nRather than invalidate everything when a TLB1 entry needs to be\ntaken down, keep track of which host TLB1 entries are used for\na given guest TLB1 entry, and invalidate just those entries.\n\nBased on code from Ashish Kalra \u003cAshish.Kalra@freescale.com\u003e\nand Liu Yu \u003cyu.liu@freescale.com\u003e.\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": "8fdd21a26876ea6c486c38bfa75fdd18ba299351",
      "tree": "01ba127004f254e42b00760d6a540ba0db464f5b",
      "parents": [
        "52e1718c6fd1a1f54c676c2107dc931e93865fe8"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:34 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:12 2012 +0300"
      },
      "message": "KVM: PPC: e500: refactor core-specific TLB code\n\nThe PID handling is e500v1/v2-specific, and is moved to e500.c.\n\nThe MMU sregs code and kvmppc_core_vcpu_translate will be shared with\ne500mc, and is moved from e500.c to e500_tlb.c.\n\nPartially based on patches from Liu Yu \u003cyu.liu@freescale.com\u003e.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\n[agraf: fix bisectability]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "52e1718c6fd1a1f54c676c2107dc931e93865fe8",
      "tree": "ebf80e342deeb35987deb851cd1cb42e72377d8c",
      "parents": [
        "fc6cf99509eb8e5f16e0f81db0c71f5301193005"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:32 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:10 2012 +0300"
      },
      "message": "KVM: PPC: e500: clean up arch/powerpc/kvm/e500.h\n\nMove vcpu to the beginning of vcpu_e500 to give it appropriate\nprominence, especially if more fields end up getting added to the\nend of vcpu_e500 (and vcpu ends up in the middle).\n\nRemove gratuitous \"extern\" and add parameter names to prototypes.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\n[agraf: fix bisectability]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "fc6cf99509eb8e5f16e0f81db0c71f5301193005",
      "tree": "43d0d269dbc6c54e638f4c79743a0d5ab4b50658",
      "parents": [
        "29a5a6f9102aed97a06aa984cc294e0e603b3a79"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:31 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:09 2012 +0300"
      },
      "message": "KVM: PPC: e500: merge \u003casm/kvm_e500.h\u003e into arch/powerpc/kvm/e500.h\n\nKeeping two separate headers for e500-specific things was a\npain, and wasn\u0027t even organized along any logical boundary.\n\nThere was TLB stuff in \u003casm/kvm_e500.h\u003e despite the existence of\narch/powerpc/kvm/e500_tlb.h, and nothing in \u003casm/kvm_e500.h\u003e needed\nto be referenced from outside arch/powerpc/kvm.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\n[agraf: fix bisectability]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "29a5a6f9102aed97a06aa984cc294e0e603b3a79",
      "tree": "d04d2de87be3bd0c9ff43f7a79b84de9d0b01d28",
      "parents": [
        "fafd68327858bf30c846d38c7ea144f0827f552e"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:29 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:07 2012 +0300"
      },
      "message": "KVM: PPC: e500: rename e500_tlb.h to e500.h\n\nThis is in preparation for merging in the contents of\narch/powerpc/include/asm/kvm_e500.h.\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": "fafd68327858bf30c846d38c7ea144f0827f552e",
      "tree": "2b848572072cf86ccd138d00610237c8eef9e4b7",
      "parents": [
        "94fa9d9927627a948cef3eff7ebd228dcab5a316"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:26 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:05 2012 +0300"
      },
      "message": "KVM: PPC: booke: Move vm core init/destroy out of booke.c\n\ne500mc will want to do lpid allocation/deallocation here.\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": "94fa9d9927627a948cef3eff7ebd228dcab5a316",
      "tree": "dc0ec378616a6250bca86caf3b7881eba10b24cc",
      "parents": [
        "043cc4d724da6bb9e4f417c735accec58dfa40bf"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:22 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:04 2012 +0300"
      },
      "message": "KVM: PPC: booke: add booke-level vcpu load/put\n\nThis gives us a place to put load/put actions that correspond to\ncode that is booke-specific but not specific to a particular core.\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": "043cc4d724da6bb9e4f417c735accec58dfa40bf",
      "tree": "fa2d40741f8dcd636bb0c74f98f87cb88e6a2be4",
      "parents": [
        "06aae86799c1b37f216371e05a1eacb2188bee9d"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 15:34:20 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:51:02 2012 +0300"
      },
      "message": "KVM: PPC: factor out lpid allocator from book3s_64_mmu_hv\n\nWe\u0027ll use it on e500mc as well.\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": "b6d33834bd4e8bdf4a199812e31b3e36da53c794",
      "tree": "3360ac4b5fa572e3acb21ecdc686c6d941baa2fc",
      "parents": [
        "66ef89315f121cda9bf5b65a4ef02ad1b4fb16d9"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Thu Mar 08 16:44:24 2012 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:47:47 2012 +0300"
      },
      "message": "KVM: Factor out kvm_vcpu_kick to arch-generic code\n\nThe kvm_vcpu_kick function performs roughly the same funcitonality on\nmost all architectures, so we shouldn\u0027t have separate copies.\n\nPowerPC keeps a pointer to interchanging waitqueues on the vcpu_arch\nstructure and to accomodate this special need a\n__KVM_HAVE_ARCH_VCPU_GET_WQ define and accompanying function\nkvm_arch_vcpu_wq have been defined. For all other architectures this\nis a generic inline that just returns \u0026vcpu-\u003ewq;\n\nAcked-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "592f5d87b3feee9d60411f19d583038c0c7670ad",
      "tree": "dd357ccd3a4757965a9a27ab62ad8d849a4dc28b",
      "parents": [
        "e1f8acf8380abfd52aefbfa524e74af5ce0c8492"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Mar 13 23:31:02 2012 +0100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 03 16:42:39 2012 +1000"
      },
      "message": "KVM: PPC: Book3S: PR: Fix preemption\n\nWe were leaking preemption counters. Fix the code to always toggle\nbetween preempt and non-preempt properly.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "e1f8acf8380abfd52aefbfa524e74af5ce0c8492",
      "tree": "39f2637c1a941185003e9e270bf0b4580acde029",
      "parents": [
        "a5ddea0e78e76aa8d6354b9b0e51e652e21b8137"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Mar 05 16:00:28 2012 +0100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 03 16:42:34 2012 +1000"
      },
      "message": "KVM: PPC: Save/Restore CR over vcpu_run\n\nOn PPC, CR2-CR4 are nonvolatile, thus have to be saved across function calls.\nWe didn\u0027t respect that for any architecture until Paul spotted it in his\npatch for Book3S-HV. This patch saves/restores CR for all KVM capable PPC hosts.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "a5ddea0e78e76aa8d6354b9b0e51e652e21b8137",
      "tree": "2cd3177d94017cbc2e3cc03186eed8ae281dd86f",
      "parents": [
        "b4e51229d8a1e499fe65153766437152cca42053"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Feb 03 00:53:21 2012 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 03 16:42:30 2012 +1000"
      },
      "message": "KVM: PPC: Book3S HV: Save and restore CR in __kvmppc_vcore_entry\n\nThe ABI specifies that CR fields CR2--CR4 are nonvolatile across function\ncalls.  Currently __kvmppc_vcore_entry doesn\u0027t save and restore the CR,\nleading to CR2--CR4 getting corrupted with guest values, possibly leading\nto incorrect behaviour in its caller.  This adds instructions to save\nand restore CR at the points where we save and restore the nonvolatile\nGPRs.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "b4e51229d8a1e499fe65153766437152cca42053",
      "tree": "3aec12257db287a7a05b4a416b5e5b50702587fb",
      "parents": [
        "b8e6f8ae511d88732247aa2af26bfd1bef21b2f4"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Feb 03 00:45:02 2012 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 03 16:42:22 2012 +1000"
      },
      "message": "KVM: PPC: Book3S HV: Fix kvm_alloc_linear in case where no linears exist\n\nIn kvm_alloc_linear we were using and deferencing ri after the\nlist_for_each_entry had come to the end of the list.  In that\nsituation, ri is not really defined and probably points to the\nlist head.  This will happen every time if the free_linears list\nis empty, for instance.  This led to a NULL pointer dereference\ncrash in memset on POWER7 while trying to allocate an HPT in the\ncase where no HPTs were preallocated.\n\nThis fixes it by using a separate variable for the return value\nfrom the loop iterator.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "b8e6f8ae511d88732247aa2af26bfd1bef21b2f4",
      "tree": "d5b4829b97465aef2660ec4cef3f38b70b402608",
      "parents": [
        "b1a808ff436343956a6ae63178ea1810c5e5a3a1"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Mar 13 19:59:39 2012 +0100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 03 16:42:14 2012 +1000"
      },
      "message": "KVM: PPC: Book3S: Compile fix for ppc32 in HIOR access code\n\nWe were failing to compile on book3s_32 with the following errors:\n\narch/powerpc/kvm/book3s_pr.c:883:45: error: cast to pointer from integer of different size [-Werror\u003dint-to-pointer-cast]\narch/powerpc/kvm/book3s_pr.c:898:79: error: cast to pointer from integer of different size [-Werror\u003dint-to-pointer-cast]\n\nFix this by explicity casting the u64 to long before we use it as a pointer.\n\nAlso, on PPC32 we can not use get_user/put_user for 64bit wide variables,\nas there is no single instruction that could load or store variables that big.\n\nSo instead, we have to use copy_from/to_user which works everywhere.\n\nReported-by: Jörg Sommer \u003cjoerg@alea.gnuu.de\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "95327d08fd5fc686b35ac21050a1b74f9bce3abe",
      "tree": "8fe15aac8ea373bb2b8dd0476ca7a495179f255f",
      "parents": [
        "cad3c8346b94edd68e4b9c2c0056a5f61411af1a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Apr 01 17:35:53 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 02 14:00:04 2012 +1000"
      },
      "message": "powerpc/kvm: Fallout from system.h disintegration\n\nAdd a missing include to fix build\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\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": "ae3a197e3d0bfe3f4bf1693723e82dc018c096f3",
      "tree": "12a222c01afd73dbc3ebb6859952083e2eb96441",
      "parents": [
        "527dcdccd60759ee38e6224c93f87a6194d970ad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "message": "Disintegrate asm/system.h for PowerPC\n\nDisintegrate asm/system.h for PowerPC.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\ncc: linuxppc-dev@lists.ozlabs.org\n"
    },
    {
      "commit": "5375871d432ae9fc581014ac117b96aaee3cd0c7",
      "tree": "be98e8255b0f927fb920fb532a598b93fa140dbe",
      "parents": [
        "b57cb7231b2ce52d3dda14a7b417ae125fb2eb97",
        "dfbc2d75c1bd47c3186fa91f1655ea2f3825b0ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 18:55:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 18:55:10 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull powerpc merge from Benjamin Herrenschmidt:\n \"Here\u0027s the powerpc batch for this merge window.  It is going to be a\n  bit more nasty than usual as in touching things outside of\n  arch/powerpc mostly due to the big iSeriesectomy :-) We finally got\n  rid of the bugger (legacy iSeries support) which was a PITA to\n  maintain and that nobody really used anymore.\n\n  Here are some of the highlights:\n\n   - Legacy iSeries is gone.  Thanks Stephen ! There\u0027s still some bits\n     and pieces remaining if you do a grep -ir series arch/powerpc but\n     they are harmless and will be removed in the next few weeks\n     hopefully.\n\n   - The \u0027fadump\u0027 functionality (Firmware Assisted Dump) replaces the\n     previous (equivalent) \"pHyp assisted dump\"...  it\u0027s a rewrite of a\n     mechanism to get the hypervisor to do crash dumps on pSeries, the\n     new implementation hopefully being much more reliable.  Thanks\n     Mahesh Salgaonkar.\n\n   - The \"EEH\" code (pSeries PCI error handling \u0026 recovery) got a big\n     spring cleaning, motivated by the need to be able to implement a\n     new backend for it on top of some new different type of firwmare.\n\n     The work isn\u0027t complete yet, but a good chunk of the cleanups is\n     there.  Note that this adds a field to struct device_node which is\n     not very nice and which Grant objects to.  I will have a patch soon\n     that moves that to a powerpc private data structure (hopefully\n     before rc1) and we\u0027ll improve things further later on (hopefully\n     getting rid of the need for that pointer completely).  Thanks Gavin\n     Shan.\n\n   - I dug into our exception \u0026 interrupt handling code to improve the\n     way we do lazy interrupt handling (and make it work properly with\n     \"edge\" triggered interrupt sources), and while at it found \u0026 fixed\n     a wagon of issues in those areas, including adding support for page\n     fault retry \u0026 fatal signals on page faults.\n\n   - Your usual random batch of small fixes \u0026 updates, including a bunch\n     of new embedded boards, both Freescale and APM based ones, etc...\"\n\nI fixed up some conflicts with the generalized irq-domain changes from\nGrant Likely, hopefully correctly.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (141 commits)\n  powerpc/ps3: Do not adjust the wrapper load address\n  powerpc: Remove the rest of the legacy iSeries include files\n  powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces\n  init: Remove CONFIG_PPC_ISERIES\n  powerpc: Remove FW_FEATURE ISERIES from arch code\n  tty/hvc_vio: FW_FEATURE_ISERIES is no longer selectable\n  powerpc/spufs: Fix double unlocks\n  powerpc/5200: convert mpc5200 to use of_platform_populate()\n  powerpc/mpc5200: add options to mpc5200_defconfig\n  powerpc/mpc52xx: add a4m072 board support\n  powerpc/mpc5200: update mpc5200_defconfig to fit for charon board\n  Documentation/powerpc/mpc52xx.txt: Checkpatch cleanup\n  powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board\n  powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board\n  MAINTAINERS: Update PowerPC 4xx tree\n  powerpc/44x: The bug fixed support for APM821xx SoC and Bluestone board\n  powerpc: document the FSL MPIC message register binding\n  powerpc: add support for MPIC message register API\n  powerpc/fsl: Added aliased MSIIR register address to MSI node in dts\n  powerpc/85xx: mpc8548cds - add 36-bit dts\n  ...\n"
    },
    {
      "commit": "2480b2089210de3353b43419a80d9fa298d76f0e",
      "tree": "95d79e9af0a7a038e42acaa9d5dd0ade735ba78f",
      "parents": [
        "9c02048fcdf3cd0ab2d04a0a01de100582db28e1"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:16 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:14 2012 +0800"
      },
      "message": "powerpc: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "9cc815e46911486f52bec60517d0f7b40d323bbc",
      "tree": "de1bfa259824deda3105656a29b31b1fcdf569b7",
      "parents": [
        "270c6c79f4e15e599f47174ecedad932463af7a2"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Thu Feb 16 14:55:54 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:25 2012 +0200"
      },
      "message": "arch/powerpc/kvm/book3s_hv.c: included linux/sched.h twice\n\narch/powerpc/kvm/book3s_hv.c: included \u0027linux/sched.h\u0027 twice,\nremove the duplicate.\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "db3fe4eb45f3555d91a7124e18cf3a2f2a30eb90",
      "tree": "5d294feef8f6281d4cd6c67180e0514c74e87079",
      "parents": [
        "189a2f7b24677deced3d2a9803969ba69f4b75f6"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Feb 08 13:02:18 2012 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:22 2012 +0200"
      },
      "message": "KVM: Introduce kvm_memory_slot::arch and move lpage_info into it\n\nSome members of kvm_memory_slot are not used by every architecture.\n\nThis patch is the first step to make this difference clear by\nintroducing kvm_memory_slot::arch;  lpage_info is moved into it.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "d2a1b483a4a3f4bbb5fec1877f716c15ac7fa405",
      "tree": "3c1e6162250afb6c79f846749d91d71d2ccc0712",
      "parents": [
        "b7f5d0114c708d6efd264a2c5e5a31cf292a9cec"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jan 16 19:12:11 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:57:28 2012 +0200"
      },
      "message": "KVM: PPC: Add HPT preallocator\n\nWe\u0027re currently allocating 16MB of linear memory on demand when creating\na guest. That does work some times, but finding 16MB of linear memory\navailable in the system at runtime is definitely not a given.\n\nSo let\u0027s add another command line option similar to the RMA preallocator,\nthat we can use to keep a pool of page tables around. Now, when a guest\ngets created it has a pretty low chance of receiving an OOM.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "b7f5d0114c708d6efd264a2c5e5a31cf292a9cec",
      "tree": "898cd5e55e9caf728b742ec1c4355882d659efd7",
      "parents": [
        "b4e706111d501991c59d2af23a299ab52a06b03d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Jan 17 15:11:28 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:57:27 2012 +0200"
      },
      "message": "KVM: PPC: Initialize linears with zeros\n\nRMAs and HPT preallocated spaces should be zeroed, so we don\u0027t accidently\nleak information from previous VM executions.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "b4e706111d501991c59d2af23a299ab52a06b03d",
      "tree": "b341991a0653307f026a6be570b8de5c62b40ea1",
      "parents": [
        "9cf7c0e465197fa97972428e93162318e917f8ed"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jan 16 16:50:10 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:57:25 2012 +0200"
      },
      "message": "KVM: PPC: Convert RMA allocation into generic code\n\nWe have code to allocate big chunks of linear memory on bootup for later use.\nThis code is currently used for RMA allocation, but can be useful beyond that\nextent.\n\nMake it generic so we can reuse it for other stuff later.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "9cf7c0e465197fa97972428e93162318e917f8ed",
      "tree": "72932bc5775bf167988f85840c773ec157877174",
      "parents": [
        "9d4cba7f93c52d4121ab9c6f289e582d368a6979"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Jan 19 00:23:46 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:57:23 2012 +0200"
      },
      "message": "KVM: PPC: E500: Fail init when not on e500v2\n\nWhen enabling the current KVM code on e500mc, I get the following oops:\n\n    Oops: Exception in kernel mode, sig: 4 [#1]\n    SMP NR_CPUS\u003d8 P2041 RDB\n    Modules linked in:\n    NIP: c067df4c LR: c067df44 CTR: 00000000\n    REGS: ee055ed0 TRAP: 0700   Not tainted  (3.2.0-10391-g36c5afe)\n    MSR: 00029002 \u003cCE,EE,ME\u003e  CR: 24042022  XER: 00000000\n    TASK \u003d ee0429b0[1] \u0027swapper/0\u0027 THREAD: ee054000 CPU: 2\n    GPR00: c067df44 ee055f80 ee0429b0 00000000 00000058 0000003f ee211600 60c6b864\n    GPR08: 7cc903a6 0000002c 00000000 00000001 44042082 2d180088 00000000 00000000\n    GPR16: c0000a00 00000014 3fffffff 03fe9000 00000015 7ff3be68 c06e0000 00000000\n    GPR24: 00000000 00000000 00001720 c067df1c c06e0000 00000000 ee054000 c06ab51c\n    NIP [c067df4c] kvmppc_e500_init+0x30/0xf8\n    LR [c067df44] kvmppc_e500_init+0x28/0xf8\n    Call Trace:\n    [ee055f80] [c067df44] kvmppc_e500_init+0x28/0xf8 (unreliable)\n    [ee055fb0] [c0001d30] do_one_initcall+0x50/0x1f0\n    [ee055fe0] [c06721dc] kernel_init+0xa4/0x14c\n    [ee055ff0] [c000e910] kernel_thread+0x4c/0x68\n    Instruction dump:\n    9421ffd0 7c0802a6 93410018 9361001c 90010034 93810020 93a10024 93c10028\n    93e1002c 4bfffe7d 2c030000 408200a4 \u003c7c1082a6\u003e 90010008 7c1182a6 9001000c\n    ---[ end trace b8ef4903fcbf9dd3 ]---\n\nSince it doesn\u0027t make sense to run the init function on any non-supported\nplatform, we can just call our \"is this platform supported?\" function and\nbail out of init() if it\u0027s not.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "9d4cba7f93c52d4121ab9c6f289e582d368a6979",
      "tree": "482c7d42dcf6921cf82cd54c51c5d0f07b64b748",
      "parents": [
        "1a18a69b762374c423305772500f36eb8984ca52"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 12 20:09:51 2012 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:57:22 2012 +0200"
      },
      "message": "KVM: Move gfn_to_memslot() to kvm_host.h\n\nThis moves __gfn_to_memslot() and search_memslots() from kvm_main.c to\nkvm_host.h to reduce the code duplication caused by the need for\nnon-modular code in arch/powerpc/kvm/book3s_hv_rm_mmu.c to call\ngfn_to_memslot() in real mode.\n\nRather than putting gfn_to_memslot() itself in a header, which would\nlead to increased code size, this puts __gfn_to_memslot() in a header.\nThen, the non-modular uses of gfn_to_memslot() are changed to call\n__gfn_to_memslot() instead.  This way there is only one place in the\nsource code that needs to be changed should the gfn_to_memslot()\nimplementation need to be modified.\n\nOn powerpc, the Book3S HV style of KVM has code that is called from\nreal mode which needs to call gfn_to_memslot() and thus needs this.\n(Module code is allocated in the vmalloc region, which can\u0027t be\naccessed in real mode.)\n\nWith this, we can remove builtin_gfn_to_memslot() from book3s_hv_rm_mmu.c.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\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": "b3c5d3c2a49602c370de6d02fdb923bc48cd1abc",
      "tree": "f0e18b17fdf764be61f3b2f1b5ac009cbc12dee8",
      "parents": [
        "31f3438eca2fc90dc892e0e9963ba4b93a2c8383"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sat Jan 07 02:07:38 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:41 2012 +0200"
      },
      "message": "KVM: PPC: Rename MMIO register identifiers\n\nWe need the KVM_REG namespace for generic register settings now, so\nlet\u0027s rename the existing users to something different, enabling\nus to reuse the namespace for more visible interfaces.\n\nWhile at it, also move these private constants to a private header.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "31f3438eca2fc90dc892e0e9963ba4b93a2c8383",
      "tree": "21f3b35bf1941c3429299987564bdca3b1dd64e7",
      "parents": [
        "1022fc3d3bfaca09d5d6bfcc93a168de16840814"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Dec 12 12:26:50 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:41 2012 +0200"
      },
      "message": "KVM: PPC: Move kvm_vcpu_ioctl_[gs]et_one_reg down to platform-specific code\n\nThis moves the get/set_one_reg implementation down from powerpc.c into\nbooke.c, book3s_pr.c and book3s_hv.c.  This avoids #ifdefs in C code,\nbut more importantly, it fixes a bug on Book3s HV where we were\naccessing beyond the end of the kvm_vcpu struct (via the to_book3s()\nmacro) and corrupting memory, causing random crashes and file corruption.\n\nOn Book3s HV we only accept setting the HIOR to zero, since the guest\nruns in supervisor mode and its vectors are never offset from zero.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n[agraf update to apply on top of changed ONE_REG patches]\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": "6b75e6bfef7ba108ac3df0d430d80dea68fde4bf",
      "tree": "6b42f3eddc94650a55ccf8a6d57e0f2e9597a919",
      "parents": [
        "d37b1a037cae725e69e5bf96f58544b69d7c93a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Wed Dec 07 10:24:56 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:40 2012 +0200"
      },
      "message": "KVM: PPC: Use the vcpu kmem_cache when allocating new VCPUs\n\nCurrently the code kzalloc()s new VCPUs instead of using the kmem_cache\nwhich is created when KVM is initialized.\n\nModify it to allocate VCPUs from that kmem_cache.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "d37b1a037cae725e69e5bf96f58544b69d7c93a6",
      "tree": "73db07a65bd9ebbeae0e982cbb5291a047dddb38",
      "parents": [
        "82ed36164c8a8ee685ea3fb3c4f741214ac070ca"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Tue Dec 20 14:42:56 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:40 2012 +0200"
      },
      "message": "KVM: PPC: booke: Add booke206 TLB trace\n\nThe existing kvm_stlb_write/kvm_gtlb_write were a poor match for\nthe e500/book3e MMU -- mas1 was passed as \"tid\", mas2 was limited\nto \"unsigned int\" which will be a problem on 64-bit, mas3/7 got\nsplit up rather than treated as a single 64-bit word, etc.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\n[scottwood@freescale.com: made mas2 64-bit, and added mas8 init]\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": "82ed36164c8a8ee685ea3fb3c4f741214ac070ca",
      "tree": "259f2e7a839d7506d7fbb9a3be6763ad2f5e9fd2",
      "parents": [
        "55514893739d28f095f19b012133eea4cb4a9390"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Dec 15 02:03:22 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:39 2012 +0200"
      },
      "message": "KVM: PPC: Book3s HV: Implement get_dirty_log using hardware changed bit\n\nThis changes the implementation of kvm_vm_ioctl_get_dirty_log() for\nBook3s HV guests to use the hardware C (changed) bits in the guest\nhashed page table.  Since this makes the implementation quite different\nfrom the Book3s PR case, this moves the existing implementation from\nbook3s.c to book3s_pr.c and creates a new implementation in book3s_hv.c.\nThat implementation calls kvmppc_hv_get_dirty_log() to do the actual\nwork by calling kvm_test_clear_dirty on each page.  It iterates over\nthe HPTEs, clearing the C bit if set, and returns 1 if any C bit was\nset (including the saved C bit in the rmap entry).\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "55514893739d28f095f19b012133eea4cb4a9390",
      "tree": "53133098473395a8a4ff1f00414137c2481a5fd0",
      "parents": [
        "bad3b5075eeb18cb1641b4171618add638bc0fa7"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Dec 15 02:02:47 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:39 2012 +0200"
      },
      "message": "KVM: PPC: Book3S HV: Use the hardware referenced bit for kvm_age_hva\n\nThis uses the host view of the hardware R (referenced) bit to speed\nup kvm_age_hva() and kvm_test_age_hva().  Instead of removing all\nthe relevant HPTEs in kvm_age_hva(), we now just reset their R bits\nif set.  Also, kvm_test_age_hva() now scans the relevant HPTEs to\nsee if any of them have R set.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "bad3b5075eeb18cb1641b4171618add638bc0fa7",
      "tree": "11c599691f17ef931ef5dbb8d8e788c500752554",
      "parents": [
        "a92bce95f0f967dfa6205527d7143d276b0be6a7"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Dec 15 02:02:02 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:39 2012 +0200"
      },
      "message": "KVM: PPC: Book3s HV: Maintain separate guest and host views of R and C bits\n\nThis allows both the guest and the host to use the referenced (R) and\nchanged (C) bits in the guest hashed page table.  The guest has a view\nof R and C that is maintained in the guest_rpte field of the revmap\nentry for the HPTE, and the host has a view that is maintained in the\nrmap entry for the associated gfn.\n\nBoth view are updated from the guest HPT.  If a bit (R or C) is zero\nin either view, it will be initially set to zero in the HPTE (or HPTEs),\nuntil set to 1 by hardware.  When an HPTE is removed for any reason,\nthe R and C bits from the HPTE are ORed into both views.  We have to\nbe careful to read the R and C bits from the HPTE after invalidating\nit, but before unlocking it, in case of any late updates by the hardware.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "a92bce95f0f967dfa6205527d7143d276b0be6a7",
      "tree": "fe0fb65201a532f360f6100959b6442f6829c94d",
      "parents": [
        "b5434032fcfd7490c6453feb397fb781762b6f09"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Dec 15 02:01:10 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:39 2012 +0200"
      },
      "message": "KVM: PPC: Book3S HV: Keep HPTE locked when invalidating\n\nThis reworks the implementations of the H_REMOVE and H_BULK_REMOVE\nhcalls to make sure that we keep the HPTE locked and in the reverse-\nmapping chain until we have finished invalidating it.  Previously\nwe would remove it from the chain and unlock it before invalidating\nit, leaving a tiny window when the guest could access the page even\nthough we believe we have removed it from the guest (e.g.,\nkvm_unmap_hva() has been called for the page and has found no HPTEs\nin the chain).  In addition, we\u0027ll need this for future patches where\nwe will need to read the R and C bits in the HPTE after invalidating\nit.\n\nDoing this required restructuring kvmppc_h_bulk_remove() substantially.\nSince we want to batch up the tlbies, we now need to keep several\nHPTEs locked simultaneously.  In order to avoid possible deadlocks,\nwe don\u0027t spin on the HPTE bitlock for any except the first HPTE in\na batch.  If we can\u0027t acquire the HPTE bitlock for the second or\nsubsequent HPTE, we terminate the batch at that point, do the tlbies\nthat we have accumulated so far, unlock those HPTEs, and then start\na new batch to do the remaining invalidations.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "b5434032fcfd7490c6453feb397fb781762b6f09",
      "tree": "a0fade79c7b73169c1af134459392f489b025c56",
      "parents": [
        "03cdab5340b423ec88fc18eb158a62a8a7b94d7f"
      ],
      "author": {
        "name": "Matt Evans",
        "email": "matt@ozlabs.org",
        "time": "Wed Dec 07 16:55:57 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:38 2012 +0200"
      },
      "message": "KVM: PPC: Add KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS\n\nPPC KVM lacks these two capabilities, and as such a userland system must assume\na max of 4 VCPUs (following api.txt).  With these, a userland can determine\na more realistic limit.\n\nSigned-off-by: Matt Evans \u003cmatt@ozlabs.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "03cdab5340b423ec88fc18eb158a62a8a7b94d7f",
      "tree": "d7cc6fe86d754690b28938b933ecc85cee3acb86",
      "parents": [
        "4cf302bc106566c5bad523337296ea8b72df63f5"
      ],
      "author": {
        "name": "Matt Evans",
        "email": "matt@ozlabs.org",
        "time": "Tue Dec 06 21:19:42 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:38 2012 +0200"
      },
      "message": "KVM: PPC: Fix vcpu_create dereference before validity check.\n\nFix usage of vcpu struct before check that it\u0027s actually valid.\n\nSigned-off-by: Matt Evans \u003cmatt@ozlabs.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "4cf302bc106566c5bad523337296ea8b72df63f5",
      "tree": "65c633e045baf08b5700301725093c3b43330e1f",
      "parents": [
        "a355aa54f1d25dff83c0feef8863d83a76988fdb"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Dec 12 12:38:51 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:38 2012 +0200"
      },
      "message": "KVM: PPC: Allow for read-only pages backing a Book3S HV guest\n\nWith this, if a guest does an H_ENTER with a read/write HPTE on a page\nwhich is currently read-only, we make the actual HPTE inserted be a\nread-only version of the HPTE.  We now intercept protection faults as\nwell as HPTE not found faults, and for a protection fault we work out\nwhether it should be reflected to the guest (e.g. because the guest HPTE\ndidn\u0027t allow write access to usermode) or handled by switching to\nkernel context and calling kvmppc_book3s_hv_page_fault, which will then\nrequest write access to the page and update the actual HPTE.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    }
  ],
  "next": "342d3db763f2621ed4546ebf8f6c61cb29d7fbdb"
}
