)]}'
{
  "log": [
    {
      "commit": "ebc65874e9e8f3b8bbbc69aa49acd7489cd41c52",
      "tree": "0c8df4aa1339a8d01ba6979c4ac6033f8b1aef51",
      "parents": [
        "0b3bafc8e5867039e265869749abbb7ea6dd2c8b"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollis_blanchard@mentor.com",
        "time": "Sat Aug 07 10:33:58 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:18 2010 +0200"
      },
      "message": "KVM: PPC: allow ppc440gp to pass the compatibility check\n\nMatch only the first part of cur_cpu_spec-\u003eplatform.\n\n440GP (the first 440 processor) is identified by the string \"ppc440gp\", while\nall later 440 processors use simply \"ppc440\".\n\nSigned-off-by: Hollis Blanchard \u003chollis_blanchard@mentor.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "0b3bafc8e5867039e265869749abbb7ea6dd2c8b",
      "tree": "636d2fff6fb1ff90b0c2e489f6c70c803b08a4e8",
      "parents": [
        "082decf29a9fe5bd5dcbfb26223e44edd9deabed"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollis_blanchard@mentor.com",
        "time": "Sat Aug 07 10:33:57 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:17 2010 +0200"
      },
      "message": "KVM: PPC: fix compilation of \"dump tlbs\" debug function\n\nMissing local variable.\n\nSigned-off-by: Hollis Blanchard \u003chollis_blanchard@mentor.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "082decf29a9fe5bd5dcbfb26223e44edd9deabed",
      "tree": "3babba7308cec2535df21d6c31dd1d7e308b71d4",
      "parents": [
        "296c19d0b4072dd9594daeec532563e56bddd119"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollis_blanchard@mentor.com",
        "time": "Sat Aug 07 10:33:56 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:17 2010 +0200"
      },
      "message": "KVM: PPC: initialize IVORs in addition to IVPR\n\nDevelopers can now tell at a glace the exact type of the premature interrupt,\ninstead of just knowing that there was some premature interrupt.\n\nSigned-off-by: Hollis Blanchard \u003chollis_blanchard@mentor.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "296c19d0b4072dd9594daeec532563e56bddd119",
      "tree": "75070ed734b71414fd42f5b3f92f679ed3023ce3",
      "parents": [
        "8b6db3bc965c204db6868d4005808b4fdc9c46d7"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Aug 15 08:39:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:16 2010 +0200"
      },
      "message": "KVM: PPC: Don\u0027t put MSR_POW in MSR\n\nOn Book3S a mtmsr with the MSR_POW bit set indicates that the OS is in\nidle and only needs to be waked up on the next interrupt.\n\nNow, unfortunately we let that bit slip into the stored MSR value which\nis not what the real CPU does, so that we ended up executing code like\nthis:\n\n\tr \u003d mfmsr();\n\t/* r containts MSR_POW */\n\tmtmsr(r | MSR_EE);\n\nThis obviously breaks, as we\u0027re going into idle mode in code sections that\ndon\u0027t expect to be idling.\n\nThis patch masks MSR_POW out of the stored MSR value on wakeup, making\nguests happy again.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8b6db3bc965c204db6868d4005808b4fdc9c46d7",
      "tree": "973d040d221d5fd3448c97b1c102d014fe6e6687",
      "parents": [
        "ad0873763a83e7b31ba87a85ec2027dd6a9d7b55"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Aug 15 08:04:24 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:15 2010 +0200"
      },
      "message": "KVM: PPC: Implement correct SID mapping on Book3s_32\n\nUp until now we were doing segment mappings wrong on Book3s_32. For Book3s_64\nwe were using a trick where we know that a single mmu_context gives us 16 bits\nof context ids.\n\nThe mm system on Book3s_32 instead uses a clever algorithm to distribute VSIDs\nacross the available range, so a context id really only gives us 16 available\nVSIDs.\n\nTo keep at least a few guest processes in the SID shadow, let\u0027s map a number of\ncontexts that we can use as VSID pool. This makes the code be actually correct\nand shouldn\u0027t hurt performance too much.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "ad0873763a83e7b31ba87a85ec2027dd6a9d7b55",
      "tree": "efc7e87eb5026732633f655d7270b66c7f586ec1",
      "parents": [
        "df08bd10266ce6132278f6b4ddc4bb0a12330b56"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 17 11:41:44 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:15 2010 +0200"
      },
      "message": "KVM: PPC: Force enable nap on KVM\n\nThere are some heuristics in the PPC power management code that try to find\nout if the particular hardware we\u0027re running on supports proper power management\nor just hangs the machine when going into nap mode.\n\nSince we know that KVM is safe with nap, let\u0027s force enable it in the PV code\nonce we\u0027re certain that we are on a KVM VM.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "df08bd10266ce6132278f6b4ddc4bb0a12330b56",
      "tree": "c0edb224d7b9fa46d18b66e6fcb622005f6e91c3",
      "parents": [
        "9ee18b1e08e6a5648aeaaf998eabc72b5304cc17"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Aug 05 15:44:41 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:14 2010 +0200"
      },
      "message": "KVM: PPC: Make PV mtmsrd L\u003d1 work with r30 and r31\n\nWe had an arbitrary limitation in mtmsrd L\u003d1 that kept us from using r30 and\nr31 as input registers. Let\u0027s get rid of that and get more potential speedups!\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "9ee18b1e08e6a5648aeaaf998eabc72b5304cc17",
      "tree": "8d474d9652d47e5287386e0c6ee6482554ad94a0",
      "parents": [
        "512ba59ed9c580b5e5575beda0041bb19a641127"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Aug 05 12:24:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:14 2010 +0200"
      },
      "message": "KVM: PPC: Update int_pending also on dequeue\n\nWhen having a decrementor interrupt pending, the dequeuing happens manually\nthrough an mtdec instruction. This instruction simply calls dequeue on that\ninterrupt, so the int_pending hint doesn\u0027t get updated.\n\nThis patch enables updating the int_pending hint also on dequeue, thus\ncorrectly enabling guests to stay in guest contexts more often.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "512ba59ed9c580b5e5575beda0041bb19a641127",
      "tree": "a262fbb9260d4af7e39f184ef2b90a8c8e02e8c2",
      "parents": [
        "cbe487fac7fc016dbabbcbe83f11384e1803a56d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Aug 05 11:26:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:13 2010 +0200"
      },
      "message": "KVM: PPC: Make PV mtmsr work with r30 and r31\n\nSo far we\u0027ve been restricting ourselves to r0-r29 as registers an mtmsr\ninstruction could use. This was bad, as there are some code paths in\nLinux actually using r30.\n\nSo let\u0027s instead handle all registers gracefully and get rid of that\nstupid limitation\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "cbe487fac7fc016dbabbcbe83f11384e1803a56d",
      "tree": "7144ae2f0b5a920aba061c101b9a0ac8305d5e31",
      "parents": [
        "df1bfa25d81f9451715ccbbb67551e0f792ceec8"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 10:39:35 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:12 2010 +0200"
      },
      "message": "KVM: PPC: Add mtsrin PV code\n\nThis is the guest side of the mtsr acceleration. Using this a guest can now\ncall mtsrin with almost no overhead as long as it ensures that it only uses\nit with (MSR_IR|MSR_DR) \u003d\u003d 0. Linux does that, so we\u0027re good.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "df1bfa25d81f9451715ccbbb67551e0f792ceec8",
      "tree": "c0a214d5acd8f152e53b11f5972d9c19fe413641",
      "parents": [
        "8e8651783ff2458f31098be7c2abacf2fcab054a"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 02:29:27 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:11 2010 +0200"
      },
      "message": "KVM: PPC: Put segment registers in shared page\n\nNow that the actual mtsr doesn\u0027t do anything anymore, we can move the sr\ncontents over to the shared page, so a guest can directly read and write\nits sr contents from guest context.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8e8651783ff2458f31098be7c2abacf2fcab054a",
      "tree": "a8afc1f2093faa9b85bda703e846ed461630f88d",
      "parents": [
        "c1c88e2fa16f979ba3e99018a53962abe852b30f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 01:06:11 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:11 2010 +0200"
      },
      "message": "KVM: PPC: Interpret SR registers on demand\n\nRight now we\u0027re examining the contents of Book3s_32\u0027s segment registers when\nthe register is written and put the interpreted contents into a struct.\n\nThere are two reasons this is bad. For starters, the struct has worse real-time\nperformance, as it occupies more ram. But the more important part is that with\nsegment registers being interpreted from their raw values, we can put them in\nthe shared page, allowing guests to mess with them directly.\n\nThis patch makes the internal representation of SRs be u32s.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c1c88e2fa16f979ba3e99018a53962abe852b30f",
      "tree": "0266ec09777ae881679361cb4fffb46446f02502",
      "parents": [
        "7508e16c9f2a20f7721d7bc47c33a7b34c873a2c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 23:23:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:10 2010 +0200"
      },
      "message": "KVM: PPC: Move BAT handling code into spr handler\n\nThe current approach duplicates the spr-\u003ebat finding logic and makes it harder\nto reuse the actually used variables. So let\u0027s move everything down to the spr\nhandler.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "7508e16c9f2a20f7721d7bc47c33a7b34c873a2c",
      "tree": "dac48c9ea56f69f4d8b9759aa51349bad0f3abdc",
      "parents": [
        "cb24c50826e0722bffb0674f088954cd4980818b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 03 11:32:56 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:09 2010 +0200"
      },
      "message": "KVM: PPC: Add feature bitmap for magic page\n\nWe will soon add SR PV support to the shared page, so we need some\ninfrastructure that allows the guest to query for features KVM exports.\n\nThis patch adds a second return value to the magic mapping that\nindicated to the guest which features are available.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "cb24c50826e0722bffb0674f088954cd4980818b",
      "tree": "959f41beca6c2fe44eb6e668676b3125d587c706",
      "parents": [
        "b9877ce2994cc812f00dbb2adb88c1749b6dac86"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 22:05:00 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:08 2010 +0200"
      },
      "message": "KVM: PPC: Remove unused define\n\nThe define VSID_ALL is unused. Let\u0027s remove it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "b9877ce2994cc812f00dbb2adb88c1749b6dac86",
      "tree": "e922a4f2db2f8e226f1e9cf9ec1234fe7b56a41e",
      "parents": [
        "928d78be54014e65498e289fdc3f82acc4b804a9"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 21:48:53 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:08 2010 +0200"
      },
      "message": "KVM: PPC: Revert \"KVM: PPC: Use kernel hash function\"\n\nIt turns out the in-kernel hash function is sub-optimal for our subtle\nhash inputs where every bit is significant. So let\u0027s revert to the original\nhash functions.\n\nThis reverts commit 05340ab4f9a6626f7a2e8f9fe5397c61d494f445.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "928d78be54014e65498e289fdc3f82acc4b804a9",
      "tree": "fea2b1f5c4c322d3381f32ba43a4a77ec82936af",
      "parents": [
        "e7c1d14e3bf40b87e6a3f68964b36dbb2c875c0f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 21:25:33 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:07 2010 +0200"
      },
      "message": "KVM: PPC: Move slb debugging to tracepoints\n\nThis patch moves debugging printks for shadow SLB debugging over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "e7c1d14e3bf40b87e6a3f68964b36dbb2c875c0f",
      "tree": "2dd5d3e6f3ac88f532b790cc4215d349c8b95790",
      "parents": [
        "2e602847d9c2d6b487bda62bbbe550db40ca912f"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 21:24:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:06 2010 +0200"
      },
      "message": "KVM: PPC: Make invalidation code more reliable\n\nThere is a race condition in the pte invalidation code path where we can\u0027t\nbe sure if a pte was invalidated already. So let\u0027s move the spin lock around\nto get rid of the race.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "2e602847d9c2d6b487bda62bbbe550db40ca912f",
      "tree": "e93c763d86987b7aa10f87f6582eacbdee9fa792",
      "parents": [
        "4cb6b7ea0cd085e6613153ad69608cad6421abcc"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 20:11:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:06 2010 +0200"
      },
      "message": "KVM: PPC: Don\u0027t flush PTEs on NX/RO hit\n\nWhen hitting a no-execute or read-only data/inst storage interrupt we were\nflushing the respective PTE so we\u0027re sure it gets properly overwritten next.\n\nAccording to the spec, this is unnecessary though. The guest issues a tlbie\nanyways, so we\u0027re safe to just keep the PTE around and have it manually removed\nfrom the guest, saving us a flush.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "4cb6b7ea0cd085e6613153ad69608cad6421abcc",
      "tree": "79c5eae68895c2ac75e09846f44782dd347a0cdd",
      "parents": [
        "c60b4cf70127941e2f944a7971a7f6b3ecb367ac"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 16:08:22 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:05 2010 +0200"
      },
      "message": "KVM: PPC: Preload magic page when in kernel mode\n\nWhen the guest jumps into kernel mode and has the magic page mapped, theres a\nvery high chance that it will also use it. So let\u0027s detect that scenario and\nmap the segment accordingly.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c60b4cf70127941e2f944a7971a7f6b3ecb367ac",
      "tree": "1cd31df67b8bad110ad9c3c6bafb26840921ff92",
      "parents": [
        "c22c31963b4b0c23250e8f520a76427b3986b73b"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 13:40:30 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:04 2010 +0200"
      },
      "message": "KVM: PPC: Add tracepoints for generic spte flushes\n\nThe different ways of flusing shadow ptes have their own debug prints which use\nstupid old printk.\n\nLet\u0027s move them to tracepoints, making them easier available, faster and\npossible to activate on demand\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "c22c31963b4b0c23250e8f520a76427b3986b73b",
      "tree": "5b928c047d53b3f385e7f9e736c941b00b38be0d",
      "parents": [
        "8696ee431233171b3c1cc82bae0193efc4fef2ac"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 13:38:18 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:03 2010 +0200"
      },
      "message": "KVM: PPC: Fix sid map search after flush\n\nAfter a flush the sid map contained lots of entries with 0 for their gvsid and\nhvsid value. Unfortunately, 0 can be a real value the guest searches for when\nlooking up a vsid so it would incorrectly find the host\u0027s 0 hvsid mapping which\ndoesn\u0027t belong to our sid space.\n\nSo let\u0027s also check for the valid bit that indicated that the sid we\u0027re\nlooking at actually contains useful data.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "8696ee431233171b3c1cc82bae0193efc4fef2ac",
      "tree": "ee3f85a7501d0b40901bb9c310bf90ad3984680b",
      "parents": [
        "4c4eea7769d0099ea09f9bdb7aed1cc61d57c9d6"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 12:55:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:03 2010 +0200"
      },
      "message": "KVM: PPC: Move pte invalidate debug code to tracepoint\n\nThis patch moves the SPTE flush debug printk over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "4c4eea7769d0099ea09f9bdb7aed1cc61d57c9d6",
      "tree": "4a03091f6c7b9585859c8ad21ffedbf2b981c705",
      "parents": [
        "82fdee7bce546c3ce38dcf0db6096eea73dbe7bd"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 12:51:07 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:02 2010 +0200"
      },
      "message": "KVM: PPC: Add tracepoint for generic mmu map\n\nThis patch moves the generic mmu map debugging over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "82fdee7bce546c3ce38dcf0db6096eea73dbe7bd",
      "tree": "965c8dc11d6912fa139214567353d73413094f0c",
      "parents": [
        "bed1ed9860d3744cc6488831fa5672d5c7aff4be"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 11:38:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:01 2010 +0200"
      },
      "message": "KVM: PPC: Move book3s_64 mmu map debug print to trace point\n\nThis patch moves Book3s MMU debugging over to tracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "bed1ed9860d3744cc6488831fa5672d5c7aff4be",
      "tree": "72aa499b692d2c1e136dfcac03f6028c697e4946",
      "parents": [
        "55438cc751c32cfafac52938403a86069e25b1bf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 02 11:06:26 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:00 2010 +0200"
      },
      "message": "KVM: PPC: Move EXIT_DEBUG partially to tracepoints\n\nWe have a debug printk on every exit that is usually #ifdef\u0027ed out. Using\ntracepoints makes a lot more sense here though, as they can be dynamically\nenabled.\n\nThis patch converts the most commonly used debug printks of EXIT_DEBUG to\ntracepoints.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "55438cc751c32cfafac52938403a86069e25b1bf",
      "tree": "4da311cf4f26fd8e00af3e7f60e46dd3d167574b",
      "parents": [
        "30644b902c5eef5328d37a2e15f1921aaca2588b"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Thu Sep 02 17:55:00 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:52:00 2010 +0200"
      },
      "message": "KVM: ia64: define kvm_lapic_enabled() to fix a compile error\n\nThe following patch\n\n  commit 57ce1659316f4ca298919649f9b1b55862ac3826\n  KVM: x86: In DM_LOWEST, only deliver interrupts to vcpus with enabled LAPIC\u0027s\n\nignored the fact that kvm_irq_delivery_to_apic() was also used by ia64.\n\nWe define kvm_lapic_enabled() to fix a compile error caused by this.\nThis will have the same effect as reverting the problematic patch for ia64.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "30644b902c5eef5328d37a2e15f1921aaca2588b",
      "tree": "e8b00712784cfa6a3f4787443ba3a75eebbefb19",
      "parents": [
        "eb2591865a234c6fb1162085d9b277236fa890b6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:26:33 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:59 2010 +0200"
      },
      "message": "KVM: MMU: lower the aduit frequency\n\nThe audit is very high overhead, so we need lower the frequency to assure\nthe guest is running.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "eb2591865a234c6fb1162085d9b277236fa890b6",
      "tree": "ccc0b0b6a837ca8ecc13cc2184da25fd6478860c",
      "parents": [
        "49edf87806f52a005152beaed9f4731862efc8fe"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:25:51 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:58 2010 +0200"
      },
      "message": "KVM: MMU: improve spte audit\n\nBoth audit_mappings() and audit_sptes_have_rmaps() need to walk vcpu\u0027s page\ntable, so we can do these checking in a spte walking\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "49edf87806f52a005152beaed9f4731862efc8fe",
      "tree": "5644102bac68fdb28266d2961a2763f872443ee7",
      "parents": [
        "2f4f337248cd5660040b7e09b7287a7a0a861f3f"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:25:03 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:57 2010 +0200"
      },
      "message": "KVM: MMU: improve active sp audit\n\nBoth audit_rmap() and audit_write_protection() need to walk all active sp, so\nwe can do these checking in a sp walking\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2f4f337248cd5660040b7e09b7287a7a0a861f3f",
      "tree": "262aac82066af397975f7680707965cf4a2ce969",
      "parents": [
        "8b1fe17cc7a8b2c62b400dcbfaebd96da6b4f58e"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:24:10 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:57 2010 +0200"
      },
      "message": "KVM: MMU: move audit to a separate file\n\nMove the audit code from arch/x86/kvm/mmu.c to arch/x86/kvm/mmu_audit.c\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8b1fe17cc7a8b2c62b400dcbfaebd96da6b4f58e",
      "tree": "d453a7a24163e58fee9830b42c101fd717a0f67c",
      "parents": [
        "84e0cefa8ddd5d5018d3b582e1e90585ed551757"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Aug 30 18:22:53 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:56 2010 +0200"
      },
      "message": "KVM: MMU: support disable/enable mmu audit dynamicly\n\nAdd a r/w module parameter named \u0027mmu_audit\u0027, it can control audit\nenable/disable:\n\nenable:\n  echo 1 \u003e /sys/module/kvm/parameters/mmu_audit\n\ndisable:\n  echo 0 \u003e /sys/module/kvm/parameters/mmu_audit\n\nThis patch not change the logic\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "84e0cefa8ddd5d5018d3b582e1e90585ed551757",
      "tree": "4faa04c04b8fc555584cc806acd7e31c4d879d42",
      "parents": [
        "9ed049c3b6230b68985da31f8243d4bec95e0b3a"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "Jes.Sorensen@redhat.com",
        "time": "Wed Sep 01 11:42:04 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:55 2010 +0200"
      },
      "message": "KVM: Fix guest kernel crash on MSR_K7_CLK_CTL\n\nMSR_K7_CLK_CTL is a no longer documented MSR, which is only relevant\non said old AMD CPU models. This change returns the expected value,\nwhich the Linux kernel is expecting to avoid writing back the MSR,\nplus it ignores all writes to the MSR.\n\nSigned-off-by: Jes Sorensen \u003cJes.Sorensen@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ed049c3b6230b68985da31f8243d4bec95e0b3a",
      "tree": "dd2eda8711ee3ae3ecee5cbb94e635e1fb78297a",
      "parents": [
        "7d9ddaedd8a9d0442fda5b5a90f22a33becbd235"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 30 12:18:24 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:54 2010 +0200"
      },
      "message": "KVM: i8259: Make ICW1 conform to spec\n\nICW is not a full reset, instead it resets a limited number of registers\nin the PIC.  Change ICW1 emulation to only reset those registers.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7d9ddaedd8a9d0442fda5b5a90f22a33becbd235",
      "tree": "e1784c42c41e2a981378e3a24e5befc6c6fc9d79",
      "parents": [
        "a4d4a7c1880db98a521bc27c15348185fa30c256"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 30 17:12:28 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:54 2010 +0200"
      },
      "message": "KVM: x86 emulator: clean up control flow in x86_emulate_insn()\n\nx86_emulate_insn() is full of things like\n\n    if (rc !\u003d X86EMUL_CONTINUE)\n        goto done;\n    break;\n\nconsolidate all of those at the end of the switch statement.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a4d4a7c1880db98a521bc27c15348185fa30c256",
      "tree": "d9af153679aa4a21e5d3170767e743974b2a42e1",
      "parents": [
        "b9eac5f4d146dc6cb88c8e6d891f8abe60493338"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Aug 03 15:05:46 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:53 2010 +0200"
      },
      "message": "KVM: x86 emulator: fix group 11 decoding for reg !\u003d 0\n\nThese are all undefined.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b9eac5f4d146dc6cb88c8e6d891f8abe60493338",
      "tree": "e2f55f6c1a47c3d51076e325006970784c7a036f",
      "parents": [
        "e90aa41e6ca76cd7be021d4d5560e64954cd4585"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Aug 03 14:46:56 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:52 2010 +0200"
      },
      "message": "KVM: x86 emulator: use single stage decoding for mov instructions\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e90aa41e6ca76cd7be021d4d5560e64954cd4585",
      "tree": "29efc5e5918555368f0b050732c148cf6cfaa677",
      "parents": [
        "eaa48512ba9df32aab8be5fceec10f3f80369379"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Sep 01 10:23:35 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:51 2010 +0200"
      },
      "message": "KVM: Don\u0027t save/restore MSR_IA32_PERF_STATUS\n\nIt is read/only; restoring it only results in annoying messages.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "eaa48512ba9df32aab8be5fceec10f3f80369379",
      "tree": "f1a7ebecbf05cc1ee3b5a6eaac174a8a152c7076",
      "parents": [
        "678041ad9dc82eedc598f709e8a3d620139d4105"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Aug 31 19:13:14 2010 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:51 2010 +0200"
      },
      "message": "KVM: SVM: init_vmcb should reset vcpu-\u003eefer\n\nOtherwise EFER_LMA bit is retained across a SIPI reset.\n\nFixes guest cpu onlining.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "678041ad9dc82eedc598f709e8a3d620139d4105",
      "tree": "bdc9aa2e3b1f5f7d7bae80d7ea9e1fa995b8bad3",
      "parents": [
        "c41a15dd4632499b9c1a00871e160276999767d9"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Aug 31 19:13:13 2010 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:50 2010 +0200"
      },
      "message": "KVM: SVM: reset mmu context in init_vmcb\n\nSince commit aad827034e419fa no mmu reinitialization is performed\nvia init_vmcb.\n\nZero vcpu-\u003earch.cr0 and pass the reset value as a parameter to\nkvm_set_cr0.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c41a15dd4632499b9c1a00871e160276999767d9",
      "tree": "83dfc01138a41549a4dc493b2f438e0a656cb8e0",
      "parents": [
        "8e0e8afa82018a3c751ea474eb47dfc65f00f4c3"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 30 10:46:56 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:49 2010 +0200"
      },
      "message": "KVM: Fix pio trace direction\n\nout \u003d write, in \u003d read, not the other way round.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8e0e8afa82018a3c751ea474eb47dfc65f00f4c3",
      "tree": "84a86a5c9704f14b8afaa4b65fed4a276f853f65",
      "parents": [
        "365fb3fdf6769d3553999d8eb6cc2a8c56c747c1"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Aug 28 19:25:09 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:49 2010 +0200"
      },
      "message": "KVM: MMU: remove count_rmaps()\n\nNothing is checked in count_rmaps(), so remove it\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "365fb3fdf6769d3553999d8eb6cc2a8c56c747c1",
      "tree": "e8ac38a587a4cf2cac88df4580e7112c15b13e14",
      "parents": [
        "bc32ce2152406431acf4daf4a81dc1664bb7b91b"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Aug 28 19:24:13 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:48 2010 +0200"
      },
      "message": "KVM: MMU: rewrite audit_mappings_page() function\n\nThere is a bugs in this function, we call gfn_to_pfn() and kvm_mmu_gva_to_gpa_read() in\natomic context(kvm_mmu_audit() is called under the spinlock(mmu_lock)\u0027s protection).\n\nThis patch fix it by:\n- introduce gfn_to_pfn_atomic instead of gfn_to_pfn\n- get the mapping gfn from kvm_mmu_page_get_gfn()\n\nAnd it adds \u0027notrap\u0027 ptes check in unsync/direct sps\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bc32ce2152406431acf4daf4a81dc1664bb7b91b",
      "tree": "ae2f6737d56c8d977485489d58d08b3528fd2d6e",
      "parents": [
        "0beb8d660425aab339ff68e6f4d4528739e8fc4f"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Aug 28 19:22:46 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:47 2010 +0200"
      },
      "message": "KVM: MMU: fix wrong not write protected sp report\n\nThe audit code reports some sp not write protected in current code, it\u0027s just the\nbug in audit_write_protection(), since:\n\n- the invalid sp not need write protected\n- using uninitialize local variable(\u0027gfn\u0027)\n- call kvm_mmu_audit() out of mmu_lock\u0027s protection\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0beb8d660425aab339ff68e6f4d4528739e8fc4f",
      "tree": "9b30fbca63277dd1c5b74e35c7cb1bcb293ce7e6",
      "parents": [
        "9ad17b10011702cb56c5e32e41ecd5fe281c3574"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Aug 28 19:20:47 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:46 2010 +0200"
      },
      "message": "KVM: MMU: check rmap for every spte\n\nThe read-only spte also has reverse mapping, so fix the code to check them,\nalso modify the function name to fit its doing\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ad17b10011702cb56c5e32e41ecd5fe281c3574",
      "tree": "8dfeb5b1d8524ad71320be6d2de22a5a63debe3f",
      "parents": [
        "23e7a7944f3779155e2f6bbc831b544eb925f387"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Aug 28 19:19:42 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:46 2010 +0200"
      },
      "message": "KVM: MMU: fix compile warning in audit code\n\nfix:\n\narch/x86/kvm/mmu.c: In function ‘kvm_mmu_unprotect_page’:\narch/x86/kvm/mmu.c:1741: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’\narch/x86/kvm/mmu.c:1745: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’\narch/x86/kvm/mmu.c: In function ‘mmu_unshadow’:\narch/x86/kvm/mmu.c:1761: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’\narch/x86/kvm/mmu.c: In function ‘set_spte’:\narch/x86/kvm/mmu.c:2005: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’\narch/x86/kvm/mmu.c: In function ‘mmu_set_spte’:\narch/x86/kvm/mmu.c:2033: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 7 has type ‘gfn_t’\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "23e7a7944f3779155e2f6bbc831b544eb925f387",
      "tree": "8c8be289ae3fea799ebf94f363748ae97bd00994",
      "parents": [
        "989044ee0fdc6c22a11ea1d22e2a3d17463cb564"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Aug 27 17:15:06 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:45 2010 +0200"
      },
      "message": "KVM: pit: Do not check pending pit timer in vcpu thread\n\nPit interrupt injection was done by workqueue, so no need to check\npending pit timer in vcpu thread which could lead unnecessary\nunblocking of vcpu.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "989044ee0fdc6c22a11ea1d22e2a3d17463cb564",
      "tree": "d1c58948996fe04b471ff4db52fff8474c5d48ca",
      "parents": [
        "6230f7fc0453c5bc5daa8e053773021e1c4a2f16"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Aug 30 12:01:56 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:44 2010 +0200"
      },
      "message": "KVM: PPC: Fix CONFIG_KVM_GUEST \u0026\u0026 !CONFIG_KVM case\n\nWhen CONFIG_KVM_GUEST is selected, but CONFIG_KVM is not, we were missing\nsome defines in asm-offsets.c and included too many headers at other places.\n\nThis patch makes above configuration work.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6230f7fc0453c5bc5daa8e053773021e1c4a2f16",
      "tree": "28f25a18011c75a61ee4058739dcbdedc6aaf823",
      "parents": [
        "217fc9cfca21a0bc2f4246183ebd8ee9863b019d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 18:34:55 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:43 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify ALU opcode block decode further\n\nThe ALU opcode block is very regular; introduce D6ALU() to define decode\nflags for 6 instructions at a time.\n\nSuggested by Paolo Bonzini.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "217fc9cfca21a0bc2f4246183ebd8ee9863b019d",
      "tree": "905be9d9db39e189ecf7221d520646cf18b7b4b4",
      "parents": [
        "34d1f4905eb66478a890ea808ec58bc842e6e589"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 13:38:03 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:43 2010 +0200"
      },
      "message": "KVM: Fix build error due to 64-bit division in nsec_to_cycles()\n\nUse do_div() instead.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "34d1f4905eb66478a890ea808ec58bc842e6e589",
      "tree": "14062e3dbc2430bc74d29d02fce2c305310b1b34",
      "parents": [
        "f6b3597bded9ed261b42fdcb5e741489cb5ccbfe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:59:01 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:42 2010 +0200"
      },
      "message": "KVM: x86 emulator: trap and propagate #DE from DIV and IDIV\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f6b3597bded9ed261b42fdcb5e741489cb5ccbfe",
      "tree": "9bb21ff6f2da81b4d2cd61ae70f733e04a881672",
      "parents": [
        "739ae406068211b235b488f247aab349e486c382"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:59:00 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:41 2010 +0200"
      },
      "message": "KVM: x86 emulator: add macros for executing instructions that may trap\n\nLike DIV and IDIV.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "739ae406068211b235b488f247aab349e486c382",
      "tree": "7d5a65d1c6e8abb6e8353bf693f2a78acf6e6874",
      "parents": [
        "d269e3961a65bbf6a76a8dc37b70cb578216e2c0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:13 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:41 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify instruction decode flags for opcodes 0F 00-FF\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d269e3961a65bbf6a76a8dc37b70cb578216e2c0",
      "tree": "9f024758f929384eaa207d7dd2629811ca7d5c39",
      "parents": [
        "d2c6c7adb181eac5b18dbefdf24c0e6745470939"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:12 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:40 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify instruction decode flags for opcodes E0-FF\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d2c6c7adb181eac5b18dbefdf24c0e6745470939",
      "tree": "49338d45297fa53d2781f089c8a96dd0373d0d13",
      "parents": [
        "50748613d16f55cbf7da14bc6e92b7cb1cd4fa7d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:11 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:39 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify instruction decode flags for opcodes C0-DF\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "50748613d16f55cbf7da14bc6e92b7cb1cd4fa7d",
      "tree": "cf82a05bdff744903d0ee167321e39a57e0980b0",
      "parents": [
        "76e8e68d4435bb894a1a03be853a55a4a2b45247"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:10 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:38 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify instruction decode flags for opcodes A0-AF\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "76e8e68d4435bb894a1a03be853a55a4a2b45247",
      "tree": "e8c6bda206609d974948b928271e29849568055f",
      "parents": [
        "48fe67b5f7f71bb954dc97b18096cef12f6618b4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:09 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:38 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify instruction decode flags for opcodes 80-8F\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "48fe67b5f7f71bb954dc97b18096cef12f6618b4",
      "tree": "ea67f9ec350ae91c3f1318d93e8ee4499288b2e9",
      "parents": [
        "5315fbb223086c078c979d16734844ccff12f087"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:08 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:37 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify string instruction decode flags\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5315fbb223086c078c979d16734844ccff12f087",
      "tree": "2dd51f5f215706dc7f7e42ab7985d85cac225e13",
      "parents": [
        "8d8f4e9f66ab36e4fcc75eca1e828af8466309f1"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:07 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:36 2010 +0200"
      },
      "message": "KVM: x86 emulator: simplify ALU block (opcodes 00-3F) decode flags\n\nUse the new byte/word dual opcode decode.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8d8f4e9f66ab36e4fcc75eca1e828af8466309f1",
      "tree": "eac8232b0446d4d7cd853da7d0ce5583680e8ebc",
      "parents": [
        "081bca0e6b87d0c7b9ade7ffee1f44aca336a8fa"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:56:06 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:35 2010 +0200"
      },
      "message": "KVM: x86 emulator: support byte/word opcode pairs\n\nMany x86 instructions come in byte and word variants distinguished with bit\n0 of the opcode.  Add macros to aid in defining them.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "081bca0e6b87d0c7b9ade7ffee1f44aca336a8fa",
      "tree": "ecb4c0ef30dfab8ac6c9c40b1406b237e37e4fd4",
      "parents": [
        "d2ddd1c48364e4161052d6089f06b2cf3c50496b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 26 11:06:15 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:35 2010 +0200"
      },
      "message": "KVM: x86 emulator: refuse SrcMemFAddr (e.g. LDS) with register operand\n\nSrcMemFAddr is not defined with the modrm operand designating a register\ninstead of a memory address.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d2ddd1c48364e4161052d6089f06b2cf3c50496b",
      "tree": "f8dd6a949e5006e2f39575b567f22d9033b9d1a7",
      "parents": [
        "3e2f65d57a0c1897fcc3287eeb41f117f4d021e5"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Aug 25 12:47:43 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:34 2010 +0200"
      },
      "message": "KVM: x86 emulator: get rid of \"restart\" in emulation context.\n\nx86_emulate_insn() will return 1 if instruction can be restarted\nwithout re-entering a guest.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3e2f65d57a0c1897fcc3287eeb41f117f4d021e5",
      "tree": "10feb7c8eef270a8f6767cf20340dc78b2e118e3",
      "parents": [
        "6e2fb2cadd9a523ff5494d4c4d53c0d3e0024691"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Aug 25 12:47:42 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:33 2010 +0200"
      },
      "message": "KVM: x86 emulator: move string instruction completion check into separate function\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6e2fb2cadd9a523ff5494d4c4d53c0d3e0024691",
      "tree": "352e5e74cd0f1be588e5e5e515855cf4d8314c63",
      "parents": [
        "cc4feed57fcd4934b89aaac51d64dbff921e2f2b"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Aug 25 12:47:41 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:32 2010 +0200"
      },
      "message": "KVM: x86 emulator: Rename variable that shadows another local variable.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cc4feed57fcd4934b89aaac51d64dbff921e2f2b",
      "tree": "734425637156b69d03feaa3834c452f32458cb70",
      "parents": [
        "a3c321c6e27e6134f1e8eece5f9954e8121fdc12"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Aug 25 14:10:53 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:31 2010 +0200"
      },
      "message": "KVM: x86 emulator: add CALL FAR instruction emulation (opcode 9a)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a3c321c6e27e6134f1e8eece5f9954e8121fdc12",
      "tree": "1cfa739a18aadd2087967001cab6e7a2f6fd68b0",
      "parents": [
        "cefa33e2f8f7852abb42f22ec25a6084a931c5ac"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 24 15:48:52 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:30 2010 +0200"
      },
      "message": "KVM: S390: Export kvm_virtio.h\n\nAs suggested by Christian, we should expose headers to user space with\ninformation that might be valuable there. The s390 virtio interface is\none of those cases. It defines an ABI between hypervisor and guest, so\nit should be exposed to user space.\n\nReported-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cefa33e2f8f7852abb42f22ec25a6084a931c5ac",
      "tree": "6944f5afe499955b69316cf7b3f62e7464028dd3",
      "parents": [
        "fc678d67fee1acccf21322318dd833b892a572e4"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 24 15:48:51 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:29 2010 +0200"
      },
      "message": "KVM: S390: Add virtio hotplug add support\n\nThe one big missing feature in s390-virtio was hotplugging. This is no more.\nThis patch implements hotplug add support, so you can on the fly add new devices\nin the guest.\n\nKeep in mind that this needs a patch for qemu to actually leverage the\nfunctionality.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fc678d67fee1acccf21322318dd833b892a572e4",
      "tree": "f5ab551bbecdb38f877e933dbf3d600627eeb113",
      "parents": [
        "189be38db3dde12699a8b9dc22d33e8c95efe110"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Aug 24 15:48:50 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:29 2010 +0200"
      },
      "message": "KVM: S390: take a full byte as ext_param indicator\n\nCurrenty the ext_param field only distinguishes between \"config change\" and\n\"vring interrupt\". We can do a lot more with it though, so let\u0027s enable a\nfull byte of possible values and constants to #defines while at it.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "189be38db3dde12699a8b9dc22d33e8c95efe110",
      "tree": "49896be03f57d6a4df979fe0649b590ef3d07a18",
      "parents": [
        "957ed9effd80b04482cbdce8c95bdf803a656b94"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sun Aug 22 19:13:33 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:28 2010 +0200"
      },
      "message": "KVM: MMU: combine guest pte read between fetch and pte prefetch\n\nCombine guest pte read between guest pte check in the fetch path and pte prefetch\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "957ed9effd80b04482cbdce8c95bdf803a656b94",
      "tree": "0d554cf6ca80fbb2bb1d3ef9b06f2a210a6b171f",
      "parents": [
        "48987781eb1d1e8ded41f55cd5806615fda92c6e"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sun Aug 22 19:12:48 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:27 2010 +0200"
      },
      "message": "KVM: MMU: prefetch ptes when intercepted guest #PF\n\nSupport prefetch ptes when intercept guest #PF, avoid to #PF by later\naccess\n\nIf we meet any failure in the prefetch path, we will exit it and\nnot try other ptes to avoid become heavy path\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "48987781eb1d1e8ded41f55cd5806615fda92c6e",
      "tree": "fa6db806ffec34588fbcaa434c33afac51f661e6",
      "parents": [
        "887c08ac191efb103e33e589aacbc2ce1a3f131e"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sun Aug 22 19:11:43 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:26 2010 +0200"
      },
      "message": "KVM: MMU: introduce gfn_to_page_many_atomic() function\n\nIntroduce this function to get consecutive gfn\u0027s pages, it can reduce\ngup\u0027s overload, used by later patch\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "887c08ac191efb103e33e589aacbc2ce1a3f131e",
      "tree": "635b2da93109722e5a254041d5b193a8db99b8d9",
      "parents": [
        "45888a0c6edc305495b6bd72a30e66bc40b324c6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sun Aug 22 19:10:28 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:26 2010 +0200"
      },
      "message": "KVM: MMU: introduce hva_to_pfn_atomic function\n\nIntroduce hva_to_pfn_atomic(), it\u0027s the fast path and can used in atomic\ncontext, the later patch will use it\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "45888a0c6edc305495b6bd72a30e66bc40b324c6",
      "tree": "0f25d2133c8e7d80e7daca039ed383371562ee8e",
      "parents": [
        "f392eb2546170e539668a5ab8df6c1254d15a201"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sun Aug 22 19:08:57 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:24 2010 +0200"
      },
      "message": "export __get_user_pages_fast() function\n\nThis function is used by KVM to pin process\u0027s page in the atomic context.\n\nDefine the \u0027weak\u0027 function to avoid other architecture not support it\n\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f392eb2546170e539668a5ab8df6c1254d15a201",
      "tree": "d9d864e93a66eb7cd42290dcaf5f927c22026638",
      "parents": [
        "1d5f066e0b63271b67eac6d3752f8aa96adcbddb"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:33 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:24 2010 +0200"
      },
      "message": "KVM: x86: Add timekeeping documentation\n\nBasic informational document about x86 timekeeping and how KVM\nis affected.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1d5f066e0b63271b67eac6d3752f8aa96adcbddb",
      "tree": "b3ba7c2783edbc6d9e6658d91e991913ba264684",
      "parents": [
        "347bb4448c2155eb2310923ccaa4be5677649003"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:30 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:24 2010 +0200"
      },
      "message": "KVM: x86: Fix a possible backwards warp of kvmclock\n\nKernel time, which advances in discrete steps may progress much slower\nthan TSC.  As a result, when kvmclock is adjusted to a new base, the\napparent time to the guest, which runs at a much higher, nsec scaled\nrate based on the current TSC, may have already been observed to have\na larger value (kernel_ns + scaled tsc) than the value to which we are\nsetting it (kernel_ns + 0).\n\nWe must instead compute the clock as potentially observed by the guest\nfor kernel_ns to make sure it does not go backwards.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "347bb4448c2155eb2310923ccaa4be5677649003",
      "tree": "93f5592975413c00c6c647001d715324e27cf985",
      "parents": [
        "ca84d1a24c376e0841f35db08dab7b829c8c0b1e"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:29 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:24 2010 +0200"
      },
      "message": "x86: pvclock: Move scale_delta into common header\n\nThe scale_delta function for shift / multiply with 31-bit\nprecision moves to a common header so it can be used by both\nkernel and kvm module.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ca84d1a24c376e0841f35db08dab7b829c8c0b1e",
      "tree": "05da8ca898b202c578d2aebcc9534eddec52b8ec",
      "parents": [
        "46543ba45fc4b64ca32655efdc8d9c599b4164e2"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:28 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:24 2010 +0200"
      },
      "message": "KVM: x86: Add clock sync request to hardware enable\n\nIf there are active VCPUs which are marked as belonging to\na particular hardware CPU, request a clock sync for them when\nenabling hardware; the TSC could be desynchronized on a newly\narriving CPU, and we need to recompute guests system time\nrelative to boot after a suspend event.\n\nThis covers both cases.\n\nNote that it is acceptable to take the spinlock, as either\nno other tasks will be running and no locks held (BSP after\nresume), or other tasks will be guaranteed to drop the lock\nrelatively quickly (AP on CPU_STARTING).\n\nNoting we now get clock synchronization requests for VCPUs\nwhich are starting up (or restarting), it is tempting to\nattempt to remove the arch/x86/kvm/x86.c CPU hot-notifiers\nat this time, however it is not correct to do so; they are\nrequired for systems with non-constant TSC as the frequency\nmay not be known immediately after the processor has started\nuntil the cpufreq driver has had a chance to run and query\nthe chipset.\n\nUpdated: implement better locking semantics for hardware_enable\n\nRemoved the hack of dropping and retaking the lock by adding the\nsemantic that we always hold kvm_lock when hardware_enable is\ncalled.  The one place that doesn\u0027t need to worry about it is\nresume, as resuming a frozen CPU, the spinlock won\u0027t be taken.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "46543ba45fc4b64ca32655efdc8d9c599b4164e2",
      "tree": "a66d258a99fd7654f1fba049573d0a200ece85e6",
      "parents": [
        "759379dd68c2885d1fafa433083d4487e710a685"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:26 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:23 2010 +0200"
      },
      "message": "KVM: x86: Robust TSC compensation\n\nMake the match of TSC find TSC writes that are close to each other\ninstead of perfectly identical; this allows the compensator to also\nwork in migration / suspend scenarios.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "759379dd68c2885d1fafa433083d4487e710a685",
      "tree": "d20cf95eb9f65293baa4e42e360465a2fc606e8e",
      "parents": [
        "48434c20e18d59001469699fcaaf9cf30b815a20"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:25 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:23 2010 +0200"
      },
      "message": "KVM: x86: Add helper functions for time computation\n\nAdd a helper function to compute the kernel time and convert nanoseconds\nback to CPU specific cycles.  Note that these must not be called in preemptible\ncontext, as that would mean the kernel could enter software suspend state,\nwhich would cause non-atomic operation.\n\nAlso, convert the KVM_SET_CLOCK / KVM_GET_CLOCK ioctls to use the kernel\ntime helper, these should be bootbased as well.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "48434c20e18d59001469699fcaaf9cf30b815a20",
      "tree": "8c7f91598f3ea56550e86599c18b3e0b7daf6361",
      "parents": [
        "e48672fa25e879f7ae21785c7efd187738139593"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:24 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:23 2010 +0200"
      },
      "message": "KVM: x86: Fix deep C-state TSC desynchronization\n\nWhen CPUs with unstable TSCs enter deep C-state, TSC may stop\nrunning.  This causes us to require resynchronization.  Since\nwe can\u0027t tell when this may potentially happen, we assume the\nworst by forcing re-compensation for it at every point the VCPU\ntask is descheduled.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e48672fa25e879f7ae21785c7efd187738139593",
      "tree": "bec27bad04ba6e933e72439cc565d2c752a31928",
      "parents": [
        "6755bae8e69093b2994b6f29cd3eaecdf610374e"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:23 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:23 2010 +0200"
      },
      "message": "KVM: x86: Unify TSC logic\n\nMove the TSC control logic from the vendor backends into x86.c\nby adding adjust_tsc_offset to x86 ops.  Now all TSC decisions\ncan be done in one place.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6755bae8e69093b2994b6f29cd3eaecdf610374e",
      "tree": "cab26685a09da818153e2ba04ac26f9616af62b5",
      "parents": [
        "8cfdc0008542b57caadbfe013da163131a8293f4"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:22 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:22 2010 +0200"
      },
      "message": "KVM: x86: Warn about unstable TSC\n\nIf creating an SMP guest with unstable host TSC, issue a warning\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8cfdc0008542b57caadbfe013da163131a8293f4",
      "tree": "97b24e0d910f32908e36f3e921f4e6d3287c9955",
      "parents": [
        "f38e098ff3a315bb74abbb4a35cba11bbea8e2fa"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:21 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:22 2010 +0200"
      },
      "message": "KVM: x86: Make cpu_tsc_khz updates use local CPU\n\nThis simplifies much of the init code; we can now simply always\ncall tsc_khz_changed, optionally passing it a new value, or letting\nit figure out the existing value (while interrupts are disabled, and\nthus, by inference from the rule, not raceful against CPU hotplug or\nfrequency updates, which will issue IPIs to the local CPU to perform\nthis very same task).\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f38e098ff3a315bb74abbb4a35cba11bbea8e2fa",
      "tree": "22b605d3984c20456cfdc7c4fe22883450da2141",
      "parents": [
        "99e3e30aee1a326a98bf3a5f47b8622219c685f3"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:20 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:22 2010 +0200"
      },
      "message": "KVM: x86: TSC reset compensation\n\nAttempt to synchronize TSCs which are reset to the same value.  In the\ncase of a reliable hardware TSC, we can just re-use the same offset, but\non non-reliable hardware, we can get closer by adjusting the offset to\nmatch the elapsed time.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "99e3e30aee1a326a98bf3a5f47b8622219c685f3",
      "tree": "1b67fc70af33988080784d32725f72b5ce7c07d1",
      "parents": [
        "f4e1b3c8bd2a044cd0ccf80595bfd088a49fe60b"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:17 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:22 2010 +0200"
      },
      "message": "KVM: x86: Move TSC offset writes to common code\n\nAlso, ensure that the storing of the offset and the reading of the TSC\nare never preempted by taking a spinlock.  While the lock is overkill\nnow, it is useful later in this patch series.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f4e1b3c8bd2a044cd0ccf80595bfd088a49fe60b",
      "tree": "0f494d950f3582d0ed4bb8218cdf6541578a2d46",
      "parents": [
        "ae38436b78a8abff767e2ac10e2cd663a7eef476"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:16 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:22 2010 +0200"
      },
      "message": "KVM: x86: Convert TSC writes to TSC offset writes\n\nChange svm / vmx to be the same internally and write TSC offset\ninstead of bare TSC in helper functions.  Isolated as a single\npatch to contain code movement.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ae38436b78a8abff767e2ac10e2cd663a7eef476",
      "tree": "d7d68489e99f4673965379a20cf3e14ead9d0814",
      "parents": [
        "45bf21a8ce7a2884f067a702a5c7683684846ce1"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zamsden@redhat.com",
        "time": "Thu Aug 19 22:07:15 2010 -1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:21 2010 +0200"
      },
      "message": "KVM: x86: Drop vm_init_tsc\n\nThis is used only by the VMX code, and is not done properly;\nif the TSC is indeed backwards, it is out of sync, and will\nneed proper handling in the logic at each and every CPU change.\nFor now, drop this test during init as misguided.\n\nSigned-off-by: Zachary Amsden \u003czamsden@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "45bf21a8ce7a2884f067a702a5c7683684846ce1",
      "tree": "68d4ed52d4125543e741027ab89f8f6f4bce6183",
      "parents": [
        "80b63faf028fba79e630d3643b0e615bddf4067b"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon Aug 23 16:13:15 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:21 2010 +0200"
      },
      "message": "KVM: MMU: fix missing percpu counter destroy\n\ncommit ad05c88266b4cce1c820928ce8a0fb7690912ba1\n(KVM: create aggregate kvm_total_used_mmu_pages value)\nintroduce percpu counter kvm_total_used_mmu_pages but never\ndestroy it, this may cause oops when rmmod \u0026 modprobe.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "80b63faf028fba79e630d3643b0e615bddf4067b",
      "tree": "0100096362eac40c2da099ee5dc879daa2504d20",
      "parents": [
        "e4abac67b756680c63af369f053d11991616aeb4"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Tue Aug 24 10:31:07 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:21 2010 +0200"
      },
      "message": "KVM: MMU: fix regression from rework mmu_shrink() code\n\nLatest kvm mmu_shrink code rework makes kernel changes kvm-\u003earch.n_used_mmu_pages/\nkvm-\u003earch.n_max_mmu_pages at kvm_mmu_free_page/kvm_mmu_alloc_page, which is called\nby kvm_mmu_commit_zap_page. So the kvm-\u003earch.n_used_mmu_pages or\nkvm_mmu_available_pages(vcpu-\u003ekvm) is unchanged after kvm_mmu_prepare_zap_page(),\nThis caused kvm_mmu_change_mmu_pages/__kvm_mmu_free_some_pages loops forever.\nMoving kvm_mmu_commit_zap_page would make the while loop performs as normal.\n\nReported-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nTested-by: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e4abac67b756680c63af369f053d11991616aeb4",
      "tree": "3d73918a19b39995ec5adc1fb51c1e419ddf84c5",
      "parents": [
        "09b5f4d3c4aa2d4928c0a3723a8de26a76b6339e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Aug 19 14:25:48 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:20 2010 +0200"
      },
      "message": "KVM: x86 emulator: add JrCXZ instruction emulation\n\nAdd JrCXZ instruction emulation (opcode 0xe3)\nUsed by FreeBSD boot loader.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "09b5f4d3c4aa2d4928c0a3723a8de26a76b6339e",
      "tree": "8d937d45806faf3af18073099eb3e3b017d339f0",
      "parents": [
        "45221ab6684a82a5b60208b76d6f8bfb1bbcb969"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon Aug 23 14:56:54 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:20 2010 +0200"
      },
      "message": "KVM: x86 emulator: add LDS/LES/LFS/LGS/LSS instruction emulation\n\nAdd LDS/LES/LFS/LGS/LSS instruction emulation.\n(opcode 0xc4, 0xc5, 0x0f 0xb2, 0x0f 0xb4~0xb5)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "45221ab6684a82a5b60208b76d6f8bfb1bbcb969",
      "tree": "bdc915bf20cc9dfb40b81b7601ed5182c047d13a",
      "parents": [
        "49d5ca26636cb8feb05aff92fc4dba3e494ec683"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Aug 19 18:11:37 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:19 2010 +0200"
      },
      "message": "KVM: create aggregate kvm_total_used_mmu_pages value\n\nOf slab shrinkers, the VM code says:\n\n * Note that \u0027shrink\u0027 will be passed nr_to_scan \u003d\u003d 0 when the VM is\n * querying the cache size, so a fastpath for that case is appropriate.\n\nand it *means* it.  Look at how it calls the shrinkers:\n\n    nr_before \u003d (*shrinker-\u003eshrink)(0, gfp_mask);\n    shrink_ret \u003d (*shrinker-\u003eshrink)(this_scan, gfp_mask);\n\nSo, if you do anything stupid in your shrinker, the VM will doubly\npunish you.\n\nThe mmu_shrink() function takes the global kvm_lock, then acquires\nevery VM\u0027s kvm-\u003emmu_lock in sequence.  If we have 100 VMs, then\nwe\u0027re going to take 101 locks.  We do it twice, so each call takes\n202 locks.  If we\u0027re under memory pressure, we can have each cpu\ntrying to do this.  It can get really hairy, and we\u0027ve seen lock\nspinning in mmu_shrink() be the dominant entry in profiles.\n\nThis is guaranteed to optimize at least half of those lock\naquisitions away.  It removes the need to take any of the locks\nwhen simply trying to count objects.\n\nA \u0027percpu_counter\u0027 can be a large object, but we only have one\nof these for the entire system.  There are not any better\nalternatives at the moment, especially ones that handle CPU\nhotplug.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "49d5ca26636cb8feb05aff92fc4dba3e494ec683",
      "tree": "180d5d2926e1282654c2c9438612aa567d9eb68f",
      "parents": [
        "39de71ec5397f374aed95e99509372d605e1407c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Aug 19 18:11:28 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:18 2010 +0200"
      },
      "message": "KVM: replace x86 kvm n_free_mmu_pages with n_used_mmu_pages\n\nDoing this makes the code much more readable.  That\u0027s\nborne out by the fact that this patch removes code.  \"used\"\nalso happens to be the number that we need to return back to\nthe slab code when our shrinker gets called.  Keeping this\nvalue as opposed to free makes the next patch simpler.\n\nSo, \u0027struct kvm\u0027 is kzalloc()\u0027d.  \u0027struct kvm_arch\u0027 is a\nstructure member (and not a pointer) of \u0027struct kvm\u0027.  That\nmeans they start out zeroed.  I _think_ they get initialized\nproperly by kvm_mmu_change_mmu_pages().  But, that only happens\nvia kvm ioctls.\n\nAnother benefit of storing \u0027used\u0027 intead of \u0027free\u0027 is\nthat the values are consistent from the moment the structure is\nallocated: no negative \"used\" value.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "39de71ec5397f374aed95e99509372d605e1407c",
      "tree": "a2da0845195322d50eb1d5c5bff067dd8f952fef",
      "parents": [
        "e0df7b9f6cee43c01d6f4a8491bccfd410cb86e1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Aug 19 18:11:14 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:18 2010 +0200"
      },
      "message": "KVM: rename x86 kvm-\u003earch.n_alloc_mmu_pages\n\narch.n_alloc_mmu_pages is a poor choice of name. This value truly\nmeans, \"the number of pages which _may_ be allocated\".  But,\nreading the name, \"n_alloc_mmu_pages\" implies \"the number of allocated\nmmu pages\", which is dead wrong.\n\nIt\u0027s really the high watermark, so let\u0027s give it a name to match:\nnr_max_mmu_pages.  This change will make the next few patches\nmuch more obvious and easy to read.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e0df7b9f6cee43c01d6f4a8491bccfd410cb86e1",
      "tree": "4b3eefa6a3ebea76e429baa304d50ba4501c02ff",
      "parents": [
        "61429142802b068609ffd8ef48d891e05eeea0b9"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Aug 19 18:11:05 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:17 2010 +0200"
      },
      "message": "KVM: abstract kvm x86 mmu-\u003en_free_mmu_pages\n\n\"free\" is a poor name for this value.  In this context, it means,\n\"the number of mmu pages which this kvm instance should be able to\nallocate.\"  But \"free\" implies much more that the objects are there\nand ready for use.  \"available\" is a much better description, especially\nwhen you see how it is calculated.\n\nIn this patch, we abstract its use into a function.  We\u0027ll soon\nreplace the function\u0027s contents by calculating the value in a\ndifferent way.\n\nAll of the reads of n_free_mmu_pages are taken care of in this\npatch.  The modification sites will be handled in a patch\nlater in the series.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "61429142802b068609ffd8ef48d891e05eeea0b9",
      "tree": "aecc86a8e81fcc5f858e0bc59cbb1ee34bcdd392",
      "parents": [
        "d46164dbd936bc11c7d2abed62f05b31c7a79ae7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Aug 19 15:13:00 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:16 2010 +0200"
      },
      "message": "KVM: x86 emulator: implement CWD (opcode 99)\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d46164dbd936bc11c7d2abed62f05b31c7a79ae7",
      "tree": "1947ea98edac4f7800d08b16dfe29509846759ef",
      "parents": [
        "7db41eb76244ae623de842e818e459755968a33b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 18 19:29:33 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:16 2010 +0200"
      },
      "message": "KVM: x86 emulator: implement IMUL REG, R/M, IMM (opcode 69)\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7db41eb76244ae623de842e818e459755968a33b",
      "tree": "9661ee9702be3746bb52cbc9ca9d6e5bb4c8fc99",
      "parents": [
        "39f21ee546cf7d563d813c5fb4473431c1d8fce7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 18 19:25:28 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:15 2010 +0200"
      },
      "message": "KVM: x86 emulator: add Src2Imm decoding\n\nNeeded for 3-operand IMUL.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "39f21ee546cf7d563d813c5fb4473431c1d8fce7",
      "tree": "0761137083bb141e1f48c711e0c424cb94842089",
      "parents": [
        "48bb5d3c401679e41e7a7f06ca31b3e54a6168f7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 18 19:20:21 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:14 2010 +0200"
      },
      "message": "KVM: x86 emulator: consolidate immediate decode into a function\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "48bb5d3c401679e41e7a7f06ca31b3e54a6168f7",
      "tree": "0dd588a481026f84755307fdc98fca155d353c5d",
      "parents": [
        "7077aec0bcd2f827aeb84ccc56c6f4367c376436"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 18 18:54:34 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 24 10:51:14 2010 +0200"
      },
      "message": "KVM: x86 emulator: implement RDTSC (opcode 0F 31)\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    }
  ],
  "next": "7077aec0bcd2f827aeb84ccc56c6f4367c376436"
}
