)]}'
{
  "log": [
    {
      "commit": "98edb6ca4174f17a64890a02f44c211c8b44fb3c",
      "tree": "033bc5f7da410046d28dd1cefcd2d63cda33d25b",
      "parents": [
        "a8251096b427283c47e7d8f9568be6b388dd68ec",
        "8fbf065d625617bbbf6b72d5f78f84ad13c8b547"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (269 commits)\n  KVM: x86: Add missing locking to arch specific vcpu ioctls\n  KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls\n  KVM: MMU: Segregate shadow pages with different cr0.wp\n  KVM: x86: Check LMA bit before set_efer\n  KVM: Don\u0027t allow lmsw to clear cr0.pe\n  KVM: Add cpuid.txt file\n  KVM: x86: Tell the guest we\u0027ll warn it about tsc stability\n  x86, paravirt: don\u0027t compute pvclock adjustments if we trust the tsc\n  x86: KVM guest: Try using new kvm clock msrs\n  KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID\n  KVM: x86: add new KVMCLOCK cpuid feature\n  KVM: x86: change msr numbers for kvmclock\n  x86, paravirt: Add a global synchronization point for pvclock\n  x86, paravirt: Enable pvclock flags in vcpu_time_info structure\n  KVM: x86: Inject #GP with the right rip on efer writes\n  KVM: SVM: Don\u0027t allow nested guest to VMMCALL into host\n  KVM: x86: Fix exception reinjection forced to true\n  KVM: Fix wallclock version writing race\n  KVM: MMU: Don\u0027t read pdptrs with mmu spinlock held in mmu_alloc_roots\n  KVM: VMX: enable VMXON check with SMX enabled (Intel TXT)\n  ...\n"
    },
    {
      "commit": "98001d8d017cea1ee0f9f35c6227bbd63ef5005b",
      "tree": "07d403f4b4dc48ace0c602ff0f89078da586dc56",
      "parents": [
        "3dbe141595faa48a067add3e47bba3205b79d33c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu May 13 11:05:49 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed May 19 11:41:10 2010 +0300"
      },
      "message": "KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0ee75bead83da4791e5cbf659806c54d8ee40f12",
      "tree": "3b3856aac1fc94d153f9e6c27f383f81be06185a",
      "parents": [
        "884a0ff0b68b3ece5987507de168215e14ef7849"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Apr 28 15:39:01 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed May 19 11:36:29 2010 +0300"
      },
      "message": "KVM: Let vcpu structure alignment be determined at runtime\n\nvmx and svm vcpus have different contents and therefore may have different\nalignmment requirements.  Let each specify its required alignment.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "329d20ba451b5a9fd17a4ce9471e4d335b3b8c74",
      "tree": "4ed000fd6749ba375ec30b330b1cc8cb3b7a2b86",
      "parents": [
        "d35b8dd9355805f17225fdbfee4bc704d7bf7547"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 27 15:49:17 2010 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed May 19 11:36:24 2010 +0300"
      },
      "message": "KVM: powerpc: use of kzalloc/kfree requires including slab.h\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b83d4a9cfc81503a082331cc5d1e480d99f3a531",
      "tree": "50e042408f2f7cc16b23b2c83462e8d8cc71d987",
      "parents": [
        "251585b5d02152973dbc24c803ca322bb977d4a2"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:19:08 2010 +0300"
      },
      "message": "KVM: PPC: Enable native paired singles\n\nWhen we\u0027re on a paired single capable host, we can just always enable\npaired singles and expose them to the guest directly.\n\nThis approach breaks when multiple VMs run and access PS concurrently,\nbut this should suffice until we get a proper framework for it in Linux.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "251585b5d02152973dbc24c803ca322bb977d4a2",
      "tree": "cce6b6beda97aaad86e5e31debc6f2fb2a4d8ebe",
      "parents": [
        "5156f274bb1ee1cfc22240445ef94f7dcfc9929d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:53 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:19:07 2010 +0300"
      },
      "message": "KVM: PPC: Find HTAB ourselves\n\nFor KVM we need to find the location of the HTAB. We can either rely\non internal data structures of the kernel or ask the hardware.\n\nBen issued complaints about the internal data structure method, so\nlet\u0027s switch it to our own inquiry of the HTAB. Now we\u0027re fully\nindependend :-).\n\nCC: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5156f274bb1ee1cfc22240445ef94f7dcfc9929d",
      "tree": "1dd4ce58772db55f98754fa79697b6ccce0d1a46",
      "parents": [
        "6355644190f67326f5a16d0269c3e612fcfd6889"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:52 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:19:05 2010 +0300"
      },
      "message": "KVM: PPC: Fix Book3S_64 Host MMU debug output\n\nWe have some debug output in Book3S_64. Some of that was invalid though,\npartially not even compiling because it accessed incorrect variables.\n\nSo let\u0027s fix that up, making debugging more fun again.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6355644190f67326f5a16d0269c3e612fcfd6889",
      "tree": "e1d6ce169651fac7d80eb22c1b95a13995d22893",
      "parents": [
        "ac21467182e562a71d8b4e098ea054e42700c0ff"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:51 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:19:03 2010 +0300"
      },
      "message": "KVM: PPC: Set VSID_PR also for Book3S_64\n\nBook3S_64 didn\u0027t set VSID_PR when we\u0027re in PR\u003d1. This lead to pretty bad\nbehavior when searching for the shadow segment, as part of the code relied\non VSID_PR being set.\n\nThis patch fixes booting Book3S_64 guests.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ac21467182e562a71d8b4e098ea054e42700c0ff",
      "tree": "814b2d6d7d11b21801be229476209bd16f156ea5",
      "parents": [
        "6fc558258077d4e44b1780c0fd4ef93dd96c6fca"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:50 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:19:02 2010 +0300"
      },
      "message": "KVM: PPC: Be more informative on BUG\n\nWe have a condition in the ppc64 host mmu code that should never occur.\nUnfortunately, it just did happen to me and I was rather puzzled on why,\nbecause BUG_ON doesn\u0027t tell me anything useful.\n\nSo let\u0027s add some more debug output in case this goes wrong. Also change\nBUG to WARN, since I don\u0027t want to reboot every time I mess something up.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6fc558258077d4e44b1780c0fd4ef93dd96c6fca",
      "tree": "13a433eab634b3893f71f2a876932674676c462d",
      "parents": [
        "f7bc74e1c306636a659a04805474b2f8fcbd1f7e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:49 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:19:00 2010 +0300"
      },
      "message": "KVM: PPC: Make Alignment interrupts work again\n\nIn the process of merging Book3S_32 and 64 I somehow ended up having the\nalignment interrupt handler take last_inst, but the fetching code not\nfetching it. So we ended up with stale last_inst values.\n\nLet\u0027s just enable last_inst fetching for alignment interrupts too.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f7bc74e1c306636a659a04805474b2f8fcbd1f7e",
      "tree": "5aa5c5c9676d577b55bbc700f1d5a6ee5c137a27",
      "parents": [
        "7fdaec997cc8ef77e8da7ed70f3d9f074b61c31f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:58 2010 +0300"
      },
      "message": "KVM: PPC: Improve split mode\n\nWhen in split mode, instruction relocation and data relocation are not equal.\n\nSo far we implemented this mode by reserving a special pseudo-VSID for the\ntwo cases and flushing all PTEs when going into split mode, which is slow.\n\nUnfortunately 32bit Linux and Mac OS X use split mode extensively. So to not\nslow down things too much, I came up with a different idea: Mark the split\nmode with a bit in the VSID and then treat it like any other segment.\n\nThis means we can just flush the shadow segment cache, but keep the PTEs\nintact. I verified that this works with ppc32 Linux and Mac OS X 10.4\nguests and does speed them up.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7fdaec997cc8ef77e8da7ed70f3d9f074b61c31f",
      "tree": "aa72586e8eb24d32353c54158a51470e9245122d",
      "parents": [
        "af7b4d104b36e782a5a97dd55958c3c63964e088"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:47 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:57 2010 +0300"
      },
      "message": "KVM: PPC: Make Performance Counters work\n\nWhen we get a performance counter interrupt we need to route it on to the\nLinux handler after we got out of the guest context. We also need to tell\nour handling code that this particular interrupt doesn\u0027t need treatment.\n\nSo let\u0027s add those two bits in, making perf work while having a KVM guest\nrunning.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "af7b4d104b36e782a5a97dd55958c3c63964e088",
      "tree": "6c727f71eb6c094d289d504a472a4f1a4f49d1bd",
      "parents": [
        "4f84139037b0c006c906cacbe904b25ccd4dfff9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Apr 20 02:49:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:55 2010 +0300"
      },
      "message": "KVM: PPC: Convert u64 -\u003e ulong\n\nThere are some pieces in the code that I overlooked that still use\nu64s instead of longs. This slows down 32 bit hosts unnecessarily, so\nlet\u0027s just move them to ulong.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4f84139037b0c006c906cacbe904b25ccd4dfff9",
      "tree": "1f321b6630122eb5873fb83590e21ce0ac801d4b",
      "parents": [
        "dd84c21748d9280f210565429b1bdb9b6353e8d2"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:58 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:54 2010 +0300"
      },
      "message": "KVM: PPC: Enable Book3S_32 KVM building\n\nNow that we have all the bits and pieces in place, let\u0027s enable building\nof the Book3S_32 target.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ada7ba17b4054f303ad62d91ffd22bc4afad1657",
      "tree": "ec3ae04af0b79b74d850060b165f5898fbe85008",
      "parents": [
        "218d169c4c856eee7df56ea0fb8cbb32167e63d3"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:56 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:51 2010 +0300"
      },
      "message": "KVM: PPC: Check max IRQ prio\n\nWe have a define on what the highest bit of IRQ priorities is. So we can\njust as well use it in the bit checking code and avoid invalid IRQ values\nto be triggered.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "07b0907db19d28dc74e7927d565655690b96daf7",
      "tree": "24f195343ece3b2a24f94eac0f196a021cecc838",
      "parents": [
        "61db97cc1e7fce4fd16f72b1350e1728797fa26f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:53 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:46 2010 +0300"
      },
      "message": "KVM: PPC: Add Book3S compatibility code\n\nSome code we had so far required defines and had code that was completely\nBook3S_64 specific. Since we now opened book3s.c to Book3S_32 too, we need\nto take care of these pieces.\n\nSo let\u0027s add some minor code where it makes sense to not go the Book3S_64\ncode paths and add compat defines on others.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "61db97cc1e7fce4fd16f72b1350e1728797fa26f",
      "tree": "ceae282bf55a46b8580ec8aad3c7eebe2f9a5f9e",
      "parents": [
        "97e492558f423d99c51eb934506b7a3d7c64613b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:52 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:45 2010 +0300"
      },
      "message": "KVM: PPC: Emulate segment fault\n\nBook3S_32 doesn\u0027t know about segment faults. It only knows about page faults.\nSo in order to know that we didn\u0027t map a segment, we need to fake segment\nfaults.\n\nWe do this by setting invalid segment registers to an invalid VSID and then\ncheck for that VSID on normal page faults.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0474b259d0366a70ea83b94534c333093c189421",
      "tree": "648c375a0313e5387140751678d59c3c753d66c1",
      "parents": [
        "33fd27c7d26ec869f637634526e7293027bd8746"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:50 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:41 2010 +0300"
      },
      "message": "KVM: PPC: Remove fetch fail code\n\nWhen instruction fetch failed, the inline function hook automatically\ndetects that and starts the internal guest memory load function. So\nwhenever we access kvmppc_get_last_inst(), we\u0027re sure the result is sane.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "33fd27c7d26ec869f637634526e7293027bd8746",
      "tree": "572ddc5cff8ad38114976768b92f994556f77f4a",
      "parents": [
        "53e5b8bbbd0d0305234b2cfeae400183db98f993"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:49 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:40 2010 +0300"
      },
      "message": "KVM: PPC: Release clean pages as clean\n\nWhen we mapped a page as read-only, we can just release it as clean to\nKVM\u0027s page claim mechanisms, because we\u0027re pretty sure it hasn\u0027t been\ntouched.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "53e5b8bbbd0d0305234b2cfeae400183db98f993",
      "tree": "aab01d2962a4b30666edba8e71191240bdda0c83",
      "parents": [
        "b79fcdf67e9e03773fb032679675d8008d5cc2dc"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:38 2010 +0300"
      },
      "message": "KVM: PPC: Make SLB switching code the new segment framework\n\nWe just introduced generic segment switching code that only needs to call\nsmall macros to do the actual switching, but keeps most of the entry / exit\ncode generic.\n\nSo let\u0027s move the SLB switching code over to use this new mechanism.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b79fcdf67e9e03773fb032679675d8008d5cc2dc",
      "tree": "3dcc82312d4ef059b33496486a29d630d1e0d87e",
      "parents": [
        "8c3a4e0b673ba8b274399f575dc803a89a953a66"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:47 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:37 2010 +0300"
      },
      "message": "KVM: PPC: Make highmem code generic\n\nSince we now have several fields in the shadow VCPU, we also change\nthe internal calling convention between the different entry/exit code\nlayers.\n\nLet\u0027s reflect that in the IR\u003d1 code and make sure we use \"long\" defines\nfor long field access.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8c3a4e0b673ba8b274399f575dc803a89a953a66",
      "tree": "b8fe961f478e03b252487a1cff085e9f71f6a6ac",
      "parents": [
        "9cc5e9538ab7cbbfb1d7263373d2f58ab2af2bad"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:35 2010 +0300"
      },
      "message": "KVM: PPC: Make real mode handler generic\n\nThe real mode handler code was originally writen for 64 bit Book3S only.\nBut since we not add 32 bit functionality too, we need to make some tweaks\nto it.\n\nThis patch basically combines using the \"long\" access defines and using\nfields from the shadow VCPU we just moved there.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9cc5e9538ab7cbbfb1d7263373d2f58ab2af2bad",
      "tree": "058bf5939ecca2f3b805dd657cc565051947db07",
      "parents": [
        "0604675fe17f68741730cebe74422605bb79d972"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:45 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:34 2010 +0300"
      },
      "message": "KVM: PPC: Extract MMU init\n\nThe host shadow mmu code needs to get initialized. It needs to fetch a\nsegment it can use to put shadow PTEs into.\n\nThat initialization code was in generic code, which is icky. Let\u0027s move\nit over to the respective MMU file.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "00c3a37ca332f54f2187720e51f7c0e18e91d7c9",
      "tree": "c6544905f7b67d892596c03ccea38892efbc75a8",
      "parents": [
        "c14dea04a248a59fe01f1b49ac94615042016558"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:42 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:29 2010 +0300"
      },
      "message": "KVM: PPC: Use CONFIG_PPC_BOOK3S define\n\nUpstream recently added a new name for PPC64: Book3S_64.\n\nSo instead of using CONFIG_PPC64 we should use CONFIG_PPC_BOOK3S consotently.\nThat makes understanding the code easier (I hope).\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c14dea04a248a59fe01f1b49ac94615042016558",
      "tree": "3ea92124fba4da1c4bea86b111a8ec188e7be502",
      "parents": [
        "c7f38f46f2a98d232147e47284cb4e7363296a3e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:41 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:28 2010 +0300"
      },
      "message": "KVM: PPC: Use KVM_BOOK3S_HANDLER\n\nSo far we had a lot of conditional code on CONFIG_KVM_BOOK3S_64_HANDLER.\nAs we\u0027re moving towards common code between 32 and 64 bits, most of\nthese ifdefs can be moved to a more generic term define, called\nCONFIG_KVM_BOOK3S_HANDLER.\n\nThis patch adds the new generic config option and moves ifdefs over.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c7f38f46f2a98d232147e47284cb4e7363296a3e",
      "tree": "ba1de6a9d8398d31807756789d015983c4610b21",
      "parents": [
        "66bb170655799a0149df0844fb8232f27e54323c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:26 2010 +0300"
      },
      "message": "KVM: PPC: Improve indirect svcpu accessors\n\nWe already have some inline fuctions we use to access vcpu or svcpu structs,\ndepending on whether we\u0027re on booke or book3s. Since we just put a few more\nregisters into the svcpu, we also need to make sure the respective callbacks\nare available and get used.\n\nSo this patch moves direct use of the now in the svcpu struct fields to\ninline function calls. While at it, it also moves the definition of those\ninline function calls to respective header files for booke and book3s,\ngreatly improving readability.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0737279427bef48f552b3ab63a6c0ba7491fe29f",
      "tree": "c7f5e50f36317176175b581125262405c157f570",
      "parents": [
        "786f19daa8b109ae6b96a351eee3a14b9f8b57d0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:35 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:18 2010 +0300"
      },
      "message": "KVM: PPC: Add generic segment switching code\n\nThis is the code that will later be used instead of book3s_64_slb.S. It\ndoes the last step of guest entry and the first generic steps of guest\nexiting, once we have determined the interrupt is a KVM interrupt.\n\nIt also reads the last used instruction from the guest virtual address\nspace if necessary, to speed up that path.\n\nThe new thing about this file is that it makes use of generic long load\nand store functions and calls a macro to fill in the actual segment\nswitching code. That still needs to be done differently for book3s_32 and\nbook3s_64.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "786f19daa8b109ae6b96a351eee3a14b9f8b57d0",
      "tree": "9f2ce80363552264bdbee1ce6eb99291f5064640",
      "parents": [
        "d32154f1b8b748ea23edc90b06f640304a979012"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:34 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:17 2010 +0300"
      },
      "message": "KVM: PPC: Add SR swapping code\n\nLater in this series we will move the current segment switch code to\ngeneric code and make that call hooks for the specific sub-archs (32\nvs. 64 bit). This is the hook for 32 bits.\n\nIt enabled the entry and exit code to swap segment registers with\nvalues from the shadow cpu structure.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d32154f1b8b748ea23edc90b06f640304a979012",
      "tree": "071e45586019c3ea87466b88e45ebf19ba78e1e3",
      "parents": [
        "2191d657c9eaa4c444c33e014199ed9de1ac339d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:33 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:15 2010 +0300"
      },
      "message": "KVM: PPC: Add host MMU Support\n\nIn order to support 32 bit Book3S, we need to add code to enable our\nshadow MMU to actually add shadow PTEs. This is the module enabling\nthat support.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2191d657c9eaa4c444c33e014199ed9de1ac339d",
      "tree": "091ac64b7ed2962ad9482660a58efa3532d4dcb7",
      "parents": [
        "77a1a715707d0f60ce0cfbe44070527a0a561f01"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:32 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:14 2010 +0300"
      },
      "message": "KVM: PPC: Name generic 64-bit code generic\n\nWe have quite some code that can be used by Book3S_32 and Book3S_64 alike,\nso let\u0027s call it \"Book3S\" instead of \"Book3S_64\", so we can later on\nuse it from the 32 bit port too.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4496f974825e2ee317c3cc94e41ec2db7eb73af8",
      "tree": "f31ccce968438570228be74193bc053e6892970d",
      "parents": [
        "24222c2fec75df30d56d1e2014d45d2559c94f1a"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Apr 07 10:03:25 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:32 2010 +0300"
      },
      "message": "KVM: PPC: Add dequeue for external on BookE\n\nCommit a0abee86af2d1f048dbe99d2bcc4a2cefe685617 introduced unsetting of the\nIRQ line from userspace. This added a new core specific callback that I\napparently forgot to add for BookE.\n\nSo let\u0027s add the callback for BookE as well, making it build again.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "287d5611fab5a42214d028b6f67fbd2ee977dcf2",
      "tree": "3137442830632cc73f937b1bd213deb218cc815d",
      "parents": [
        "647dc49eebad2c30f823cae2bd8204b66c739f9c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Apr 01 15:33:21 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:24 2010 +0300"
      },
      "message": "KVM: PPC: Only use QPRs when available\n\nBookE KVM doesn\u0027t know about QPRs, so let\u0027s not try to access then.\n\nThis fixes a build error on BookE KVM.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "05b0ab1c0bb526ac1056bab356ee92cfd6daa6fd",
      "tree": "c4da81666edb0ef665a38c9931b115dfa3a14cbe",
      "parents": [
        "3ed9c6d2b5aa0ac365c52a2a3a370ac499f21e45"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:37 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:21 2010 +0300"
      },
      "message": "KVM: PPC: Disable MSR_FEx for Cell hosts\n\nCell can\u0027t handle MSR_FE0 and MSR_FE1 too well. It gets dog slow.\nSo let\u0027s just override the guest whenever we see one of the two and mask them\nout. See commit ddf5f75a16b3e7460ffee881795aa168dffcd0cf for reference.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a1eda280ccd5fee71a89a94030f96bca5faebe21",
      "tree": "b5517e5bd4662fadff15cb874229ae6c01a66359",
      "parents": [
        "bd7cdbb7fcd135a399ebb855dc9106747ee2e6ba"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:34 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:17 2010 +0300"
      },
      "message": "KVM: PPC: Add check if pte was mapped secondary\n\nSome HTAB providers (namely the PS3) ignore the SECONDARY flag. They\njust put an entry in the htab as secondary when they see fit.\n\nSo we need to check the return value of htab_insert to remember the\ncorrect slot id so we can actually invalidate the entry again.\n\nFixes KVM on the PS3.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bd7cdbb7fcd135a399ebb855dc9106747ee2e6ba",
      "tree": "d0816eab67fb642dfab5597bd9f797c4078af05b",
      "parents": [
        "9fb244a2c215d1e16ee92cb164b7b61c8dfa3909"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:33 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:15 2010 +0300"
      },
      "message": "KVM: PPC: Add emulation for dcba\n\nMac OS X uses the dcba instruction. According to the specification it doesn\u0027t\nguarantee any functionality, so let\u0027s just emulate it as nop.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9fb244a2c215d1e16ee92cb164b7b61c8dfa3909",
      "tree": "c214f99be6740fe53d57a652b1b0fce6d7ba5d35",
      "parents": [
        "a2b07664f6cd14836ff84a77f48566673dca00bb"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:32 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:14 2010 +0300"
      },
      "message": "KVM: PPC: Fix dcbz emulation\n\nOn most systems we need to emulate dcbz when running 32 bit guests. So\nfar we\u0027ve been rather slack, not giving correct DSISR values to the guest.\n\nThis patch makes the emulation more accurate, introducing a difference\nbetween \"page not mapped\" and \"write protection fault\". While at it, it\nalso speeds up dcbz emulation by an order of magnitude by using kmap.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a2b07664f6cd14836ff84a77f48566673dca00bb",
      "tree": "24caf8fa84b9cf2ce2aec130ba17665b6db4d1cc",
      "parents": [
        "ad0a048b096ac819f28667602285453468a8d8f9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:31 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:12 2010 +0300"
      },
      "message": "KVM: PPC: Make build work without CONFIG_VSX/ALTIVEC\n\nThe FPU/Altivec/VSX enablement also brought access to some structure\nelements that are only defined when the respective config options\nare enabled.\n\nUnfortuately I forgot to check for the config options at some places,\nso let\u0027s do that now.\n\nUnbreaks the build when CONFIG_VSX is not set.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ad0a048b096ac819f28667602285453468a8d8f9",
      "tree": "491128ccab48eb277a5cf5919a798b0507da9859",
      "parents": [
        "71fbfd5f38f73515f1516a68fbe04dba198b70f0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:30 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:10 2010 +0300"
      },
      "message": "KVM: PPC: Add OSI hypercall interface\n\nMOL uses its own hypercall interface to call back into userspace when\nthe guest wants to do something.\n\nSo let\u0027s implement that as an exit reason, specify it with a CAP and\nonly really use it when userspace wants us to.\n\nThe only user of it so far is MOL.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "71fbfd5f38f73515f1516a68fbe04dba198b70f0",
      "tree": "653626126cef565890652f83f4eba7f376642709",
      "parents": [
        "ca7f4203b9b66e12d0d9968ff7dfe781f3a9695a"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:29 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:09 2010 +0300"
      },
      "message": "KVM: Add support for enabling capabilities per-vcpu\n\nSome times we don\u0027t want all capabilities to be available to all\nour vcpus. One example for that is the OSI interface, implemented\nin the next patch.\n\nIn order to have a generic mechanism in how to enable capabilities\nindividually, this patch introduces a new ioctl that can be used\nfor this purpose. That way features we don\u0027t want in all guests or\nuserspace configurations can just not be enabled and we\u0027re good.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ca7f4203b9b66e12d0d9968ff7dfe781f3a9695a",
      "tree": "ddec3225d7f7a2ab2d0cdaf4ff55725e547206d1",
      "parents": [
        "1c85e73303fa70cd6bc2bf138484acb4ffe30efd"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:28 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:07 2010 +0300"
      },
      "message": "KVM: PPC: Implement alignment interrupt\n\nMac OS X has some applications - namely the Finder - that require alignment\ninterrupts to work properly. So we need to implement them.\n\nBut the spec for 970 and 750 also looks different. While 750 requires the\nDSISR and DAR fields to reflect some instruction bits (DSISR) and the fault\naddress (DAR), the 970 declares this as an optional feature. So we need\nto reconstruct DSISR and DAR manually.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1c85e73303fa70cd6bc2bf138484acb4ffe30efd",
      "tree": "3cea3df0bdc1ed14181f05c4e208bda88f550d75",
      "parents": [
        "1bec1677ca5b3406dc1f174b61beaeb832eed715"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:27 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:06 2010 +0300"
      },
      "message": "KVM: PPC: Implement emulation for lbzux and lhax\n\nWe get MMIOs with the weirdest instructions. But every time we do,\nwe need to improve our emulator to implement them.\n\nSo let\u0027s do that - this time it\u0027s lbzux and lhax\u0027s round.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1bec1677ca5b3406dc1f174b61beaeb832eed715",
      "tree": "b02f63cfeceb0238ee6f75229a4ab50e955e9c6b",
      "parents": [
        "c04a695a4484467889d0c91c2e377c6abcecd5d5"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:26 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:04 2010 +0300"
      },
      "message": "KVM: PPC: Make XER load 32 bit\n\nWe have a 32 bit value in the PACA to store XER in. We also do an stw\nwhen storing XER in there. But then we load it with ld, completely\nscrewing it up on every entry.\n\nWelcome to the Big Endian world.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c04a695a4484467889d0c91c2e377c6abcecd5d5",
      "tree": "f969b63d1064573407900150c7bca5081fbd8805",
      "parents": [
        "c664876c6d88ff8c8e93ee05c0bbdc3e4c2af488"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:25 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:03 2010 +0300"
      },
      "message": "KVM: PPC: Implement BAT reads\n\nBATs can\u0027t only be written to, you can also read them out!\nSo let\u0027s implement emulation for reading BAT values again.\n\nWhile at it, I also made BAT setting flush the segment cache,\nso we\u0027re absolutely sure there\u0027s no MMU state left when writing\nBATs.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c664876c6d88ff8c8e93ee05c0bbdc3e4c2af488",
      "tree": "d478322acafbae0971e7f0dd0cab31ed7299c463",
      "parents": [
        "a56cf347c21b21d52db127672cf1edf5dd724a4b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:24 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:01 2010 +0300"
      },
      "message": "KVM: PPC: Implement mfsr emulation\n\nWe emulate the mfsrin instruction already, that passes the SR number\nin a register value. But we lacked support for mfsr that encoded the\nSR number in the opcode.\n\nSo let\u0027s implement it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a56cf347c21b21d52db127672cf1edf5dd724a4b",
      "tree": "33a92288ca0325d821289d49c38e95ff2bc664ca",
      "parents": [
        "c2453693d41f31dae1b4d39b2d59d9a9c6dcb837"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:23 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:59 2010 +0300"
      },
      "message": "KVM: PPC: Load VCPU for register fetching\n\nWhen trying to read or store vcpu register data, we should also make\nsure the vcpu is actually loaded, so we\u0027re 100% sure we get the correct\nvalues.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c2453693d41f31dae1b4d39b2d59d9a9c6dcb837",
      "tree": "db1342e9e9517990e57b38548037540292c2d364",
      "parents": [
        "8963221d7d7244cc828dfca5649404c747599b3e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:22 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:57 2010 +0300"
      },
      "message": "KVM: PPC: Don\u0027t reload FPU with invalid values\n\nWhen the guest activates the FPU, we load it up. That\u0027s fine when\nit wasn\u0027t activated before on the host, but if it was we end up\nreloading FPU values from last time the FPU was deactivated on the\nhost without writing the proper values back to the vcpu struct.\n\nThis patch checks if the FPU is enabled already and if so just doesn\u0027t\nbother activating it, making FPU operations survive guest context switches.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8963221d7d7244cc828dfca5649404c747599b3e",
      "tree": "6e563c1e86ca166a70848c105756f0a2cbe2ee8d",
      "parents": [
        "4b389ca2e733b986c5282690e4e0314f000e6228"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:21 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:56 2010 +0300"
      },
      "message": "KVM: PPC: Split instruction reading out\n\nThe current check_ext function reads the instruction and then does\nthe checking. Let\u0027s split the reading out so we can reuse it for\ndifferent functions.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4b389ca2e733b986c5282690e4e0314f000e6228",
      "tree": "ba9ad5948a68352c0ba68d7fc8fc010f4bbc7ec3",
      "parents": [
        "c8027f165228b4c62bad31609d5c9e98ddfb8ef6"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:20 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:54 2010 +0300"
      },
      "message": "KVM: PPC: Book3S_32 guest MMU fixes\n\nThis patch makes the VSID of mapped pages always reflecting all special cases\nwe have, like split mode.\n\nIt also changes the tlbie mask to 0x0ffff000 according to the spec. The mask\nwe used before was incorrect.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c8027f165228b4c62bad31609d5c9e98ddfb8ef6",
      "tree": "4e9b94333a21701f94cf3faa42d860ac9525a3e1",
      "parents": [
        "18978768d89f638165646718c50ced19f2a10164"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:19 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:53 2010 +0300"
      },
      "message": "KVM: PPC: Make DSISR 32 bits wide\n\nDSISR is only defined as 32 bits wide. So let\u0027s reflect that in the\nstructs too.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "18978768d89f638165646718c50ced19f2a10164",
      "tree": "024cb2b334769c0526fe8bf9cc4e221ddaa8ea34",
      "parents": [
        "3eeafd7da2b0293b512abe95c86843fc4ab42add"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:18 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:51 2010 +0300"
      },
      "message": "KVM: PPC: Allow userspace to unset the IRQ line\n\nUserspace can tell us that it wants to trigger an interrupt. But\nso far it can\u0027t tell us that it wants to stop triggering one.\n\nSo let\u0027s interpret the parameter to the ioctl that we have anyways\nto tell us if we want to raise or lower the interrupt line.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n\nv2 -\u003e v3:\n\n - Add CAP for unset irq\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3eeafd7da2b0293b512abe95c86843fc4ab42add",
      "tree": "ccbf875d5c4c069156ed2244acca157b475e8c89",
      "parents": [
        "8a5416db832895b84b85ad0bcbb11d1cce0d3d37"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:17 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:49 2010 +0300"
      },
      "message": "KVM: PPC: Ensure split mode works\n\nOn PowerPC we can go into MMU Split Mode. That means that either\ndata relocation is on but instruction relocation is off or vice\nversa.\n\nThat mode didn\u0027t work properly, as we weren\u0027t always flushing\nentries when going into a new split mode, potentially mapping\ndifferent code or data that we\u0027re supposed to.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "06056bfb944a0302a8f22eb45f09123de7fb417b",
      "tree": "72868a18843f5fcdbb3d933f96f2ca69bc385dc8",
      "parents": [
        "7b06bf2ffa15e119c7439ed0b024d44f66d7b605"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Mar 09 14:13:43 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:15:21 2010 +0300"
      },
      "message": "KVM: PPC: Do not create debugfs if fail to create vcpu\n\nIf fail to create the vcpu, we should not create the debugfs\nfor it.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4f018c513a81ba243165bfc4fcf44254986ad002",
      "tree": "95b94a1676b6b7314274576dbea0b863c73e3aba",
      "parents": [
        "f8c5fae16649445e15656667f72bd51d777f7766"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sun May 09 17:26:47 2010 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:33:04 2010 -0300"
      },
      "message": "KVM: PPC: Keep index within boundaries in kvmppc_44x_emul_tlbwe()\n\nAn index of KVM44x_GUEST_TLB_SIZE is already one too large.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Hollis Blanchard \u003chollis@penguinppc.org\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a595405df9efb89710cd555d29df0e4902f90613",
      "tree": "1e190f38f77e407465e14ae5eb3b468ffbce0ed7",
      "parents": [
        "7e821d3920c130d413c4c7454b0ece59445490db"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "alex@csgraf.de",
        "time": "Mon Feb 22 16:52:14 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:39:25 2010 +0300"
      },
      "message": "KVM: PPC: Destory timer on vcpu destruction\n\nWhen we destory a vcpu, we should also make sure to kill all pending\ntimers that could still be up. When not doing this, hrtimers might\ndereference null pointers trying to call our code.\n\nThis patch fixes spontanious kernel panics seen after closing VMs.\n\nSigned-off-by: Alexander Graf \u003calex@csgraf.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7e821d3920c130d413c4c7454b0ece59445490db",
      "tree": "8c2d6bb66928fca7c19ecd7cedd1cb99cc67efd5",
      "parents": [
        "a1efbe77c1fd7c34a97a76a61520bf23fb3663f6"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "alex@csgraf.de",
        "time": "Mon Feb 22 16:52:08 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:39:21 2010 +0300"
      },
      "message": "KVM: PPC: Memset vcpu to zeros\n\nWhile converting the kzalloc we used to allocate our vcpu struct to\nvmalloc, I forgot to memset the contents to zeros. That broke quite\na lot.\n\nThis patch memsets it to zero again.\n\nSigned-off-by: Alexander Graf \u003calex@csgraf.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "032c3407310c7612db55ab7e1335a21dc2b4690d",
      "tree": "34235b63019986c9d6e49452ef289c6432d59417",
      "parents": [
        "964b6411af10fbddc827fdd3887c49f7f5d2bfd3"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 12:24:33 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:38:04 2010 +0300"
      },
      "message": "KVM: PPC: Allocate vcpu struct using vmalloc\n\nWe used to use get_free_pages to allocate our vcpu struct. Unfortunately\nthat call failed on me several times after my machine had a big enough\nuptime, as memory became too fragmented by then.\n\nFortunately, we don\u0027t need it to be page aligned any more! We can just\nvmalloc it and everything\u0027s great.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "964b6411af10fbddc827fdd3887c49f7f5d2bfd3",
      "tree": "7ee44e0ab94cb66d2dfc7c5ab478c5a717f95d65",
      "parents": [
        "20a340abd3f7a1ca4d11502ec71d52b4f414326e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:47 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:38:01 2010 +0300"
      },
      "message": "KVM: PPC: Simplify kvmppc_load_up_(FPU|VMX|VSX)\n\nWe don\u0027t need as complex code. I had some thinkos while writing it, figuring\nI needed to support PPC32 paths on PPC64 which would have required DR\u003d0, but\neverything just runs fine with DR\u003d1.\n\nSo let\u0027s make the functions simple C call wrappers that reserve some space on\nthe stack for the respective functions to clobber.\n\nFixes out-of-RMA-access (and thus guest FPU loading) on the PS3.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "20a340abd3f7a1ca4d11502ec71d52b4f414326e",
      "tree": "c32e9bfb9645ac5a7e6a8366bbcfdb2017c63569",
      "parents": [
        "c10207fe86b1761c3ad135eb922fdb41bbde3025"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:46 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:37:58 2010 +0300"
      },
      "message": "KVM: PPC: Enable use of secondary htab bucket\n\nWe had code to make use of the secondary htab buckets, but kept that\ndisabled because it was unstable when I put it in.\n\nI checked again if that\u0027s still the case and apparently it was only\nexposing some instability that was there anyways before. I haven\u0027t\nseen any badness related to usage of secondary htab entries so far.\n\nThis should speed up guest memory allocations by quite a bit, because\nwe now have more space to put PTEs in.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c10207fe86b1761c3ad135eb922fdb41bbde3025",
      "tree": "ce0ae22580dd0869b6a80a2523cf0d31f4f6fef4",
      "parents": [
        "831317b605e7d7ce0bdadb3b0f50560fc13cecbf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:45 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:37:47 2010 +0300"
      },
      "message": "KVM: PPC: Add capability for paired singles\n\nWe need to tell userspace that we can emulate paired single instructions.\nSo let\u0027s add a capability export.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "831317b605e7d7ce0bdadb3b0f50560fc13cecbf",
      "tree": "3d1cb766faebc56404f3abd43af0b2f461f584fe",
      "parents": [
        "e5c29e926cd29444d76657398801d49119851a56"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:44 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:27 2010 +0300"
      },
      "message": "KVM: PPC: Implement Paired Single emulation\n\nThe one big thing about the Gekko is paired singles.\n\nPaired singles are an extension to the instruction set, that adds 32 single\nprecision floating point registers (qprs), some SPRs to modify the behavior\nof paired singled operations and instructions to deal with qprs to the\ninstruction set.\n\nUnfortunately, it also changes semantics of existing operations that affect\nsingle values in FPRs. In most cases they get mirrored to the coresponding\nQPR.\n\nThanks to that we need to emulate all FPU operations and all the new paired\nsingle operations too.\n\nIn order to achieve that, we use the just introduced FPU call helpers to\ncall the real FPU whenever the guest wants to modify an FPR. Additionally\nwe also fix up the QPR values along the way.\n\nThat way we can execute paired single FPU operations without implementing a\nsoft fpu.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e5c29e926cd29444d76657398801d49119851a56",
      "tree": "0863e5d85108c3965419ee9eeb68f6925c97faa2",
      "parents": [
        "0564ee8a8611326f28bae2a0455182b458826762"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:43 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:24 2010 +0300"
      },
      "message": "KVM: PPC: Enable program interrupt to do MMIO\n\nWhen we get a program interrupt we usually don\u0027t expect it to perform an\nMMIO operation. But why not? When we emulate paired singles, we can end\nup loading or storing to an MMIO address - and the handling of those\nhappens in the program interrupt handler.\n\nSo let\u0027s teach the program interrupt handler how to deal with EMULATE_MMIO.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "dba2e123e7502870c965e4b445554bc8e56f78b2",
      "tree": "a6a82c6906d4804d8c88f6e903469bbd6faaa16d",
      "parents": [
        "963cf3dc6342fe60bb78c615884537621abca0bc"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:41 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:18 2010 +0300"
      },
      "message": "KVM: PPC: Fix error in BAT assignment\n\nBATs didn\u0027t work. Well, they did, but only up to BAT3. As soon as we\ncame to BAT4 the offset calculation was screwed up and we ended up\noverwriting BAT0-3.\n\nFortunately, Linux hasn\u0027t been using BAT4+. It\u0027s still a good\nidea to write correct code though.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "963cf3dc6342fe60bb78c615884537621abca0bc",
      "tree": "f99b26e7e6eee2235d8fabe448c8bbc6c0a8f24f",
      "parents": [
        "aba3bd7ffe13fad6c4483b49686ad454a4cb409b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:40 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:15 2010 +0300"
      },
      "message": "KVM: PPC: Add helpers to call FPU instructions\n\nTo emulate paired single instructions, we need to be able to call FPU\noperations from within the kernel. Since we don\u0027t want gcc to spill\narbitrary FPU code everywhere, we tell it to use a soft fpu.\n\nSince we know we can really call the FPU in safe areas, let\u0027s also add\nsome calls that we can later use to actually execute real world FPU\noperations on the host\u0027s FPU.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "aba3bd7ffe13fad6c4483b49686ad454a4cb409b",
      "tree": "c42e287e9988dbeccdaba4e86d98cbe54d801653",
      "parents": [
        "5467a97d0f0ac99d2db0281ce1762e85afe16da2"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:39 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:12 2010 +0300"
      },
      "message": "KVM: PPC: Make ext giveup non-static\n\nWe need to call the ext giveup handlers from code outside of book3s.c.\nSo let\u0027s make it non-static.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5467a97d0f0ac99d2db0281ce1762e85afe16da2",
      "tree": "f77e4a7acd17c225626a70a63c9c288854547c0c",
      "parents": [
        "71db4089361b9424314c41fcf92f63ce26263fcc"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:38 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:09 2010 +0300"
      },
      "message": "KVM: PPC: Make software load/store return eaddr\n\nThe Book3S KVM implementation contains some helper functions to load and store\ndata from and to virtual addresses.\n\nUnfortunately, this helper used to keep the physical address it so nicely\nfound out for us to itself. So let\u0027s change that and make it return the\nphysical address it resolved.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "71db4089361b9424314c41fcf92f63ce26263fcc",
      "tree": "584de466d83aff7ddcc4e923b67e975edc31ee89",
      "parents": [
        "e425a6de1a2b427747f5af17bd76630548944ff1"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:37 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:06 2010 +0300"
      },
      "message": "KVM: PPC: Implement mtsr instruction emulation\n\nThe Book3S_32 specifications allows for two instructions to modify segment\nregisters: mtsrin and mtsr.\n\nMost normal operating systems use mtsrin, because it allows to define which\nsegment it wants to change using a register. But since I was trying to run\nan embedded guest, it turned out to be using mtsr with hardcoded values.\n\nSo let\u0027s also emulate mtsr. It\u0027s a valid instruction after all.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e425a6de1a2b427747f5af17bd76630548944ff1",
      "tree": "f6a215801cc6cf86e211fbad6cf15c36e784c3d9",
      "parents": [
        "d1bab74c51eb13cf860ea2f0cd1d4d4605deb292"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:36 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:35:03 2010 +0300"
      },
      "message": "KVM: PPC: Fix typo in book3s_32 debug code\n\nThere\u0027s a typo in the debug ifdef of the book3s_32 mmu emulation. While trying\nto debug something I stumbled across that and wanted to save anyone after me\n(or myself later) from having to debug that again.\n\nSo let\u0027s fix the ifdef.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d1bab74c51eb13cf860ea2f0cd1d4d4605deb292",
      "tree": "3182adf9a58d8454ee844d08c8518fb332218861",
      "parents": [
        "c8c0b6f2f7db22a340f1311602182a25a2378996"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:35 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:59 2010 +0300"
      },
      "message": "KVM: PPC: Preload FPU when possible\n\nThere are some situations when we\u0027re pretty sure the guest will use the\nFPU soon. So we can save the churn of going into the guest, finding out\nit does want to use the FPU and going out again.\n\nThis patch adds preloading of the FPU when it\u0027s reasonable.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c8c0b6f2f7db22a340f1311602182a25a2378996",
      "tree": "479571debbf03831a804a6e8cbc3ba4c986af1df",
      "parents": [
        "d6d549b20776c937cb4717b24ef05baec4768f99"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:34 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:56 2010 +0300"
      },
      "message": "KVM: PPC: Combine extension interrupt handlers\n\nWhen we for example get an Altivec interrupt, but our guest doesn\u0027t support\naltivec, we need to inject a program interrupt, not an altivec interrupt.\n\nThe same goes for paired singles. When an altivec interrupt arrives, we\u0027re\npretty sure we need to emulate the instruction because it\u0027s a paired single\noperation.\n\nSo let\u0027s make all the ext handlers aware that they need to jump to the\nprogram interrupt handler when an extension interrupt arrives that\nwas not supposed to arrive for the guest CPU.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d6d549b20776c937cb4717b24ef05baec4768f99",
      "tree": "10ba0ff79b97840854c548334e9d2008e777769c",
      "parents": [
        "3c402a75ea66e7aafa212077d1f93f1b560d0bd0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:33 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:53 2010 +0300"
      },
      "message": "KVM: PPC: Add Gekko SPRs\n\nThe Gekko has some SPR values that differ from other PPC core values and\nalso some additional ones.\n\nLet\u0027s add support for them in our mfspr/mtspr emulator.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3c402a75ea66e7aafa212077d1f93f1b560d0bd0",
      "tree": "9495dd20f1621db0c02f79b71b29053ce6ed4292",
      "parents": [
        "37f5bca64e206ed97e53f734d7de5b7c5ade3578"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:32 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:50 2010 +0300"
      },
      "message": "KVM: PPC: Add hidden flag for paired singles\n\nThe Gekko implements an extension called paired singles. When the guest wants\nto use that extension, we need to make sure we\u0027re not running the host FPU,\nbecause all FPU instructions need to get emulated to accomodate for additional\noperations that occur.\n\nThis patch adds an hflag to track if we\u0027re in paired single mode or not.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "37f5bca64e206ed97e53f734d7de5b7c5ade3578",
      "tree": "fb5fd1922a9e4c7ae6700a0605a47e7a35f53cfb",
      "parents": [
        "3587d5348ced089666c51411bd9d771fb0b072cf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:31 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:47 2010 +0300"
      },
      "message": "KVM: PPC: Add AGAIN type for emulation return\n\nEmulation of an instruction can have different outcomes. It can succeed,\nfail, require MMIO, do funky BookE stuff - or it can just realize something\u0027s\nodd and will be fixed the next time around.\n\nExactly that is what EMULATE_AGAIN means. Using that flag we can now tell\nthe caller that nothing happened, but we still want to go back to the\nguest and see what happens next time we come around.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3587d5348ced089666c51411bd9d771fb0b072cf",
      "tree": "245573252a8e40342bc777893f9bff5c5beac264",
      "parents": [
        "b104d06632d08957f384ff7403f609fb5dfb9cbd"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:30 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:44 2010 +0300"
      },
      "message": "KVM: PPC: Teach MMIO Signedness\n\nThe guest I was trying to get to run uses the LHA and LHAU instructions.\nThose instructions basically do a load, but also sign extend the result.\n\nSince we need to fill our registers by hand when doing MMIO, we also need\nto sign extend manually.\n\nThis patch implements sign extended MMIO and the LHA(U) instructions.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b104d06632d08957f384ff7403f609fb5dfb9cbd",
      "tree": "a9349425bf2c1c170dcaaa358bf5978c673cc5cf",
      "parents": [
        "c62e096dec032c82bae60545623c24743116f5dd"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Feb 19 11:00:29 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 25 12:34:41 2010 +0300"
      },
      "message": "KVM: PPC: Enable MMIO to do 64 bits, fprs and qprs\n\nRight now MMIO access can only happen for GPRs and is at most 32 bit wide.\nThat\u0027s actually enough for almost all types of hardware out there.\n\nUnfortunately, the guest I was using used FPU writes to MMIO regions, so\nit ended up writing 64 bit MMIOs using FPRs and QPRs.\n\nSo let\u0027s add code to handle those odd cases too.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d",
      "tree": "ae8ce63cecab98c036c0d76422de42cf78e042f4",
      "parents": [
        "77662e0028c7c63e34257fda03ff9625c59d939d"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Apr 12 19:35:35 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Apr 20 13:06:55 2010 +0300"
      },
      "message": "KVM: fix the handling of dirty bitmaps to avoid overflows\n\nInt is not long enough to store the size of a dirty bitmap.\n\nThis patch fixes this problem with the introduction of a wrapper\nfunction to calculate the sizes of dirty bitmaps.\n\nNote: in mark_page_dirty(), we have to consider the fact that\n  __set_bit() takes the offset as int, not long.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
      "tree": "d454f518db51a4de700cf3dcd4c3c71ee7288b47",
      "parents": [
        "9467c4fdd66f6810cecef0f1173330f3c6e67d45",
        "d2be1651b736002e0c76d7095d6c0ba77b4a897c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:12:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:12:34 2010 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.34\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.34\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (145 commits)\n  KVM: x86: Add KVM_CAP_X86_ROBUST_SINGLESTEP\n  KVM: VMX: Update instruction length on intercepted BP\n  KVM: Fix emulate_sys[call, enter, exit]()\u0027s fault handling\n  KVM: Fix segment descriptor loading\n  KVM: Fix load_guest_segment_descriptor() to inject page fault\n  KVM: x86 emulator: Forbid modifying CS segment register by mov instruction\n  KVM: Convert kvm-\u003erequests_lock to raw_spinlock_t\n  KVM: Convert i8254/i8259 locks to raw_spinlocks\n  KVM: x86 emulator: disallow opcode 82 in 64-bit mode\n  KVM: x86 emulator: code style cleanup\n  KVM: Plan obsolescence of kernel allocated slots, paravirt mmu\n  KVM: x86 emulator: Add LOCK prefix validity checking\n  KVM: x86 emulator: Check CPL level during privilege instruction emulation\n  KVM: x86 emulator: Fix popf emulation\n  KVM: x86 emulator: Check IOPL level during io instruction emulation\n  KVM: x86 emulator: fix memory access during x86 emulation\n  KVM: x86 emulator: Add Virtual-8086 mode of emulation\n  KVM: x86 emulator: Add group9 instruction decoding\n  KVM: x86 emulator: Add group8 instruction decoding\n  KVM: do not store wqh in irqfd\n  ...\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "daf5e27109c8c16c987e955cc6abbbc0af050edd",
      "tree": "70456cce995c63895d50d921e6e0c36a9678de19",
      "parents": [
        "4b7bb9210047fe880bb71e6273c3a4526799dbd7"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Tue Feb 02 19:44:35 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:10 2010 -0300"
      },
      "message": "KVM: ppc/booke: Set ESR and DEAR when inject interrupt to guest\n\nOld method prematurely sets ESR and DEAR.\nMove this part after we decide to inject interrupt,\nwhich is more like hardware behave.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nAcked-by: Hollis Blanchard \u003chollis@penguinppc.org\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "da15bf436bc9586603b47b39244157431fa38b56",
      "tree": "2131a64e8265649d0d7b27a3c357dc9058b0490c",
      "parents": [
        "a9040f274285c3c962a08b177ac5764b4a93df07"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Fri Jan 22 19:36:53 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:06 2010 -0300"
      },
      "message": "KVM: PPC E500: fix tlbcfg emulation\n\ncommit 55fb1027c1cf9797dbdeab48180da530e81b1c39 doesn\u0027t update tlbcfg correctly.\nFix it.\n\nAnd since guest OS likes \u0027fixed\u0027 hardware,\ninitialize tlbcfg everytime when guest access is useless.\nSo move this part to init code.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a9040f274285c3c962a08b177ac5764b4a93df07",
      "tree": "7e0d4cede5be67d8b32ca33b63a1da7e758c2d3e",
      "parents": [
        "d86be077a4d62e5615e97674dab8d894ce582b09"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Fri Jan 22 18:50:30 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:05 2010 -0300"
      },
      "message": "KVM: PPC: Add PVR/PIR init for E500\n\ncommit 513579e3a391a3874c478a8493080822069976e8 change the way\nwe emulate PVR/PIR,\nwhich left PVR/PIR uninitialized on E500, and make guest puzzled.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d86be077a4d62e5615e97674dab8d894ce582b09",
      "tree": "15f84f49b54c3bef6e22c1c72e6138a2d7d4ebc6",
      "parents": [
        "d7fa6ab217aeed26293e01d7b64f79a1ac57e823"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Fri Jan 22 18:50:29 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:05 2010 -0300"
      },
      "message": "KVM: PPC E500: Add register l1csr0 emulation\n\nLatest kernel start to access l1csr0 to contron L1.\nWe just tell guest no operation is on going.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "647492047763c3ee8fe51ecf9a04f39040aa495b",
      "tree": "acdd836ad2695f9e50725c51b667bcc1acb81765",
      "parents": [
        "ccd469362e826261ccc261c4c36fb0a346338222"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Jan 19 12:45:23 2010 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:01 2010 -0300"
      },
      "message": "KVM: fix cleanup_srcu_struct on vm destruction\n\ncleanup_srcu_struct on VM destruction remains broken:\n\nBUG: unable to handle kernel paging request at ffffffffffffffff\nIP: [\u003cffffffff802533d2\u003e] srcu_read_lock+0x16/0x21\nRIP: 0010:[\u003cffffffff802533d2\u003e]  [\u003cffffffff802533d2\u003e] srcu_read_lock+0x16/0x21\nCall Trace:\n [\u003cffffffffa05354c4\u003e] kvm_arch_vcpu_uninit+0x1b/0x48 [kvm]\n [\u003cffffffffa05339c6\u003e] kvm_vcpu_uninit+0x9/0x15 [kvm]\n [\u003cffffffffa0569f7d\u003e] vmx_free_vcpu+0x7f/0x8f [kvm_intel]\n [\u003cffffffffa05357b5\u003e] kvm_arch_destroy_vm+0x78/0x111 [kvm]\n [\u003cffffffffa053315b\u003e] kvm_put_kvm+0xd4/0xfe [kvm]\n\nMove it to kvm_arch_destroy_vm.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nReported-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\n"
    },
    {
      "commit": "a76f8497fd475028869f4b45087d80df14d74a50",
      "tree": "02db4225c8ff20e42973a4551569f7b6bbfd0ead",
      "parents": [
        "f7adbba1e5d464b0d449adac1eb2519be6be9728"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 15 14:49:14 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:56 2010 -0300"
      },
      "message": "KVM: PPC: Move Shadow MSR calculation to function\n\nWe keep a copy of the MSR around that we use when we go into the guest context.\n\nThat copy is basically the normal process MSR flags OR some allowed guest\nspecified MSR flags. We also AND the external providers into this, so we get\ntraps on FPU usage when we haven\u0027t activated it on the host yet.\n\nCurrently this calculation is part of the set_msr function that we use whenever\nwe set the guest MSR value. With the external providers, we also have the case\nthat we don\u0027t modify the guest\u0027s MSR, but only want to update the shadow MSR.\n\nSo let\u0027s move the shadow MSR parts to a separate function that we then use\nwhenever we only need to update it. That way we don\u0027t accidently kvm_vcpu_block\nwithin a preempt notifier context.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f7adbba1e5d464b0d449adac1eb2519be6be9728",
      "tree": "5a7580ac34b8abfb976525b9802d860e01cc3581",
      "parents": [
        "1c0006d8d131585095c4a27dbfcfb3970807a35e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 15 14:49:13 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:56 2010 -0300"
      },
      "message": "KVM: PPC: Keep SRR1 flags around in shadow_msr\n\nSRR1 stores more information that just the MSR value. It also stores\nvaluable information about the type of interrupt we received, for\nexample whether the storage interrupt we just got was because of a\nmissing htab entry or not.\n\nWe use that information to speed up the exit path.\n\nNow if we get preempted before we can interpret the shadow_msr values,\nwe get into vcpu_put which then calls the MSR handler, which then sets\nall the SRR1 information bits in shadow_msr to 0. Great.\n\nSo let\u0027s preserve the SRR1 specific bits in shadow_msr whenever we set\nthe MSR. They don\u0027t hurt.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "180a34d2d3fda0151154f9cead4aab9dddd3d0c1",
      "tree": "d55552acc176645c374496b988823071e50bca23",
      "parents": [
        "d5e528136cda31a32ff7d1eaa8d06220eb443781"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 15 14:49:11 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:52 2010 -0300"
      },
      "message": "KVM: PPC: Add support for FPU/Altivec/VSX\n\nWhen our guest starts using either the FPU, Altivec or VSX we need to make\nsure Linux knows about it and sneak into its process switching code\naccordingly.\n\nThis patch makes accesses to the above parts of the system work inside the\nVM.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d5e528136cda31a32ff7d1eaa8d06220eb443781",
      "tree": "07a90874f9885e26e2089f4cdf473675d01859a9",
      "parents": [
        "fbad5f1dfdd097ca282ee3a796986e11eb5a971f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 15 14:49:10 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:52 2010 -0300"
      },
      "message": "KVM: PPC: Add helper functions to call real mode loaders\n\nLinux contains quite some bits of code to load FPU, Altivec and VSX lazily for\na task. It calls those bits in real mode, coming from an interrupt handler.\n\nFor KVM we better reuse those, so let\u0027s wrap a bit of trampoline magic around\nthem and then we can call them from normal module code.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4b5c9b7f9bdd76a3c860731db08bfc6758e96e29",
      "tree": "b2e5424d7c965e3cf343f685978814bd817b9066",
      "parents": [
        "5f2b105a1d6a137c8cfb2792b79128db965880a8"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Jan 10 03:27:47 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:50 2010 -0300"
      },
      "message": "KVM: PPC: Make large pages work\n\nAn SLB entry contains two pieces of information related to size:\n\n  1) PTE size\n  2) SLB size\n\nThe L bit defines the PTE be \"large\" (usually means 16MB),\nSLB_VSID_B_1T defines that the SLB should span 1 GB instead of the\ndefault 256MB.\n\nApparently I messed things up and just put those two in one box,\nshaked it heavily and came up with the current code which handles\nlarge pages incorrectly, because it also treats large page SLB entries\nas \"1TB\" segment entries.\n\nThis patch splits those two features apart, making Linux guests boot\neven when they have \u003e 256MB.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5f2b105a1d6a137c8cfb2792b79128db965880a8",
      "tree": "2dbc8b513c8d9c2aea40804f9f31b34442d0be41",
      "parents": [
        "ff1ca3f983c4180018dbf5e02f2af06f86ef6d03"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Jan 10 03:27:32 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:49 2010 -0300"
      },
      "message": "KVM: PPC: Pass through program interrupts\n\nWhen we get a program interrupt in guest kernel mode, we try to emulate the\ninstruction.\n\nIf that doesn\u0027t fail, we report to the user and try again - at the exact same\ninstruction pointer. So if the guest kernel really does trigger an invalid\ninstruction, we loop forever.\n\nSo let\u0027s better go and forward program exceptions to the guest when we don\u0027t\nknow the instruction we\u0027re supposed to emulate.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ff1ca3f983c4180018dbf5e02f2af06f86ef6d03",
      "tree": "86bfaefb5935a619024d823b71ceba11aaae6bf2",
      "parents": [
        "d35feb26ef7e9fbef7643051be5f0773662b1f91"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:09 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:49 2010 -0300"
      },
      "message": "KVM: PPC: Pass program interrupt flags to the guest\n\nWhen we need to reinject a program interrupt into the guest, we also need to\nreinject the corresponding flags into the guest.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d35feb26ef7e9fbef7643051be5f0773662b1f91",
      "tree": "f06668b64bb53b4ce57a9b468fed8f08d5467f93",
      "parents": [
        "25a8a02d26a71c28e26417a3520c653c2d40af6b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:08 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:49 2010 -0300"
      },
      "message": "KVM: PPC: Fix HID5 setting code\n\nThe code to unset HID5.dcbz32 is broken.\nThis patch makes it do the right rotate magic.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "25a8a02d26a71c28e26417a3520c653c2d40af6b",
      "tree": "9d8126991a73f8e33bca3230115bd5ef53c67eb4",
      "parents": [
        "021ec9c69f8b7b20f46296cc76cc4cb341b25191"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:07 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:49 2010 -0300"
      },
      "message": "KVM: PPC: Emulate trap SRR1 flags properly\n\nBook3S needs some flags in SRR1 to get to know details about an interrupt.\n\nOne such example is the trap instruction. It tells the guest kernel that\na program interrupt is due to a trap using a bit in SRR1.\n\nThis patch implements above behavior, making WARN_ON behave like WARN_ON.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "021ec9c69f8b7b20f46296cc76cc4cb341b25191",
      "tree": "304f086761e7c01fb412c8319b89ff8b6fb2dde7",
      "parents": [
        "bc90923e27908ef65aa8aaad2f234e18b5273c78"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:06 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:49 2010 -0300"
      },
      "message": "KVM: PPC: Call SLB patching code in interrupt safe manner\n\nCurrently we\u0027re racy when doing the transition from IR\u003d1 to IR\u003d0, from\nthe module memory entry code to the real mode SLB switching code.\n\nTo work around that I took a look at the RTAS entry code which is faced\nwith a similar problem and did the same thing:\n\n  A small helper in linear mapped memory that does mtmsr with IR\u003d0 and\n  then RFIs info the actual handler.\n\nThanks to that trick we can safely take page faults in the entry code\nand only need to be really wary of what to do as of the SLB switching\npart.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bc90923e27908ef65aa8aaad2f234e18b5273c78",
      "tree": "58f95e4a6c50cefd7e07e7f28bcf36c88f28bd49",
      "parents": [
        "b4433a7cceed59714b0778e1ace624befdd15ded"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:05 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:49 2010 -0300"
      },
      "message": "KVM: PPC: Get rid of unnecessary RFI\n\nUsing an RFI in IR\u003d1 is dangerous. We need to set two SRRs and then do an RFI\nwithout getting interrupted at all, because every interrupt could potentially\noverwrite the SRR values.\n\nFortunately, we don\u0027t need to RFI in at least this particular case of the code,\nso we can just replace it with an mtmsr and b.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b4433a7cceed59714b0778e1ace624befdd15ded",
      "tree": "745f0477d7368155cddc363fed6e8f3dc28f83cd",
      "parents": [
        "7e57cba06074da84d7c24d8c3f44040d2d8c88ac"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:04 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:48 2010 -0300"
      },
      "message": "KVM: PPC: Implement \u0027skip instruction\u0027 mode\n\nTo fetch the last instruction we were interrupted on, we enable DR in early\nexit code, where we are still in a very transitional phase between guest\nand host state.\n\nMost of the time this seemed to work, but another CPU can easily flush our\nTLB and HTAB which makes us go in the Linux page fault handler which totally\nbreaks because we still use the guest\u0027s SLB entries.\n\nTo work around that, let\u0027s introduce a second KVM guest mode that defines\nthat whenever we get a trap, we don\u0027t call the Linux handler or go into\nthe KVM exit code, but just jump over the faulting instruction.\n\nThat way a potentially bad lwz doesn\u0027t trigger any faults and we can later\non interpret the invalid instruction we fetched as \"fetch didn\u0027t work\".\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7e57cba06074da84d7c24d8c3f44040d2d8c88ac",
      "tree": "e99519ca301b887de4d689421e7a954f1c7792e4",
      "parents": [
        "992b5b29b5ae254c416c62faf98d59a6cf970027"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:03 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:48 2010 -0300"
      },
      "message": "KVM: PPC: Use PACA backed shadow vcpu\n\nWe\u0027re being horribly racy right now. All the entry and exit code hijacks\nrandom fields from the PACA that could easily be used by different code in\ncase we get interrupted, for example by a #MC or even page fault.\n\nAfter discussing this with Ben, we figured it\u0027s best to reserve some more\nspace in the PACA and just shove off some vcpu state to there.\n\nThat way we can drastically improve the readability of the code, make it\nless racy and less complex.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "992b5b29b5ae254c416c62faf98d59a6cf970027",
      "tree": "52b4e5a8226261cc936225636d58d9b7e8c46976",
      "parents": [
        "8e5b26b55a8b6aee2c789b1d20ec715f9e4bea5c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:02 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:47 2010 -0300"
      },
      "message": "KVM: PPC: Add helpers for CR, XER\n\nWe now have helpers for the GPRs, so let\u0027s also add some for CR and XER.\n\nHaving them in the PACA simplifies code a lot, as we don\u0027t need to care\nabout where to store CC or not to overflow any integers.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8e5b26b55a8b6aee2c789b1d20ec715f9e4bea5c",
      "tree": "4e2d003852ce327a47153b6c100239c6d8e1418f",
      "parents": [
        "0d178975d0a5afe5e0fd3211bd1397905b225be5"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Jan 08 02:58:01 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:47 2010 -0300"
      },
      "message": "KVM: PPC: Use accessor functions for GPR access\n\nAll code in PPC KVM currently accesses gprs in the vcpu struct directly.\n\nWhile there\u0027s nothing wrong with that wrt the current way gprs are stored\nand loaded, it doesn\u0027t suffice for the PACA acceleration that will follow\nin this patchset.\n\nSo let\u0027s just create little wrapper inline functions that we call whenever\na GPR needs to be read from or written to. The compiled code shouldn\u0027t really\nchange at all for now.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "97c4cfbe890a4ad82dde8660008d42b7b05dc488",
      "tree": "9efc0daf1ec644291a10e8e6c91ff212f91732e1",
      "parents": [
        "b480f780f071a068810ccd0e49c1daa210bfbeab"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jan 04 22:19:25 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:46 2010 -0300"
      },
      "message": "KVM: PPC: Enable lightweight exits again\n\nThe PowerPC C ABI defines that registers r14-r31 need to be preserved across\nfunction calls. Since our exit handler is written in C, we can make use of that\nand don\u0027t need to reload r14-r31 on every entry/exit cycle.\n\nThis technique is also used in the BookE code and is called \"lightweight exits\"\nthere. To follow the tradition, it\u0027s called the same in Book3S.\n\nSo far this optimization was disabled though, as the code didn\u0027t do what it was\nexpected to do, but failed to work.\n\nThis patch fixes and enables lightweight exits again.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b480f780f071a068810ccd0e49c1daa210bfbeab",
      "tree": "fe3e48769093e0dcbfacb0b371c9dc3e7e84f6fb",
      "parents": [
        "46a929bc15fcd48e1e0e770a44040a6949cae133"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jan 04 22:19:22 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:46 2010 -0300"
      },
      "message": "KVM: PPC: Fix typo in rebolting code\n\nWhen we\u0027re loading bolted entries into the SLB again, we\u0027re checking if an\nentry is in use and only slbmte it when it is.\n\nUnfortunately, the check always goes to the skip label of the first entry,\nresulting in an endless loop when it actually gets triggered.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "79fac95ecfa3969aab8119d37ccd7226165f933a",
      "tree": "4103169c7fd2b7fb1ba95dae2db6b3f365476b9d",
      "parents": [
        "f656ce0185cabbbb0cf96877306879661297c7ad"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:26 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:45 2010 -0300"
      },
      "message": "KVM: convert slots_lock to a mutex\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    }
  ],
  "next": "f7784b8ec9b6a041fa828cfbe9012fe51933f5ac"
}
