)]}'
{
  "log": [
    {
      "commit": "218d169c4c856eee7df56ea0fb8cbb32167e63d3",
      "tree": "42ccabd9dacb53056a849ff536cbd97cdada5cc5",
      "parents": [
        "be85669886776faa496b026b344691c325727731"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:55 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:49 2010 +0300"
      },
      "message": "PPC: Export SWITCH_FRAME_SIZE\n\nWe need the SWITCH_FRAME_SIZE define on Book3S_32 now too.\nSo let\u0027s export it unconditionally.\n\nCC: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "be85669886776faa496b026b344691c325727731",
      "tree": "f9388b47d3ddb9245e493d74f00a0698621a10f3",
      "parents": [
        "07b0907db19d28dc74e7927d565655690b96daf7"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:48 2010 +0300"
      },
      "message": "KVM: PPC: Export MMU variables\n\nOur shadow MMU code needs to know where the HTAB is located and how\nbig it is. So we need some variables from the kernel exported to\nmodule space if KVM is built as a module.\n\nCC: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "97e492558f423d99c51eb934506b7a3d7c64613b",
      "tree": "bcd578e91456e46cd4d22f94d20897a74c4f983d",
      "parents": [
        "0474b259d0366a70ea83b94534c333093c189421"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:51 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:43 2010 +0300"
      },
      "message": "KVM: PPC: Add SVCPU to Book3S_32\n\nWe need to keep the pointer to the shadow vcpu somewhere accessible from\nwithin really early interrupt code. The best fit I found was the thread\nstruct, as that resides in an SPRG.\n\nSo let\u0027s put a pointer to the shadow vcpu in the thread struct and add\nan asm-offset so we can find it.\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": "0604675fe17f68741730cebe74422605bb79d972",
      "tree": "9eea58b6952f3d49be3bda9e957af104c191fe47",
      "parents": [
        "56db45a5cd06e3a6a7823a8cd7541e6bafe8427b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:44 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:32 2010 +0300"
      },
      "message": "KVM: PPC: Use now shadowed vcpu fields\n\nThe shadow vcpu now contains some fields we don\u0027t use from the vcpu anymore.\nAccess to them happens using inline functions that happily use the shadow\nvcpu fields.\n\nSo let\u0027s now ifdef them out to booke only and add asm-offsets.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "56db45a5cd06e3a6a7823a8cd7541e6bafe8427b",
      "tree": "0c83bef8c15a4e18068952c1a37a6bfab435a165",
      "parents": [
        "00c3a37ca332f54f2187720e51f7c0e18e91d7c9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:43 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:30 2010 +0300"
      },
      "message": "PPC: Add STLU\n\nFor assembly code there are several \"long\" load and store defines already.\nThe one that\u0027s missing is the typical stack store, stdu/stwu.\n\nSo let\u0027s add that define as well, making my KVM code happy.\n\nCC: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "66bb170655799a0149df0844fb8232f27e54323c",
      "tree": "54b6db500ad01fde269c55bb6b5d06518908d82c",
      "parents": [
        "8c60b9fb0f9dca8adb0143456245041e7a036c2f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:24 2010 +0300"
      },
      "message": "KVM: PPC: Add fields to shadow vcpu\n\nAfter a lot of thought on how to make the entry / exit code easier,\nI figured it\u0027d be clever to put even more register state into the\nshadow vcpu. That way we have more registers available to use, making\nthe code easier to read.\n\nSo this patch adds a few new fields to that shadow vcpu. Later on we\nwill remove the originals from the vcpu and paca.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8c60b9fb0f9dca8adb0143456245041e7a036c2f",
      "tree": "f9dd2c20404584c056643255b86dd275af236689",
      "parents": [
        "3ae07890dd40e40fa78270900894fba3bb448439"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:38 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:23 2010 +0300"
      },
      "message": "KVM: PPC: Add kvm_book3s_32.h\n\nIn analogy to the 64 bit specific header file, this is the 32 bit\npendant. With this in place we can just always call to_svcpu and\nbe assured we get the right pointer anywhere.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3ae07890dd40e40fa78270900894fba3bb448439",
      "tree": "bb980cea0e4e5d9dbe32551df9049daee3efa434",
      "parents": [
        "c83ec269e6931edf61abe1ed777ebb867b06a85c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:37 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:21 2010 +0300"
      },
      "message": "KVM: PPC: Add kvm_book3s_64.h\n\nIn the process of generalizing as much code as possible, I also moved\nthe shadow vcpu code together to a generic book3s file. Unfortunately\nthe location of the shadow vcpu is different on 32 and 64 bit, so we\nneed a wrapper function to tell us where it is.\n\nThat sounded like a perfect fit for a subarch specific header file.\nHere we can put anything that needs to be different between those two.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c83ec269e6931edf61abe1ed777ebb867b06a85c",
      "tree": "a346c886a435cb07c35c20c5f6ad685ab37535de",
      "parents": [
        "0737279427bef48f552b3ab63a6c0ba7491fe29f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Apr 16 00:11:36 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:20 2010 +0300"
      },
      "message": "PPC: Split context init/destroy functions\n\nWe need to reserve a context from KVM to make sure we have our own\nsegment space. While we did that split for Book3S_64 already, 32 bit\nis still outstanding.\n\nSo let\u0027s split it now.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCC: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "77a1a715707d0f60ce0cfbe44070527a0a561f01",
      "tree": "5bc32478e0f0fe77158d975df67471492ef124a6",
      "parents": [
        "2a059bf444dd7758ccf48f217cd981570132be85"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Apr 16 16:21:42 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:12 2010 +0300"
      },
      "message": "KVM: MMU: cleanup for function unaccount_shadowed()\n\nSince gfn is not changed in the for loop, we do not need to call\ngfn_to_memslot_unaliased() under the loop, and it is safe to move\nit out.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2a059bf444dd7758ccf48f217cd981570132be85",
      "tree": "db0b01ed15d38a36e581156b4dd1394d7a4962c9",
      "parents": [
        "b2fc15a5ef6679a5f87fee012a836294532bc628"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Fri Apr 16 17:19:48 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:10 2010 +0300"
      },
      "message": "KVM: Get rid of dead function gva_to_page()\n\nNobody use gva_to_page() anymore, get rid of it.\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b2fc15a5ef6679a5f87fee012a836294532bc628",
      "tree": "7d6b7917733e52a41cb140dd23c24d78afca8ecc",
      "parents": [
        "814a59d2077d630cffca7e2878c5b6f9b91ba725"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Fri Apr 16 17:18:54 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:09 2010 +0300"
      },
      "message": "KVM: MMU: Remove unused varialbe in rmap_next()\n\nRemove unused varialbe in rmap_next()\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "814a59d2077d630cffca7e2878c5b6f9b91ba725",
      "tree": "95de3baeaeb1f1e4cf78b87065bfd9f1d14a575c",
      "parents": [
        "51fb60d81b483ae75614d401e7d4271884894113"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Fri Apr 16 17:18:01 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:07 2010 +0300"
      },
      "message": "KVM: MMU: Make use of is_large_pte() in walker\n\nMake use of is_large_pte() instead of checking PT_PAGE_SIZE_MASK\nbit directly.\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "51fb60d81b483ae75614d401e7d4271884894113",
      "tree": "2f5ef2c53ee0f3342bd42c3c72193d8cd3f824c3",
      "parents": [
        "66cbff59a16017234ea6c80ecddfc17b27a83504"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Fri Apr 16 17:16:40 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:06 2010 +0300"
      },
      "message": "KVM: MMU: Move sync_page() first pte address calculation out of loop\n\nMove first pte address calculation out of loop to save some cycles.\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "66cbff59a16017234ea6c80ecddfc17b27a83504",
      "tree": "e2a1dde14cb9b60434f4f8c4bef424817c2b2df4",
      "parents": [
        "87bc3bf972af0585ba5415aebbc8bd09b6a2ee94"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sat Apr 17 17:00:19 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:04 2010 +0300"
      },
      "message": "KVM: do not call hardware_disable() on CPU_UP_CANCELED\n\nWhen CPU_UP_CANCELED, hardware_enable() has not been called at the CPU\nwhich is going up because raw_notifier_call_chain(CPU_ONLINE)\nhas not been called for this cpu.\n\nDrop the handling for CPU_UP_CANCELED.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "87bc3bf972af0585ba5415aebbc8bd09b6a2ee94",
      "tree": "f751c8d6dca7a7b5e703e63f7d4f2834977ebf46",
      "parents": [
        "90d83dc3d49f5101addae962ccc1b4aff66b68d8"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Apr 19 17:25:53 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:03 2010 +0300"
      },
      "message": "KVM: MMU: Drop cr4.pge from shadow page role\n\nSince commit bf47a760f66ad, we no longer handle ptes with the global bit\nset specially, so there is no reason to distinguish between shadow pages\ncreated with cr4.gpe set and clear.\n\nSuch tracking is expensive when the guest toggles cr4.pge, so drop it.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "90d83dc3d49f5101addae962ccc1b4aff66b68d8",
      "tree": "855aec81663eff4597ab276f13d449be9b798ec2",
      "parents": [
        "9beeaa2d689842f7760aa16c512e6bb8182d38b6"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Apr 19 17:41:23 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:01 2010 +0300"
      },
      "message": "KVM: use the correct RCU API for PROVE_RCU\u003dy\n\nThe RCU/SRCU API have already changed for proving RCU usage.\n\nI got the following dmesg when PROVE_RCU\u003dy because we used incorrect API.\nThis patch coverts rcu_deference() to srcu_dereference() or family API.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: suspicious rcu_dereference_check() usage. ]\n---------------------------------------------------\narch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 0\n2 locks held by qemu-system-x86/8550:\n #0:  (\u0026kvm-\u003eslots_lock){+.+.+.}, at: [\u003cffffffffa011a6ac\u003e] kvm_set_memory_region+0x29/0x50 [kvm]\n #1:  (\u0026(\u0026kvm-\u003emmu_lock)-\u003erlock){+.+...}, at: [\u003cffffffffa012262d\u003e] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]\n\nstack backtrace:\nPid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27\nCall Trace:\n [\u003cffffffff8106c59e\u003e] lockdep_rcu_dereference+0xaa/0xb3\n [\u003cffffffffa012f6c1\u003e] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]\n [\u003cffffffffa012263e\u003e] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]\n [\u003cffffffffa011a5d7\u003e] __kvm_set_memory_region+0x636/0x6e2 [kvm]\n [\u003cffffffffa011a6ba\u003e] kvm_set_memory_region+0x37/0x50 [kvm]\n [\u003cffffffffa015e956\u003e] vmx_set_tss_addr+0x46/0x5a [kvm_intel]\n [\u003cffffffffa0126592\u003e] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]\n [\u003cffffffff810a8692\u003e] ? unlock_page+0x27/0x2c\n [\u003cffffffff810bf879\u003e] ? __do_fault+0x3a9/0x3e1\n [\u003cffffffffa011b12f\u003e] kvm_vm_ioctl+0x364/0x38d [kvm]\n [\u003cffffffff81060cfa\u003e] ? up_read+0x23/0x3d\n [\u003cffffffff810f3587\u003e] vfs_ioctl+0x32/0xa6\n [\u003cffffffff810f3b19\u003e] do_vfs_ioctl+0x495/0x4db\n [\u003cffffffff810e6b2f\u003e] ? fget_light+0xc2/0x241\n [\u003cffffffff810e416c\u003e] ? do_sys_open+0x104/0x116\n [\u003cffffffff81382d6d\u003e] ? retint_swapgs+0xe/0x13\n [\u003cffffffff810f3ba6\u003e] sys_ioctl+0x47/0x6a\n [\u003cffffffff810021db\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9beeaa2d689842f7760aa16c512e6bb8182d38b6",
      "tree": "62cea0772127c4b1c0b476e46dec6830d36809c1",
      "parents": [
        "3246af0ece6c61689847417977733f0b12dc4b6f",
        "a1645ce12adb6c9cc9e19d7695466204e3f017fe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Apr 19 12:52:53 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:58 2010 +0300"
      },
      "message": "Merge branch \u0027perf\u0027\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3246af0ece6c61689847417977733f0b12dc4b6f",
      "tree": "34ce82a3f2bac9dc6073b5f89bf6358cb7d9f2f1",
      "parents": [
        "acb5451789f21ad51215897bb8f9306a05e8acd4"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Apr 16 16:35:54 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:56 2010 +0300"
      },
      "message": "KVM: MMU: cleanup for hlist walk restart\n\nQuote from Avi:\n\n|Just change the assignment to a \u0027goto restart;\u0027 please,\n|I don\u0027t like playing with list_for_each internals.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "acb5451789f21ad51215897bb8f9306a05e8acd4",
      "tree": "7ab1d73a9b4fbbc82a5a2a98dda701a81c4eaf33",
      "parents": [
        "6b18493d60e7f54a0feb771fa141b5fcb72ce1e4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Apr 15 21:03:50 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:55 2010 +0300"
      },
      "message": "KVM: prevent spurious exit to userspace during task switch emulation.\n\nIf kvm_task_switch() fails code exits to userspace without specifying\nexit reason, so the previous exit reason is reused by userspace. Fix\nthis by specifying exit reason correctly.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6b18493d60e7f54a0feb771fa141b5fcb72ce1e4",
      "tree": "7ed0250be3a93a0a2f4384ec25821e5ecb589305",
      "parents": [
        "0571d366e0be571be14581cb5e28d9c3f6e0d0b1"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Apr 16 21:29:17 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:53 2010 +0300"
      },
      "message": "KVM: MMU: remove unused parameter in mmu_parent_walk()\n\n\u0027vcpu\u0027 is unused, remove it\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0571d366e0be571be14581cb5e28d9c3f6e0d0b1",
      "tree": "560a0ff82b54e3718d5606bc5aae9463080d0eba",
      "parents": [
        "1b8c7934a4063653095fb9fa88f9169f5b52f52b"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Apr 16 21:27:54 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:52 2010 +0300"
      },
      "message": "KVM: MMU: reduce \u0027struct kvm_mmu_page\u0027 size\n\nDefine \u0027multimapped\u0027 as \u0027bool\u0027.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1b8c7934a4063653095fb9fa88f9169f5b52f52b",
      "tree": "e182c8028571d173659d114cb02fa2554523ba34",
      "parents": [
        "19d04437267f00c7b50343513693b7a3174ff908"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Apr 16 21:23:41 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:50 2010 +0300"
      },
      "message": "KVM: MMU: remove unused struct kvm_unsync_walk\n\nRemove \u0027struct kvm_unsync_walk\u0027 since it\u0027s not used.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "19d04437267f00c7b50343513693b7a3174ff908",
      "tree": "004f50464c662ee472b03149678bc3ca8af461c8",
      "parents": [
        "5b7e0102ae744e9175b905f4267a81393bdb7a75"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Apr 15 12:29:50 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:49 2010 +0300"
      },
      "message": "KVM: fix emulator_task_switch() return value.\n\nemulator_task_switch() should return -1 for failure and 0 for success to\nthe caller, just like x86_emulate_insn() does.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5b7e0102ae744e9175b905f4267a81393bdb7a75",
      "tree": "763f8ac81b9ebd0bebe316fd016cf0a98f33b9c7",
      "parents": [
        "e269fb2189fb86d79d64c0ca74c6c1a549ad4aa3"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Apr 14 19:20:03 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:47 2010 +0300"
      },
      "message": "KVM: MMU: Replace role.glevels with role.cr4_pae\n\nThere is no real distinction between glevels\u003d3 and glevels\u003d4; both have\nexactly the same format and the code is treated exactly the same way.  Drop\nrole.glevels and replace is with role.cr4_pae (which is meaningful).  This\nsimplifies the code a bit.\n\nAs a side effect, it allows sharing shadow page tables between pae and\nlongmode guest page tables at the same guest page.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e269fb2189fb86d79d64c0ca74c6c1a549ad4aa3",
      "tree": "627c658efaec155d1f295d1fc7b8abded9d4f861",
      "parents": [
        "0760d44868f351ba30fc9a08cf1830e46aa72466"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Apr 14 15:51:09 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:46 2010 +0300"
      },
      "message": "KVM: x86: Push potential exception error code on task switches\n\nWhen a fault triggers a task switch, the error code, if existent, has to\nbe pushed on the new task\u0027s stack. Implement the missing bits.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0760d44868f351ba30fc9a08cf1830e46aa72466",
      "tree": "55e8a204260c2a301c8da281b52bfef15f21bc1c",
      "parents": [
        "8f6abd06f521112a0a3bc906df273fa3ce0a9387"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Apr 14 15:50:57 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:44 2010 +0300"
      },
      "message": "KVM: x86: Terminate early if task_switch_16/32 failed\n\nStop the switch immediately if task_switch_16/32 returned an error. Only\nif that step succeeded, the switch should actually take place and update\nany register states.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8f6abd06f521112a0a3bc906df273fa3ce0a9387",
      "tree": "5f7c453b6cfeed776c6387d78a516dbd37c8ab0c",
      "parents": [
        "660c22c425cbe14badfb3b0a0206862577701ab7"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Apr 13 10:21:56 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:43 2010 +0300"
      },
      "message": "KVM: x86: get rid of mmu_only parameter in emulator_write_emulated()\n\nWe can call kvm_mmu_pte_write() directly from\nemulator_cmpxchg_emulated() instead of passing mmu_only down to\nemulator_write_emulated_onepage() and call it there.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "660c22c425cbe14badfb3b0a0206862577701ab7",
      "tree": "272889023481c810eebe54ab5343e634f0cd50bc",
      "parents": [
        "020df0794f5764e742feaa718be88b8f1b4ce04f"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Apr 13 22:47:24 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:41 2010 +0300"
      },
      "message": "KVM: limit the number of pages per memory slot\n\nThis patch limits the number of pages per memory slot to make\nus free from extra care about type issues.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "020df0794f5764e742feaa718be88b8f1b4ce04f",
      "tree": "ce0fca4af2beba046c8632e663bfc082681c6afa",
      "parents": [
        "6bc31bdc55cad6609b1610b4cecad312664f2808"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Apr 13 10:05:23 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:39 2010 +0300"
      },
      "message": "KVM: move DR register access handling into generic code\n\nCurrently both SVM and VMX have their own DR handling code. Move it to\nx86.c.\n\nAcked-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6bc31bdc55cad6609b1610b4cecad312664f2808",
      "tree": "82a78a5a8ee0b4202b782e695bad3745ef98a65f",
      "parents": [
        "f7a711971edd952352a89698db1d36f469e25f77"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@amd.com",
        "time": "Sun Apr 11 23:07:28 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:38 2010 +0300"
      },
      "message": "KVM: SVM: implement NEXTRIPsave SVM feature\n\nOn SVM we set the instruction length of skipped instructions\nto hard-coded, well known values, which could be wrong when (bogus,\nbut valid) prefixes (REX, segment override) are used.\nNewer AMD processors (Fam10h 45nm and better, aka. PhenomII or\nAthlonII) have an explicit NEXTRIP field in the VMCB containing the\ndesired information.\nSince it is cheap to do so, we use this field to override the guessed\nvalue on newer processors.\nA fix for older CPUs would be rather expensive, as it would require\nto fetch and partially decode the instruction. As the problem is not\na security issue and needs special, handcrafted code to trigger\n(no compiler will ever generate such code), I omit a fix for older\nCPUs.\nIf someone is interested, I have both a patch for these CPUs as well as\ndemo code triggering this issue: It segfaults under KVM, but runs\nperfectly on native Linux.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f7a711971edd952352a89698db1d36f469e25f77",
      "tree": "69e0ea723f0a408c634af5dea10dcccdfe4aef35",
      "parents": [
        "e46479f852adab6027e4950d69400d967bf7bc6f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 11 15:33:32 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:36 2010 +0300"
      },
      "message": "KVM: Fix MAXPHYADDR calculation when cpuid does not support it\n\nMAXPHYADDR is derived from cpuid 0x80000008, but when that isn\u0027t present, we\nget some random value.\n\nFix by checking first that cpuid 0x80000008 is supported.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e46479f852adab6027e4950d69400d967bf7bc6f",
      "tree": "8111480e9ae6c85ef292325d6345923f0878f0c8",
      "parents": [
        "2fb53ad811e238d5dec8716b99986c3f234e3337"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 11 13:05:16 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:35 2010 +0300"
      },
      "message": "KVM: Trace emulated instructions\n\nLog emulated instructions in ftrace, especially if they failed.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2fb53ad811e238d5dec8716b99986c3f234e3337",
      "tree": "ae8c407943348d07e980ee8e7e1f311596d7658f",
      "parents": [
        "4496f974825e2ee317c3cc94e41ec2db7eb73af8"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 11 13:05:15 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:33 2010 +0300"
      },
      "message": "KVM: x86 emulator: Don\u0027t overwrite decode cache\n\nCurrently if we an instruction spans a page boundary, when we fetch the\nsecond half we overwrite the first half.  This prevents us from tracing\nthe full instruction opcodes.\n\nFix by appending the second half to the first.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@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": "24222c2fec75df30d56d1e2014d45d2559c94f1a",
      "tree": "6f2ffd61186f6c5809c0ea93ad7e9d01b3e0b749",
      "parents": [
        "f84cbb0561d7cefb5fc050ee99d8c82ec9ce883d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Apr 06 18:31:13 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:30 2010 +0300"
      },
      "message": "KVM: MMU: remove unnecessary NX check in walk_addr\n\nAfter is_rsvd_bits_set() checks, EFER.NXE must be enabled if NX bit is seted\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f84cbb0561d7cefb5fc050ee99d8c82ec9ce883d",
      "tree": "8ae57456b2efa71b5b326cee4f34c20dec842b61",
      "parents": [
        "805d32dea4dfb8319aaf7e73a681ad410a5e331a"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Apr 06 18:29:05 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:29 2010 +0300"
      },
      "message": "KVM: MMU: remove unused field\n\nkvm_mmu_page.oos_link is not used, so remove it\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "805d32dea4dfb8319aaf7e73a681ad410a5e331a",
      "tree": "0584f3771086d0ee3a599c7a44b6ad8ff4c1835f",
      "parents": [
        "306d071f179c28c97688cb91c8585fd5ab840a9e"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Apr 01 16:50:45 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:27 2010 +0300"
      },
      "message": "KVM: MMU: cleanup/fix mmu audit code\n\nThis patch does:\n- \u0027sp\u0027 parameter in inspect_spte_fn() is not used, so remove it\n- fix \u0027kvm\u0027 and \u0027slots\u0027 is not defined in count_rmaps()\n- fix a bug in inspect_spte_has_rmap()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "306d071f179c28c97688cb91c8585fd5ab840a9e",
      "tree": "9897caf13fd06d47019333afdebb1afafdc891c5",
      "parents": [
        "287d5611fab5a42214d028b6f67fbd2ee977dcf2"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Apr 01 15:33:22 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:25 2010 +0300"
      },
      "message": "KVM: PPC: Don\u0027t export Book3S symbols on BookE\n\nBook3S knows how to convert floats to doubles and vice versa. BookE doesn\u0027t.\nSo let\u0027s make sure we don\u0027t export them on BookE.\n\nThis fixes a link error on BookE with CONFIG_KVM\u003dy.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@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": "647dc49eebad2c30f823cae2bd8204b66c739f9c",
      "tree": "f968fd43cc73609d1bc401483e8f0785aa4ac400",
      "parents": [
        "05b0ab1c0bb526ac1056bab356ee92cfd6daa6fd"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Apr 01 14:39:21 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:22 2010 +0300"
      },
      "message": "KVM: Document replacements for KVM_EXIT_HYPERCALL\n\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": "3ed9c6d2b5aa0ac365c52a2a3a370ac499f21e45",
      "tree": "2b2b946d76b9e1344f98dad5542d63971a3bd288",
      "parents": [
        "5a1b419fc936af9f10766c889d83d80990ecd300"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:36 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:20 2010 +0300"
      },
      "message": "KVM: PPC: Make bools bitfields\n\nBool defaults to at least byte width. We usually only want to waste a single\nbit on this. So let\u0027s move all the bool values to bitfields, potentially\nsaving memory.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5a1b419fc936af9f10766c889d83d80990ecd300",
      "tree": "3b6cad836c66996227f95e492ac8dd9eda5bc8c7",
      "parents": [
        "a1eda280ccd5fee71a89a94030f96bca5faebe21"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Mar 24 21:48:35 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:18 2010 +0300"
      },
      "message": "KVM: PPC: Use ULL for big numbers\n\nSome constants were bigger than ints. Let\u0027s mark them as such so we don\u0027t\naccidently truncate them.\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": "8a5416db832895b84b85ad0bcbb11d1cce0d3d37",
      "tree": "84d7f8e03d5d76cffe69caa5c08d32f242f51417",
      "parents": [
        "0f2d8f4dd0663defff8c1738d33478c1fb65a4f5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 25 12:27:30 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:47 2010 +0300"
      },
      "message": "KVM: Document KVM_SET_TSS_ADDR\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0f2d8f4dd0663defff8c1738d33478c1fb65a4f5",
      "tree": "c013f378ae0dc27192bd6349f690ed507b7f6b04",
      "parents": [
        "84b0c8c6a6f87b62bca93727dee12ec59e32e597"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 25 12:16:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:46 2010 +0300"
      },
      "message": "KVM: Document KVM_SET_USER_MEMORY_REGION\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "84b0c8c6a6f87b62bca93727dee12ec59e32e597",
      "tree": "2ae71e4f9000ea90f8ed2dea192ffb4662fbc2eb",
      "parents": [
        "f815bce8940bc28e42e6b924825bb31df2a4bff5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Mar 14 10:16:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:44 2010 +0300"
      },
      "message": "KVM: MMU: Disassociate direct maps from guest levels\n\nDirect maps are linear translations for a section of memory, used for\nreal mode or with large pages.  As such, they are independent of the guest\nlevels.\n\nTeach the mmu about this by making page-\u003erole.glevels \u003d 0 for direct maps.\nThis allows direct maps to be shared among real mode and the various paging\nmodes.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f815bce8940bc28e42e6b924825bb31df2a4bff5",
      "tree": "1c3df0f34d93d6f84c82dba30211ddfb08c051b1",
      "parents": [
        "041b1359a29b9301bc8baed6efcdbad29f80f6af"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Mar 19 17:58:53 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:42 2010 +0300"
      },
      "message": "KVM: MMU: check reserved bits only if CR4.PSE\u003d1 or CR4.PAE\u003d1\n\n- Check reserved bits only if CR4.PAE\u003d1 or CR4.PSE\u003d1 when guest #PF occurs\n- Fix a typo in reset_rsvds_bits_mask()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "041b1359a29b9301bc8baed6efcdbad29f80f6af",
      "tree": "2fa33a94b066627e9f963e8e840eed86c649e6bb",
      "parents": [
        "de3e6480f76804fe06d460ddb1920c7daa07f29b"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Mar 23 14:15:53 2010 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:40 2010 +0300"
      },
      "message": "KVM: x86: document KVM_REQ_PENDING_TIMER usage\n\nDocument that KVM_REQ_PENDING_TIMER is implicitly used during guest\nentry.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "de3e6480f76804fe06d460ddb1920c7daa07f29b",
      "tree": "b4c104cd6340daabee6147c65bc04e62166de37b",
      "parents": [
        "6550e1f165f384f3a46b60a1be9aba4bc3c2adad"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Mar 21 16:58:36 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:38 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix unlocked CMPXCHG8B emulation\n\nWhen CMPXCHG8B is executed without LOCK prefix it is racy. Preserve this\nbehaviour in emulator too.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6550e1f165f384f3a46b60a1be9aba4bc3c2adad",
      "tree": "791d9eb4de4a87eb77cc49e5035e1508bf4bad22",
      "parents": [
        "482ac18ae293a3a0b1e1eea95c10dcc9ceeb4708"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Mar 21 13:08:21 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:37 2010 +0300"
      },
      "message": "KVM: x86 emulator: add decoding of CMPXCHG8B dst operand\n\nDecode CMPXCHG8B destination operand in decoding stage. Fixes regression\nintroduced by \"If LOCK prefix is used dest arg should be memory\" commit.\nThis commit relies on dst operand be decoded at the beginning of an\ninstruction emulation.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "482ac18ae293a3a0b1e1eea95c10dcc9ceeb4708",
      "tree": "73e6dde8b669cef33edfd9de2074763b44bb6a1f",
      "parents": [
        "9749a6c0f0a4f88ae7bad4f65d7da32769e9b2b7"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Mar 21 13:08:20 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:35 2010 +0300"
      },
      "message": "KVM: x86 emulator: commit rflags as part of registers commit\n\nMake sure that rflags is committed only after successful instruction\nemulation.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9749a6c0f0a4f88ae7bad4f65d7da32769e9b2b7",
      "tree": "721da08199f528d58b5386be3acceeff16f96d2c",
      "parents": [
        "92bf9748b5bc381070f6adf0b56efd3428e4a97b"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Sat Mar 20 10:14:13 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:34 2010 +0300"
      },
      "message": "KVM: x86: Fix 32-bit build breakage due to typo\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "92bf9748b5bc381070f6adf0b56efd3428e4a97b",
      "tree": "b6bbd96be7bcf7e9b95be78412a2562bf78144b1",
      "parents": [
        "7b262e90fc20a49fddf3dad94c8cead1f0439751"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:28 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:32 2010 +0300"
      },
      "message": "KVM: small kvm_arch_vcpu_ioctl_run() cleanup.\n\nUnify all conditions that get us back into emulator after returning from\nuserspace.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7b262e90fc20a49fddf3dad94c8cead1f0439751",
      "tree": "c64306065ff392590cf89808807fb82a65499650",
      "parents": [
        "5cd21917da245fbe98bd443de2c7f519b3df6814"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:27 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:31 2010 +0300"
      },
      "message": "KVM: x86 emulator: introduce pio in string read ahead.\n\nTo optimize \"rep ins\" instruction do IO in big chunks ahead of time\ninstead of doing it only when required during instruction emulation.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5cd21917da245fbe98bd443de2c7f519b3df6814",
      "tree": "0bb2d4ee197011a92002a5cc32d19758a1e87ed0",
      "parents": [
        "cb404fe0898779ec5fe5e06e90aaddcf40aefad8"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:26 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:29 2010 +0300"
      },
      "message": "KVM: x86 emulator: restart string instruction without going back to a guest.\n\nCurrently when string instruction is only partially complete we go back\nto a guest mode, guest tries to reexecute instruction and exits again\nand at this point emulation continues. Avoid all of this by restarting\ninstruction without going back to a guest mode, but return to a guest\nmode each 1024 iterations to allow interrupt injection. Pending\nexception causes immediate guest entry too.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cb404fe0898779ec5fe5e06e90aaddcf40aefad8",
      "tree": "4ad6b092713780681a74d91113cfcda1919ba739",
      "parents": [
        "7972995b0c346de76fe260ce0fd6bcc8ffab724a"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:25 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:28 2010 +0300"
      },
      "message": "KVM: x86 emulator: remove saved_eip\n\nc-\u003eeip is never written back in case of emulation failure, so no need to\nset it to old value.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7972995b0c346de76fe260ce0fd6bcc8ffab724a",
      "tree": "a2522988d8cd465b836c0a32399d8eeb7a3ed545",
      "parents": [
        "cf8f70bfe38b326bb80b10f76d6544f571040229"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:24 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:26 2010 +0300"
      },
      "message": "KVM: x86 emulator: Move string pio emulation into emulator.c\n\nCurrently emulation is done outside of emulator so things like doing\nins/outs to/from mmio are broken it also makes it hard (if not impossible)\nto implement single stepping in the future. The implementation in this\npatch is not efficient since it exits to userspace for each IO while\nprevious implementation did \u0027ins\u0027 in batches. Further patch that\nimplements pio in string read ahead address this problem.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cf8f70bfe38b326bb80b10f76d6544f571040229",
      "tree": "d646456d773a887ca592d174b3d45a57d2779d85",
      "parents": [
        "d9271123a46011af26da680baeb7fdf67b498abf"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:23 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:25 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix in/out emulation.\n\nin/out emulation is broken now. The breakage is different depending\non where IO device resides. If it is in userspace emulator reports\nemulation failure since it incorrectly interprets kvm_emulate_pio()\nreturn value. If IO device is in the kernel emulation of \u0027in\u0027 will do\nnothing since kvm_emulate_pio() stores result directly into vcpu\nregisters, so emulator will overwrite result of emulation during\ncommit of shadowed register.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d9271123a46011af26da680baeb7fdf67b498abf",
      "tree": "a63c0e86cb1e2d0203b84f3d3ce677d436668ce1",
      "parents": [
        "a682e35449abc83d260a8219015c7cb4b25ecced"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:22 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:23 2010 +0300"
      },
      "message": "KVM: x86 emulator: during rep emulation decrement ECX only if emulation succeeded\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a682e35449abc83d260a8219015c7cb4b25ecced",
      "tree": "41349e491e41f4c4c33a12534ece4d4b1cceb898",
      "parents": [
        "69f55cb11e8d789433d111ac3a0f60be37a1ae01"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:21 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:21 2010 +0300"
      },
      "message": "KVM: x86 emulator: add decoding of X,Y parameters from Intel SDM\n\nAdd decoding of X,Y parameters from Intel SDM which are used by string\ninstruction to specify source and destination. Use this new decoding\nto implement movs, cmps, stos, lods in a generic way.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "69f55cb11e8d789433d111ac3a0f60be37a1ae01",
      "tree": "bdcaba6b5676dc9d6205b5d51a609e2b3b4d2aa0",
      "parents": [
        "ceffb4597253b2420d2f171d8b1cdf2cd3137989"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:20 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:20 2010 +0300"
      },
      "message": "KVM: x86 emulator: populate OP_MEM operand during decoding.\n\nAll struct operand fields are initialized during decoding for all\noperand types except OP_MEM, but there is no reason for that. Move\nOP_MEM operand initialization into decoding stage for consistency.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ceffb4597253b2420d2f171d8b1cdf2cd3137989",
      "tree": "474379bfd74cb0e3c81063f7bc24d4b51560ad46",
      "parents": [
        "2e873022f511b82a5318c7af179f588f08d68cb9"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:18 2010 +0300"
      },
      "message": "KVM: Use task switch from emulator.c\n\nRemove old task switch code from x86.c\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2e873022f511b82a5318c7af179f588f08d68cb9",
      "tree": "6ac9175a25f91ceab6dd2add7425b1bc0af5dd4e",
      "parents": [
        "38ba30ba51a003360f177d5b8349439fe44fc55b"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:18 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:17 2010 +0300"
      },
      "message": "KVM: x86 emulator: Use load_segment_descriptor() instead of kvm_load_segment_descriptor()\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "38ba30ba51a003360f177d5b8349439fe44fc55b",
      "tree": "27c6667cf9b0470e13d371bd9b86c8a605e2e52c",
      "parents": [
        "2dafc6c234b6064189405f42e1602e9a0abe5a44"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:17 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:15 2010 +0300"
      },
      "message": "KVM: x86 emulator: Emulate task switch in emulator.c\n\nImplement emulation of 16/32 bit task switch in emulator.c\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2dafc6c234b6064189405f42e1602e9a0abe5a44",
      "tree": "43ac5a6ead7a4fad9627d500b9e91a69e8ad7e8b",
      "parents": [
        "aca06a83071e4e4c9150751db7ea6a46240734fc"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:16 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:14 2010 +0300"
      },
      "message": "KVM: x86 emulator: Provide more callbacks for x86 emulator.\n\nProvide get_cached_descriptor(), set_cached_descriptor(),\nget_segment_selector(), set_segment_selector(), get_gdt(),\nwrite_std() callbacks.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "aca06a83071e4e4c9150751db7ea6a46240734fc",
      "tree": "9346ba8604f6b09e72595288a8d2c4c3feb3d48b",
      "parents": [
        "a41ffb7540cb37426759e688083502d6463421b2"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Mar 18 15:20:15 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:16:12 2010 +0300"
      },
      "message": "KVM: x86 emulator: cleanup grp3 return value\n\nWhen x86_emulate_insn() does not know how to emulate instruction it\nexits via cannot_emulate label in all cases except when emulating\ngrp3. Fix that.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    }
  ],
  "next": "a41ffb7540cb37426759e688083502d6463421b2"
}
