)]}'
{
  "log": [
    {
      "commit": "d172fcd3ae1ca7ac27ec8904242fd61e0e11d332",
      "tree": "5009ae88a2ab2aa7f17219c7ddfc0a694c2ff6b4",
      "parents": [
        "94886b84b1bcdc95f34f70e7fce407efefe472e1"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 15 17:00:19 2007 +0200"
      },
      "message": "sched: guest CPU accounting: maintain guest state in KVM\n\nModify KVM to update guest time accounting.\n\n[ mingo@elte.hu: ported to 2.6.24 KVM. ]\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0967b7bf1c22b55777aba46ff616547feed0b141",
      "tree": "f855d1f25943dfd8cb6e40f0e81744f1e32d98e0",
      "parents": [
        "535eabcf0e55804b53d27fe45217d874b19bcfa9"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Sep 15 17:34:36 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:29 2007 +0200"
      },
      "message": "KVM: Skip pio instruction when it is emulated, not executed\n\nIf we defer updating rip until pio instructions are executed, we have a\nproblem with reset:  a pio reset updates rip, and when the instruction\ncompletes we skip the emulated instruction, pointing rip somewhere completely\nunrelated.\n\nFix by updating rip when we see decode the instruction, not after emulation.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "535eabcf0e55804b53d27fe45217d874b19bcfa9",
      "tree": "566740ceb8c56e94ec6150bafa0ea0cab60d1c3a",
      "parents": [
        "12fa272e315af43d549ce22f9988392d0121350e"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:45:05 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:29 2007 +0200"
      },
      "message": "KVM: x86 emulator: popf\n\nImplement emulation of instruction:\n    popf\n    opcode:  0x9d\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "12fa272e315af43d549ce22f9988392d0121350e",
      "tree": "9b2f33c44ac6b48b05e74f6243b8d6ff73d161f2",
      "parents": [
        "26a3e983d154beca544afd36f293cfef10657f24"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:43:33 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:29 2007 +0200"
      },
      "message": "KVM: x86 emulator: fix src, dst value initialization\n\nSome operand fetches are less than the machine word size and can result in\nstale bits if used together with operands of different sizes.\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "26a3e983d154beca544afd36f293cfef10657f24",
      "tree": "61dc0fb2a00a2aafdd0d7e2bf535629891665ee1",
      "parents": [
        "7e0b54b149315743f5743dbc0cf758012682024e"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:41:26 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:29 2007 +0200"
      },
      "message": "KVM: x86 emulator: jmp abs\n\nImplement emulation of instruction:\n    jump absolute r/m\n    opcode: 0xff /4\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e0b54b149315743f5743dbc0cf758012682024e",
      "tree": "ed38ddc94f22ef4a704fd7914dd4b685e8c0bac5",
      "parents": [
        "55bebde45ec252295b08cb3990f15df2228dbf0e"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:35:36 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:29 2007 +0200"
      },
      "message": "KVM: x86 emulator: lea\n\nImplement emulation of instruction\n    lea r16/r32, m\n    opcode:  0x8d:\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "55bebde45ec252295b08cb3990f15df2228dbf0e",
      "tree": "18e2a6a126d2166b7bdf1e70269741860e8df2e2",
      "parents": [
        "bbe9abbdaca366510db1f2df25f4c7b48cba38eb"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:25:41 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:29 2007 +0200"
      },
      "message": "KVM: X86 emulator: jump conditional short\n\nImplement emulation of more jump conditional instructions\n    jcc shortrel\n    opcodes: 0x70 - 0x7f\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bbe9abbdaca366510db1f2df25f4c7b48cba38eb",
      "tree": "31b2019825d5b1e61916bb132ca4439d147b30dc",
      "parents": [
        "7de752482c71e1ef72ac9650deaeb6d293b8416d"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:23:07 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: x86 emulator: imlpement jump conditional relative\n\nImplement emulation of instruction:\n    jump conditional rel\n    opcodes: 0x0f 0x80 - 0x0f 0x8f\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7de752482c71e1ef72ac9650deaeb6d293b8416d",
      "tree": "3d81b07e1615ceb57b8636a779817cb0fe11e75a",
      "parents": [
        "054b1369679fb97582fc77f25a700d4290ff3e89"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sat Sep 15 10:13:07 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: x86 emulator: sort opcodes into ascending order\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "054b1369679fb97582fc77f25a700d4290ff3e89",
      "tree": "fc06afd41830c263f6c068d1bd743ef7fcf9637d",
      "parents": [
        "fd2a76086527cbe074b08a8820253228cd919ece"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Sep 12 13:21:09 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: Improve emulation failure reporting\n\nReport failed opcodes from all locations.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fd2a76086527cbe074b08a8820253228cd919ece",
      "tree": "01af6402d5437b4f7686ce790b673da3f453d210",
      "parents": [
        "f6eed39135c03d39ff4095b1ddd947672469dfee"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Tue Aug 28 18:22:47 2007 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: x86 emulator: pushf\n\nImplement emulation of instruction\n\tpushf\n\topcode: 0x9c\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f6eed39135c03d39ff4095b1ddd947672469dfee",
      "tree": "ce01911db566551519c1c23036b1d19e46928080",
      "parents": [
        "7d316911632acb8ba8cb7c1dd318ba723c9f1d50"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Tue Aug 28 18:08:37 2007 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: x86 emulator: call near\n\nImplement emulation of instruction\n\topcode: 0xe8\n\tcall (near)\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7d316911632acb8ba8cb7c1dd318ba723c9f1d50",
      "tree": "458b003794584fc80163339b468e2435b4470fbf",
      "parents": [
        "bfdaab090386e7dda8c442721eeb91179258dad4"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Tue Aug 28 17:58:52 2007 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: x86 emulator: push imm8\n\nImplement the instruction\n\n    \tpush imm8\n    \topcode: 0x6a\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bfdaab090386e7dda8c442721eeb91179258dad4",
      "tree": "35c7a10421a67316c0aa87f70b11db829137e4b9",
      "parents": [
        "04d2cc7780d48a212843e38d46402d97fa1f4774"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Wed Sep 12 14:18:28 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: VMX: Fix exit qualification width on i386\n\nAccording to Intel Software Developer\u0027s Manual, Vol. 3B, Appendix H.4.2,\nexit qualification should be of natural width. However, current code\nuses u64 as the data type for this register, which occasionally\nintroduces invalid value to VMExit handling logics. This patch fixes\nthis bug.\n\nI have tested Windows and Linux guest on i386 host, and they can boot\nsuccessfully with this patch.\n\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "04d2cc7780d48a212843e38d46402d97fa1f4774",
      "tree": "a209131bad59abcf574abbaae23145db3c4005e0",
      "parents": [
        "29bd8a78082f2d7e2165a735f50b5c716ef3213b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Sep 10 18:10:54 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:28 2007 +0200"
      },
      "message": "KVM: Move main vcpu loop into subarch independent code\n\nThis simplifies adding new code as well as reducing overall code size.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "29bd8a78082f2d7e2165a735f50b5c716ef3213b",
      "tree": "df91de19568c8c882c2306466484db098f14d9d9",
      "parents": [
        "2e3e5882dca3ab409aa8c9c96f47610b576719f8"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Sep 10 17:27:03 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: VMX: Move vm entry failure handling to the exit handler\n\nThis will help moving the main loop to subarch independent code.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e3e5882dca3ab409aa8c9c96f47610b576719f8",
      "tree": "53184e9026b67710bd74615b818c53a6b62c3ab4",
      "parents": [
        "cbdd1bea2a2dce4c0b45c5f0122c150d9f07f0bc"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Sep 10 11:28:17 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: MMU: Don\u0027t do GFP_NOWAIT allocations\n\nBefore preempt notifiers, kvm needed to allocate memory with GFP_NOWAIT so\nas not to have to enable preemption and take a heavyweight exit.  On oom, we\u0027d\nfall back to a GFP_KERNEL allocation.\n\nWith preemption notifiers, we can do a GFP_KERNEL allocation, and perform\nthe heavyweight exit only if the kernel decides to put us to sleep.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "cbdd1bea2a2dce4c0b45c5f0122c150d9f07f0bc",
      "tree": "c01443051868880733c2973abdd59c1d82fdd243",
      "parents": [
        "0d8d2bd4f20c8a2a254b4fe3bc114f12214a6d73"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Sun Sep 09 15:41:59 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Rename kvm_arch_ops to kvm_x86_ops\n\nThis patch just renames the current (misnamed) _arch namings to _x86 to\nensure better readability when a real arch layer takes place.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0d8d2bd4f20c8a2a254b4fe3bc114f12214a6d73",
      "tree": "ca8234bdcb71b7cc0955ef89ae5b028d19ca709e",
      "parents": [
        "1747fb71fd7c9389696e91f354d2f841b5c85790"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Thu Aug 30 14:56:21 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Simplify memory allocation\n\nThe mutex-\u003esplinlock convertion alllows us to make some code simplifications.\nAs we can keep the lock longer, we don\u0027t have to release it and then\nhave to check if the environment has not been modified before re-taking it. We\ncan remove kvm-\u003ebusy and kvm-\u003ememory_config_version.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1747fb71fd7c9389696e91f354d2f841b5c85790",
      "tree": "8c0658884e62693a94c2ebd35f83331ffa083a7d",
      "parents": [
        "81f50e3bfdf864103ef890ca156e7a9c922c7089"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 06 01:21:32 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Hoist SVM\u0027s get_cs_db_l_bits into core code.\n\nSVM gets the DB and L bits for the cs by decoding the segment.  This\nis in fact the completely generic code, so hoist it for kvm-lite to use.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "81f50e3bfdf864103ef890ca156e7a9c922c7089",
      "tree": "c05329c755cdda57966e3c6777bdee5f28d75c1e",
      "parents": [
        "b85b9ee9259917f248ee1507d7d1f575f4fc27dd"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 06 01:20:38 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Keep control regs in sync\n\nWe don\u0027t update the vcpu control registers in various places.  We\nshould do so.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b85b9ee9259917f248ee1507d7d1f575f4fc27dd",
      "tree": "7455f36a04f4e87665a1b44dcfc1b5595eeb9289",
      "parents": [
        "c9a1185c945c8db3185ad40092963cbb39192e31"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Sep 09 14:12:54 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Clean up unloved invlpg emulation\n\ninvlpg shouldn\u0027t fetch the \"src\" address, since it may not be valid,\nhowever SVM\u0027s \"solution\" which neuters emulation of all group 7\ninstruction is horrible and breaks kvm-lite.  The simplest fix is to\nput a special check in for invlpg.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c9a1185c945c8db3185ad40092963cbb39192e31",
      "tree": "f3125cea5f345710a0074a1f7c9c54e0d2cbe71e",
      "parents": [
        "380102c8e431ba8b25a5b3a29e4529ca02ede4c8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Sep 09 14:10:57 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Remove the unused invlpg member of struct kvm_arch_ops.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "380102c8e431ba8b25a5b3a29e4529ca02ede4c8",
      "tree": "27b4e5b9c6e6ed5f182955ef07af30fe893f94cb",
      "parents": [
        "c5ec153402b6d276fe20029da1059ba42a4b55e5"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Sat Aug 25 11:35:52 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:27 2007 +0200"
      },
      "message": "KVM: Set the ET flag in CR0 after initializing FX\n\nThis was missed when moving stuff around in fbc4f2e\n\nFixes Solaris guests and bug #1773613\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c5ec153402b6d276fe20029da1059ba42a4b55e5",
      "tree": "a323fd0466f606b66fc7239e78569863d62f6300",
      "parents": [
        "932f72adbe76f098922c746737cb0bd75fc21e27"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Mon Sep 03 17:07:41 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: enable in-kernel APIC INIT/SIPI handling\n\nThis patch enables INIT/SIPI handling using in-kernel APIC by\nintroducing a -\u003emp_state field to emulate the SMP state transition.\n\n[avi: remove smp_processor_id() warning]\n\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Xin Li \u003cxin.b.li@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "932f72adbe76f098922c746737cb0bd75fc21e27",
      "tree": "55a98bd0692094289d4bea4f5b2c58835f8b59df",
      "parents": [
        "40487c680d5855459dfdce340df13d40071bb774"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Mon Sep 03 17:01:36 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: round robin for APIC lowest priority delivery mode\n\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "40487c680d5855459dfdce340df13d40071bb774",
      "tree": "abc0ec56ecb1b6d1533b918621c060a1d38fccef",
      "parents": [
        "5cd4f6fd8506f59cb8a232f364c54f6bd8e5150a"
      ],
      "author": {
        "name": "Qing He",
        "email": "qing.he@intel.com",
        "time": "Mon Sep 17 14:47:13 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: deliver PIC interrupt only to vcpu0\n\nThis patch changes the PIC interrupts delivery. Now it is only delivered\nto vcpu0 when either condition is met (on vcpu0):\n  1. local APIC is hardware disabled\n  2. LVT0 is unmasked and configured to delivery mode ExtInt\n\nIt fixes the 2x faster wall clock on x86_64 and SMP i386 Linux guests\n\nSigned-off-by: Eddie (Yaozu) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5cd4f6fd8506f59cb8a232f364c54f6bd8e5150a",
      "tree": "b8ca584d9c8e308778b53457d57adadb462305ce",
      "parents": [
        "a3d7f85f471f889e4477863a7ca42828ae74e77d"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Thu Aug 30 17:04:26 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: disable tpr/cr8 sync when in-kernel APIC is used\n\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a3d7f85f471f889e4477863a7ca42828ae74e77d",
      "tree": "f75148a940f7e297da91f6a14ab573291ceb050f",
      "parents": [
        "1b9778dae71dc64d3678d766c0f1fbed79c80f9f"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Mon Sep 03 16:15:12 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: Migrate lapic hrtimer when vcpu moves to another cpu\n\nThis reduces overhead by accessing cachelines from the wrong node, as well\nas simplifying locking.\n\n[Qing: fix for inactive or expired one-shot timer]\n\nSigned-off-by: Yaozu (Eddie) Dong \u003cEddie.Dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1b9778dae71dc64d3678d766c0f1fbed79c80f9f",
      "tree": "3196bbfe474119a849f35aefddb5e0922205850f",
      "parents": [
        "6e5d865c0b9679b00b5e5f0754c9fc2b6b9894d6"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Mon Sep 03 16:56:58 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: Keep track of missed timer irq injections\n\nAPIC timer IRQ is set every time when a certain period\nexpires at host time, but the guest may be descheduled\nat that time and thus the irq be overwritten by later fire.\nThis patch keep track of firing irq numbers and decrease\nonly when the IRQ is injected to guest or buffered in\nAPIC.\n\nSigned-off-by: Yaozu (Eddie) Dong \u003cEddie.Dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6e5d865c0b9679b00b5e5f0754c9fc2b6b9894d6",
      "tree": "1b8133926578a16f8849143da5a7d5a6d9e67b24",
      "parents": [
        "2a8067f17b8442ecce0b14e134823020ff33b4fa"
      ],
      "author": {
        "name": "Yang, Sheng",
        "email": "sheng.yang@intel.com",
        "time": "Wed Sep 12 18:03:11 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: VMX: Use shadow TPR/cr8 for 64-bits guests\n\nThis patch enables TPR shadow of VMX on CR8 access. 64bit Windows using\nCR8 access TPR frequently. The TPR shadow can improve the performance of\naccess TPR by not causing vmexit.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2a8067f17b8442ecce0b14e134823020ff33b4fa",
      "tree": "e7f65775b3ced0c42de2df8118a84e7ddb9fff7d",
      "parents": [
        "96ad2cc6132479aa0aea485d0838a13fda765bd5"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Mon Aug 06 16:29:07 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:26 2007 +0200"
      },
      "message": "KVM: pending irq save/restore\n\nAdd in kernel irqchip save/restore support for pending vectors.\n\n[avi: fix compile warning on i386]\n[avi: remove printk]\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "96ad2cc6132479aa0aea485d0838a13fda765bd5",
      "tree": "dc3596b92981332cee0749004b7076a7d52a90b1",
      "parents": [
        "6bf9e962d14deb9e460afbbfd83ea2f450325c2d"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Thu Sep 06 12:22:56 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: in-kernel LAPIC save and restore support\n\nThis patch adds a new vcpu-based IOCTL to save and restore the local\napic registers for a single vcpu. The kernel only copies the apic page as\na whole, extraction of registers is left to userspace side. On restore, the\nAPIC timer is restarted from the initial count, this introduces a little\ndelay, but works fine.\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6bf9e962d14deb9e460afbbfd83ea2f450325c2d",
      "tree": "050b2be2fcded255afbb2512ed9c07adbd3f5b0f",
      "parents": [
        "c52fb35a8b5dada749d35fbe15ac1f9857b22896"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Sun Aug 05 10:49:16 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: in-kernel IOAPIC save and restore support\n\nThis patch adds support for in-kernel ioapic save and restore (to\nand from userspace). It uses the same get/set_irqchip ioctl as\nin-kernel PIC.\n\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c52fb35a8b5dada749d35fbe15ac1f9857b22896",
      "tree": "f3df58816b72f208cbf5bc734d3754d9435a632a",
      "parents": [
        "6ceb9d791eeeb0a5493958f5d6d4dc7d91e59cf7"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Thu Aug 02 14:03:07 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: Bypass irq_pending get/set when using in kernel irqchip\n\nvcpu-\u003eirq_pending is saved in get/set_sreg IOCTL, but when in-kernel\nlocal APIC is used, doing this may occasionally overwrite vcpu-\u003eapic to\nan invalid value, as in the vm restore path.\n\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\n"
    },
    {
      "commit": "6ceb9d791eeeb0a5493958f5d6d4dc7d91e59cf7",
      "tree": "8cef21acf9346fdbea36075029dc007fe969b51e",
      "parents": [
        "9cf98828d12285d1fb43e774c8c100a55f8f34e1"
      ],
      "author": {
        "name": "He, Qing",
        "email": "qing.he@intel.com",
        "time": "Thu Jul 26 11:05:18 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: Add get/set irqchip ioctls for in-kernel PIC live migration support\n\nThis patch adds two new ioctls to dump and write kernel irqchips for\nsave/restore and live migration. PIC s/r and l/m is implemented in this\npatch.\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9cf98828d12285d1fb43e774c8c100a55f8f34e1",
      "tree": "0b9d1f8b2af7423c34ebf7e3df4c5c27a3aabf64",
      "parents": [
        "b6958ce44a11a9e9425d2b67a653b1ca2a27796f"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Sun Jul 22 10:36:31 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: Protect in-kernel pio using kvm-\u003elock\n\npio operation and IRQ_LINE kvm_vm_ioctl is not kvm-\u003elock\nprotected.  Add lock to same with IOAPIC MMIO operations.\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b6958ce44a11a9e9425d2b67a653b1ca2a27796f",
      "tree": "503478ef27254df9b6ea21d2a6a279a7dfe2ef04",
      "parents": [
        "1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Wed Jul 18 12:15:21 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: Emulate hlt in the kernel\n\nBy sleeping in the kernel when hlt is executed, we simplify the in-kernel\nguest interrupt path considerably.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997",
      "tree": "eb7d79c7f39788547a5dd9844295814085fcccc6",
      "parents": [
        "97222cc8316328965851ed28d23f6b64b4c912d2"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Wed Jul 18 12:03:39 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: In-kernel I/O APIC model\n\nThis allows in-kernel host-side device drivers to raise guest interrupts\nwithout going to userspace.\n\n[avi: fix level-triggered interrupt redelivery on eoi]\n[avi: add missing #include]\n[avi: avoid redelivery of edge-triggered interrupt]\n[avi: implement polarity]\n[avi: don\u0027t deliver edge-triggered interrupts when unmasking]\n[avi: fix host oops on invalid guest access]\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "97222cc8316328965851ed28d23f6b64b4c912d2",
      "tree": "469b2f72e74046a7aec5061df194c3f68812a224",
      "parents": [
        "7017fc3d1a12e30ea7df4992152978a188433457"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Wed Sep 12 10:58:04 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: Emulate local APIC in kernel\n\nBecause lightweight exits (exits which don\u0027t involve userspace) are many\ntimes faster than heavyweight exits, it makes sense to emulate high usage\ndevices in the kernel.  The local APIC is one such device, especially for\nWindows and for SMP, so we add an APIC model to kvm.\n\nIt also allows in-kernel host-side drivers to inject interrupts without\ngoing through userspace.\n\n[compile fix on i386 from Jindrich Makovicka]\n\nSigned-off-by: Yaozu (Eddie) Dong \u003cEddie.Dong@intel.com\u003e\nSigned-off-by: Qing He \u003cqing.he@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7017fc3d1a12e30ea7df4992152978a188433457",
      "tree": "ebbe0e5852ddd58bddfed389412c86c7692d2724",
      "parents": [
        "85f455f7ddbed403b34b4d54b1eaf0e14126a126"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Wed Jul 18 11:34:57 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:25 2007 +0200"
      },
      "message": "KVM: Define and use cr8 access functions\n\nThis patch is to wrap APIC base register and CR8 operation which can\nprovide a unique API for user level irqchip and kernel irqchip.\nThis is a preparation of merging lapic/ioapic patch.\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "85f455f7ddbed403b34b4d54b1eaf0e14126a126",
      "tree": "1dba7aa8fee3c8f756e12049c496dee5baae752c",
      "parents": [
        "152d3f2f246ce3c2a0cf2fc6c2214663cd99aa83"
      ],
      "author": {
        "name": "Eddie Dong",
        "email": "eddie.dong@intel.com",
        "time": "Fri Jul 06 12:20:49 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: Add support for in-kernel PIC emulation\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "152d3f2f246ce3c2a0cf2fc6c2214663cd99aa83",
      "tree": "e499626bab90fc75a9c0cc97e96c68a7fd4bbaa3",
      "parents": [
        "d39dba54ce71ab3234c387219b175dc36d37f85a"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Thu Aug 23 16:33:11 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: VMX: Split segments reload in vmx_load_host_state()\n\nvmx_load_host_state() bundles fs, gs, ldt, and tss reloading into\none in the hope that it is infrequent. With smp guests, fs reloading is\nfrequent due to fs being used by threads.\n\nUnbundle the reloads so reduce expensive gs reloads.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d39dba54ce71ab3234c387219b175dc36d37f85a",
      "tree": "6a444977fcef69ca3ec4dc5bee6de400cabf70c8",
      "parents": [
        "2e2c618dad6d5768da4a891ff71fc1ca0cbd3fe0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 22 18:09:29 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: X86 emulator: fix \u0027push reg\u0027 writeback\n\nPointed out by Rusty Russell.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e2c618dad6d5768da4a891ff71fc1ca0cbd3fe0",
      "tree": "7fe724c27e9c3215266542db5141b5da972b5bc3",
      "parents": [
        "33f5fa1664046208b890e9231a47e377fdfc7762"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Aug 20 18:11:00 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: Support more memory slots\n\nNeeded for mapping memory at 4GB.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "33f5fa1664046208b890e9231a47e377fdfc7762",
      "tree": "d1cc330dc5d1bf3ddc3df94958759f1f3b3d7583",
      "parents": [
        "7e778161fb4612d2ceac9604f10e1061f5f4cf48"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Sun Aug 19 22:24:58 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: VMX: allow rmode_tss_base() to work with \u003e2G of guest memory\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e778161fb4612d2ceac9604f10e1061f5f4cf48",
      "tree": "f669f337eba6f18e4aded150caa7979ff9326659",
      "parents": [
        "c53ce170a9e8531f293e402c7d8c65e38452a551"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sun Aug 19 11:07:06 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: x86 emulator: implement \u0027push reg\u0027 (opcodes 0x50-0x57)\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c53ce170a9e8531f293e402c7d8c65e38452a551",
      "tree": "ea7b8121ffc312521ba0abeb49276731cf95face",
      "parents": [
        "098c937ba30acc5b7dcb6a4ad7cc8d63c7117546"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sun Aug 19 11:03:13 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: x86 emulator: Implement \u0027jmp rel short\u0027 instruction (opcode 0xeb)\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "098c937ba30acc5b7dcb6a4ad7cc8d63c7117546",
      "tree": "ce611f0ff8ebad545c6664c25602b75cfe9605a7",
      "parents": [
        "19eb938e0115693414a83b6bde2b67896bd9953a"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Sun Aug 19 11:00:36 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:24 2007 +0200"
      },
      "message": "KVM: x86 emulator: implement \u0027jmp rel\u0027 instruction (opcode 0xe9)\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "19eb938e0115693414a83b6bde2b67896bd9953a",
      "tree": "16174b87dc16d32d0efe19162acba0db9ee6e190",
      "parents": [
        "253abdee5ec2edd0a7f6dc2358bef42e3fdf1f39"
      ],
      "author": {
        "name": "Nitin A Kamble",
        "email": "nitin.a.kamble@intel.com",
        "time": "Fri Aug 17 15:17:41 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: x86 emulator: implement \u0027and $imm, %{al|ax|eax}\u0027\n\nImplement emulation of instruction\n    and al imm8 (opcode 0x24)\n    and ax/eax imm16/imm32 (opcode 0x25)\n\nSigned-off-by: Nitin A Kamble \u003cnitin.a.kamble@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "253abdee5ec2edd0a7f6dc2358bef42e3fdf1f39",
      "tree": "a9823774dcf3fa7a66c1895b78528d3239eaa71b",
      "parents": [
        "7e66f350cfc853043bfa71b281581dd6f92fa347"
      ],
      "author": {
        "name": "Yang, Sheng",
        "email": "sheng.yang@intel.com",
        "time": "Thu Aug 16 13:01:00 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: Communicate cr8 changes to userspace\n\nThis allows running 64-bit Windows.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e66f350cfc853043bfa71b281581dd6f92fa347",
      "tree": "bbf821c3fd4578cfacb07deaa59f18da5eaa4411",
      "parents": [
        "3090dd7377c7eb5cbe229e2a538f9dc7e5b06814"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Aug 15 15:23:34 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: Close minor race in signal handling\n\nWe need to check for signals inside the critical section, otherwise a\nsignal can be sent which we will not notice.  Also move the check\nbefore entry, so that if the signal happens before the first entry,\nwe exit immediately instead of waiting for something to happen to the\nguest.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3090dd7377c7eb5cbe229e2a538f9dc7e5b06814",
      "tree": "7f93e361f5bcea61b9b10f607fb69e4d9b124478",
      "parents": [
        "e70669abd4e60dfea3ac1639848e20e2b8dd1255"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Sun Aug 05 10:43:32 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: Clean up kvm_setup_pio()\n\nSplit kvm_setup_pio() into two functions, one to setup in/out pio\n(kvm_emulate_pio()) and one to setup ins/outs pio (kvm_emulate_pio_string()).\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e70669abd4e60dfea3ac1639848e20e2b8dd1255",
      "tree": "4625f787efdf5f586514cd6306e045a97edb490e",
      "parents": [
        "9fdaaac38e8c8a63c6383b807b91fea2d51da95d"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Sun Aug 05 10:36:40 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: Cleanup string I/O instruction emulation\n\nBoth vmx and svm decode the I/O instructions, and both botch the job,\nrequiring the instruction prefixes to be fetched in order to completely\ndecode the instruction.\n\nSo, if we see a string I/O instruction, use the x86 emulator to decode it,\nas it already has all the prefix decoding machinery.\n\nThis patch defines ins/outs opcodes in x86_emulate.c and calls\nemulate_instruction() from io_interception() (svm.c) and from handle_io()\n(vmx.c).  It removes all vmx/svm prefix instruction decoders\n(get_addr_size(), io_get_override(), io_address(), get_io_count())\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9fdaaac38e8c8a63c6383b807b91fea2d51da95d",
      "tree": "57ec20214ff8c70ad256b0aabe1b8e6cd35267f7",
      "parents": [
        "1e4e6e00136b82a5595de903c28912afee1178cb"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Wed Aug 01 21:51:09 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: Remove useless assignment\n\nLine 1809 of kvm_main.c is useless, value is overwritten in line 1815:\n\n1809         now \u003d min(count, PAGE_SIZE / size);\n1810\n1811         if (!down)\n1812                 in_page \u003d PAGE_SIZE - offset_in_page(address);\n1813         else\n1814                 in_page \u003d offset_in_page(address) + size;\n1815         now \u003d min(count, (unsigned long)in_page / size);\n1816         if (!now) {\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1e4e6e00136b82a5595de903c28912afee1178cb",
      "tree": "cdbd7155de3754fafb0a20172a8e0aaec34e6bf5",
      "parents": [
        "a477034750ce59df7fc17823f085df5a30e316f0"
      ],
      "author": {
        "name": "Li, Xin B",
        "email": "xin.b.li@intel.com",
        "time": "Wed Aug 01 21:49:10 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: VMX: Remove a duplicated ia32e mode vm entry control\n\nRemove a duplicated ia32e mode VM Entry control definition and use the\nproper one.\n\nSigned-off-by: Xin Li \u003cxin.b.li@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a477034750ce59df7fc17823f085df5a30e316f0",
      "tree": "cfca29ba12e9bcb7256ff424438020545721e305",
      "parents": [
        "f02424785ab83bab8283ad33044284f749c08db8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 01 14:46:11 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:23 2007 +0200"
      },
      "message": "KVM: Use kmem_cache_free for kmem_cache_zalloc\u0027ed objects\n\nWe use kfree in svm.c and vmx.c, and this works, but it could break at\nany time.  kfree() is supposed to match up with kmalloc().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f02424785ab83bab8283ad33044284f749c08db8",
      "tree": "020d73469f801e33012702c58233e776381d3008",
      "parents": [
        "33830b4f5bdf2bc21d0c10d38beffdce8edcded7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 01 10:48:02 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Add and use pr_unimpl for standard formatting of unimplemented features\n\nAll guest-invokable printks should be ratelimited to prevent malicious\nguests from flooding logs.  This is a start.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "33830b4f5bdf2bc21d0c10d38beffdce8edcded7",
      "tree": "e83e66a0e86988ad22cbebd75d41b82134ecb78b",
      "parents": [
        "3dea7ca7160f80dd6d31c0bbeb2d871e51b567b6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 01 10:17:06 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Remove unneeded kvm_dev_open and kvm_dev_release functions.\n\nDevices don\u0027t need open or release functions.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3dea7ca7160f80dd6d31c0bbeb2d871e51b567b6",
      "tree": "74ee76cb5dc45e3f3b39c8dbd0b2e4089a5d6ff4",
      "parents": [
        "54e11fa1f87771df0fc1bb42a75be0740c3babb9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 01 10:12:22 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Remove stat_set from debugfs\n\nWe shouldn\u0027t define stat_set on the debug attributes, since that will\ncause silent failure on writing: without a set argument, userspace\nwill get -EACCESS.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "54e11fa1f87771df0fc1bb42a75be0740c3babb9",
      "tree": "b46e10a86643ed8c52e340fff43342aadca8463e",
      "parents": [
        "37c00051b53861929a910309c1823b415d55cfdf"
      ],
      "author": {
        "name": "Gabriel C",
        "email": "nix.or.die@googlemail.com",
        "time": "Wed Aug 01 16:23:10 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Fix defined but not used warning in drivers/kvm/vmx.c\n\nmove_msr_up() is used only on X86_64 and generates a warning on !X86_64\n\nSigned-off-by: Gabriel Craciunescu \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "37c00051b53861929a910309c1823b415d55cfdf",
      "tree": "f14333721339eeb3f20030e3d8a5b7a008ff2854",
      "parents": [
        "bfc733a7a32612fe213a7492c385f2b03f592d7f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 31 20:46:12 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Remove redundant alloc_vmcs_cpu declaration\n\nalloc_vmcs_cpu is already declared (static) above, no need to\nredeclare.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bfc733a7a32612fe213a7492c385f2b03f592d7f",
      "tree": "74b14d353f1bf2a5420a07dc8a9f7ce1e7b74a7d",
      "parents": [
        "7e9d619d2aa28b71d547edfa15c66d6ab9a3a39c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 31 20:42:42 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: SVM: Make set_msr_interception more reliable\n\nset_msr_interception() is used by svm to set up which MSRs should be\nintercepted.  It can only fail if someone has changed the code to try\nto intercept an MSR without updating the array of ranges.\n\nThe return value is ignored anyway: it should just BUG() if it doesn\u0027t\nwork.  (A build-time failure would be better, but that\u0027s tricky).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e9d619d2aa28b71d547edfa15c66d6ab9a3a39c",
      "tree": "6500d9365b0d9db2988fd7d33cacb1e2cf1d0337",
      "parents": [
        "fb764416492a1204c20fdf4507019012d27bd1a2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 31 20:41:14 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Cleanup mark_page_dirty\n\nFor some reason, mark_page_dirty open-codes __gfn_to_memslot().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fb764416492a1204c20fdf4507019012d27bd1a2",
      "tree": "f20613a42ae71afd741b65a0e544d865acda9c12",
      "parents": [
        "002c7f7c32a6123f0894d7d579ffae8e98911830"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 31 20:45:03 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: Don\u0027t assign vcpu-\u003ecr3 if it\u0027s invalid: check first, set last\n\nsSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "002c7f7c32a6123f0894d7d579ffae8e98911830",
      "tree": "91d46dd1d6f04f25e4f658eb8620fe69c1557c17",
      "parents": [
        "39214915f50f6ac2350355f2db63910d968fa790"
      ],
      "author": {
        "name": "Yang, Sheng",
        "email": "sheng.yang@intel.com",
        "time": "Tue Jul 31 14:23:01 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:22 2007 +0200"
      },
      "message": "KVM: VMX: Add cpu consistency check\n\nAll the physical CPUs on the board should support the same VMX feature\nset.  Add check_processor_compatibility to kvm_arch_ops for the consistency\ncheck.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "39214915f50f6ac2350355f2db63910d968fa790",
      "tree": "0314e24ba07b5e0f20fa5ef71e82e2481a56b3f7",
      "parents": [
        "b114b0804df7131cb6764b948c1c530c834fa3c0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 31 19:57:47 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: kvm_vm_ioctl_get_dirty_log restore \"nothing dirty\" optimization\n\nkvm_vm_ioctl_get_dirty_log scans bitmap to see it it\u0027s all zero, but\ndoesn\u0027t use that information.\n\nAvi says:\n\tLooks like it was used to guard\tkvm_mmu_slot_remove_write_access();\n\toptimizing the case where the guest just leaves the screen alone (which\n\tit usually does, especially in benchmarks).\n\n\tI\u0027d rather reinstate that optimization.  See\n\t90cb0529dd230548a7f0d6b315997be854caea1b where the damage was done.\n\nIt\u0027s pretty simple: if the bitmap is all zero, we don\u0027t need to do anything to\nclean it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b114b0804df7131cb6764b948c1c530c834fa3c0",
      "tree": "4e5ced9ed1cdb673d27b26b166cd0bd7c845d5b9",
      "parents": [
        "c16f862d0257349607b7a9be7b4a4b7ed419a3ab"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 21:13:43 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: Use alignment properties of vcpu to simplify FPU ops\n\nNow we use a kmem cache for allocating vcpus, we can get the 16-byte\nalignment required by fxsave \u0026 fxrstor instructions, and avoid\nmanually aligning the buffer.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c16f862d0257349607b7a9be7b4a4b7ed419a3ab",
      "tree": "f84e9f43f845640a0cc887fe8697ab0b3a4e788b",
      "parents": [
        "e7d5d76cae970117affe07f809faf0f18bbac675"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 21:12:19 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: Use kmem cache for allocating vcpus\n\nAvi wants the allocations of vcpus centralized again.  The easiest way\nis to add a \"size\" arg to kvm_init_arch, and expose the thus-prepared\ncache to the modules.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e7d5d76cae970117affe07f809faf0f18bbac675",
      "tree": "3410ce6d12e1095affcd4e6f7fd36716587916c6",
      "parents": [
        "cebff02b11b02a81d21b6cc8390938dc9bdf0a12"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Jul 30 13:41:19 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: Remove kvm_{read,write}_guest()\n\n... in favor of the more general emulator_{read,write}_*.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "cebff02b11b02a81d21b6cc8390938dc9bdf0a12",
      "tree": "99641f1b444835fca8218a5f5b10d2d1bd6ad429",
      "parents": [
        "0e5017d4ae981b0311a3ec1ca04806a4ae7d7446"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Mon Jul 30 13:35:24 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: Change the emulator_{read,write,cmpxchg}_* functions to take a vcpu\n\n... instead of a x86_emulate_ctxt, so that other callers can use it easily.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0e5017d4ae981b0311a3ec1ca04806a4ae7d7446",
      "tree": "1181fb12dbfed7456ff007c77cdcc69ba948d2ce",
      "parents": [
        "e756fc626d7d8a220864dd6bc6634d9d933650b0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 20:08:05 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: SVM: internal function name cleanup\n\nChanges some svm.c internal function names:\n1) io_adress -\u003e io_address  (de-germanify the spelling)\n2) kvm_reput_irq -\u003e reput_irq  (it\u0027s not a generic kvm function)\n3) kvm_do_inject_irq -\u003e (it\u0027s not a generic kvm function)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e756fc626d7d8a220864dd6bc6634d9d933650b0",
      "tree": "03ec44448f28c9cf42f0c0e6c514c876102275a6",
      "parents": [
        "3077c4513c46f66537c1205acc464e49c9847dc0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 20:07:08 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: SVM: de-containization\n\ncontainer_of is wonderful, but not casting at all is better.  This\npatch changes svm.c\u0027s internal functions to pass \"struct vcpu_svm\"\ninstead of \"struct kvm_vcpu\" and using container_of.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3077c4513c46f66537c1205acc464e49c9847dc0",
      "tree": "c259f223d6815528d357b338c4915783ebc8c8ac",
      "parents": [
        "8b9cf98cc7ea7354d6d4cbc4ffdb18a26a1129d3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 16:41:57 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: Remove three magic numbers\n\nThere are several places where hardcoded numbers are used in place of\nthe easily-available constant, which is poor form.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8b9cf98cc7ea7354d6d4cbc4ffdb18a26a1129d3",
      "tree": "e9bb48a799538c24c2ccd6b5023446d18076c881",
      "parents": [
        "9bd01506ee551689b90ba5822c28ef55207146af"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 16:31:43 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:21 2007 +0200"
      },
      "message": "KVM: VMX: pass vcpu_vmx internally\n\ncontainer_of is wonderful, but not casting at all is better.  This\npatch changes vmx.c\u0027s internal functions to pass \"struct vcpu_vmx\"\ninstead of \"struct kvm_vcpu\" and using container_of.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9bd01506ee551689b90ba5822c28ef55207146af",
      "tree": "811e7ac5e8571e172fce8b7199830f9f511440ba",
      "parents": [
        "11ec2804711896546ee3c945f3786c7f9fdd175a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 16:29:56 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: fx_init() needs preemption disabled while it plays with the FPU state\n\nNow that kvm generally runs with preemption enabled, we need to protect\nthe fpu intialization sequence.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "11ec2804711896546ee3c945f3786c7f9fdd175a",
      "tree": "1e26102931efb8b0b48c440887577d21170ef94a",
      "parents": [
        "15ad71460d75fd7ca41bb248a2310f3f39b302ba"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Jul 23 14:51:37 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: Convert vm lock to a mutex\n\nThis allows the kvm mmu to perform sleepy operations, such as memory\nallocation.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "15ad71460d75fd7ca41bb248a2310f3f39b302ba",
      "tree": "1ea549e5c5629561c121a54def146fb6b706c2d4",
      "parents": [
        "519ef35341b4f360f072ea74e398b70a5a2fc270"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jul 11 18:17:21 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: Use the scheduler preemption notifiers to make kvm preemptible\n\nCurrent kvm disables preemption while the new virtualization registers are\nin use.  This of course is not very good for latency sensitive workloads (one\nuse of virtualization is to offload user interface and other latency\ninsensitive stuff to a container, so that it is easier to analyze the\nremaining workload).  This patch re-enables preemption for kvm; preemption\nis now only disabled when switching the registers in and out, and during\nthe switch to guest mode and back.\n\nContains fixes from Shaohua Li \u003cshaohua.li@intel.com\u003e.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "519ef35341b4f360f072ea74e398b70a5a2fc270",
      "tree": "aabebcfaea5ed195dfa106863361c6e8c24269f7",
      "parents": [
        "1c3d14fe0ab75337a3f6c06b6bc18bcbc2b3d0bc"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 16 15:24:47 2007 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: add hypercall nr to kvm_run\n\nAdd the hypercall number to kvm_run and initialize it.  This changes the ABI,\nbut as this particular ABI was unusable before this no users are affected.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1c3d14fe0ab75337a3f6c06b6bc18bcbc2b3d0bc",
      "tree": "f3d2533b5250e8405af14f99c2810bb3ead1a06c",
      "parents": [
        "fb3f0f51d92d1496f9628ca6f0fb06a48dc9ed2a"
      ],
      "author": {
        "name": "Yang, Sheng",
        "email": "sheng.yang@intel.com",
        "time": "Sun Jul 29 11:07:42 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: VMX: Improve the method of writing vmcs control\n\nPut cpu feature detecting part in hardware_setup, and stored the vmcs\ncondition in global variable for further check.\n\n[glommer: fix for some i386-only machines not supporting CR8 load/store\n exiting]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fb3f0f51d92d1496f9628ca6f0fb06a48dc9ed2a",
      "tree": "38da1073dae5f30fd8f162669bb5a86959f8ace5",
      "parents": [
        "a2fa3e9f52d875f7d4ca98434603b8756be71ba8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 27 17:16:56 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: Dynamically allocate vcpus\n\nThis patch converts the vcpus array in \"struct kvm\" to a pointer\narray, and changes the \"vcpu_create\" and \"vcpu_setup\" hooks into one\n\"vcpu_create\" call which does the allocation and initialization of the\nvcpu (calling back into the kvm_vcpu_init core helper).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a2fa3e9f52d875f7d4ca98434603b8756be71ba8",
      "tree": "915c13bfedc867d4d2e4b98c4d3b10b6ef25d451",
      "parents": [
        "c820c2aa27bb5b6069aa708b0a0b44b59a16bfa7"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jul 27 08:13:10 2007 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: Remove arch specific components from the general code\n\nstruct kvm_vcpu has vmx-specific members; remove them to a private structure.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c820c2aa27bb5b6069aa708b0a0b44b59a16bfa7",
      "tree": "4fbf8adca97cafb1f52968fed36963fb36c4254d",
      "parents": [
        "3ccb8827fb3bd389ed15320da83543d016a94822"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jul 25 13:29:51 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:20 2007 +0200"
      },
      "message": "KVM: load_pdptrs() cleanups\n\nload_pdptrs can be handed an invalid cr3, and it should not oops.\nThis can happen because we injected #gp in set_cr3() after we set\nvcpu-\u003ecr3 to the invalid value, or from kvm_vcpu_ioctl_set_sregs(), or\nmemory configuration changes after the guest did set_cr3().\n\nWe should also copy the pdpte array once, before checking and\nassigning, otherwise an SMP guest can potentially alter the values\nbetween the check and the set.\n\nFinally one nitpick: ret \u003d 1 should be done as late as possible: this\nallows GCC to check for unset \"ret\" should the function change in\nfuture.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3ccb8827fb3bd389ed15320da83543d016a94822",
      "tree": "b9478f4ee71c807409f490f768eda060a940834a",
      "parents": [
        "62b3ffb8b357a791491726cff8d395027e5245b7"
      ],
      "author": {
        "name": "Aurelien Jarno",
        "email": "aurelien@aurel32.net",
        "time": "Wed Jul 25 11:41:57 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: Remove dead code in the cmpxchg instruction emulation\n\nThe writeback fixes (02c03a326a5df825cc01de426f72e160db2b9538) let\nsome dead code in the cmpxchg instruction emulation. Remove it.\n\nSigned-off-by: Aurelien Jarno \u003caurelien@aurel32.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "62b3ffb8b357a791491726cff8d395027e5245b7",
      "tree": "c33b0eb391258ef5c42d16d3638ca53e58ed9fd6",
      "parents": [
        "fe5518819463d57ed032bc12458ed681bc790609"
      ],
      "author": {
        "name": "Yang, Sheng",
        "email": "sheng.yang@intel.com",
        "time": "Wed Jul 25 12:17:06 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: VMX: Import some constants of vmcs from IA32 SDM\n\nThis patch mainly imports some constants and rename two exist constants\nof vmcs according to IA32 SDM.\n\nIt also adds two constants to indicate Lock bit and Enable bit in\nMSR_IA32_FEATURE_CONTROL, and replace the hardcode _5_ with these two\nbits.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fe5518819463d57ed032bc12458ed681bc790609",
      "tree": "15d13f175f2b77970eb7d84d442689426cafd283",
      "parents": [
        "9ae0448f53324b3c476f68bd134d97ac4ec27e0c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Jul 23 14:51:39 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: Move gfn_to_page out of kmap/unmap pairs\n\ngfn_to_page might sleep with swap support. Move it out of the kmap calls.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9ae0448f53324b3c476f68bd134d97ac4ec27e0c",
      "tree": "90b5c3c166bd9ce9c9b415c6a6246c2fdb53693c",
      "parents": [
        "310bc76c2b6829cd280def4927b7ccf8b8c795df"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Jul 23 14:51:32 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: Hoist kvm_mmu_reload() out of the critical section\n\nvmx_cpu_run doesn\u0027t handle error correctly and kvm_mmu_reload might\nsleep with mutex changes, so I move it above.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "310bc76c2b6829cd280def4927b7ccf8b8c795df",
      "tree": "966430f5cda166421960e7178f3f71a62b735a70",
      "parents": [
        "394b6e5944865a558fe25f0c5903b34c434038ee"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 23 17:11:02 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: Return if the pdptrs are invalid when the guest turns on PAE.\n\nDon\u0027t fall through and turn on PAE in this case.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "394b6e5944865a558fe25f0c5903b34c434038ee",
      "tree": "506650eb8e2b4c4e1f553bcc0cc568a65f99c357",
      "parents": [
        "e3243452f4f35ed5f79d575100521bf257504b81"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 22 15:51:58 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: x86 emulator: fix faulty check for two-byte opcode\n\nRight now, the bug is harmless as we never emulate one-byte 0xb6 or 0xb7.\nBut things may change.\n\nNoted by the mysterious Gabriel C.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e3243452f4f35ed5f79d575100521bf257504b81",
      "tree": "f694786005d9835c80070d11881872cc8e708b19",
      "parents": [
        "7075bc816cfad142da92207ed5a6f3da55b143ef"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jul 20 12:30:58 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: x86 emulator: fix cmov for writeback changes\n\nThe writeback fixes (02c03a326a5df825cc01de426f72e160db2b9538) broke\ncmov emulation.  Fix.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7075bc816cfad142da92207ed5a6f3da55b143ef",
      "tree": "d7b7581a9968d89fac5587d2378390b5939d28ec",
      "parents": [
        "8fc0d085f521a2a76418f8f569cf1cd27f0e43d4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:37:17 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: Use standard CR8 flags, and fix TPR definition\n\nIntel manual (and KVM definition) say the TPR is 4 bits wide.  Also fix\nCR8_RESEVED_BITS typo.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8fc0d085f521a2a76418f8f569cf1cd27f0e43d4",
      "tree": "f4820bd9da8c2e1f7059f5709e3ac6097ff218f6",
      "parents": [
        "9eb829ced8c6f2e43a3a644ddf1279ffeee38a33"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Jul 17 12:26:59 2007 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:19 2007 +0200"
      },
      "message": "KVM: Set exit_reason to KVM_EXIT_MMIO where run-\u003emmio is initialized.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9eb829ced8c6f2e43a3a644ddf1279ffeee38a33",
      "tree": "ea8360405de41110dd0063a9838447c5a7ab2632",
      "parents": [
        "66aee91aaab8f998d28a61ed7733be17ad8e6d8f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jul 18 13:05:58 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Trivial: Use standard BITMAP macros, open-code userspace-exposed header\n\nCreating one\u0027s own BITMAP macro seems suboptimal: if we use manual\narithmetic in the one place exposed to userspace, we can use standard\nmacros elsewhere.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "66aee91aaab8f998d28a61ed7733be17ad8e6d8f",
      "tree": "f3cd552c4a176cbba0929788b03867cb33d7b5b5",
      "parents": [
        "f802a307cb2cabdd0c6b48067dbe901d6fe27246"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:34:16 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Use standard CR4 flags, tighten checking\n\nOn this machine (Intel), writing to the CR4 bits 0x00000800 and\n0x00001000 cause a GPF.  The Intel manual is a little unclear, but\nAFIACT they\u0027re reserved, too.\n\nAlso fix spelling of CR4_RESEVED_BITS.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f802a307cb2cabdd0c6b48067dbe901d6fe27246",
      "tree": "57c5faaada33142fff92be62a78555716feb597a",
      "parents": [
        "707d92fa72b425bc919a84670c01402e81505c58"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:32:55 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Use standard CR3 flags, tighten checking\n\nThe kernel now has asm/cpu-features.h: use those macros instead of inventing\nour own.\n\nAlso spell out definition of CR3_RESEVED_BITS, fix spelling and\ntighten it for the non-PAE case.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "707d92fa72b425bc919a84670c01402e81505c58",
      "tree": "9e3a55293e867e499fd625ebac45db565ff0fc38",
      "parents": [
        "9a2b85c620b9779360c7726de4caeda78cac38d4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:19:08 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Trivial: Use standard CR0 flags macros from asm/cpu-features.h\n\nThe kernel now has asm/cpu-features.h: use those macros instead of\ninventing our own.\n\nAlso spell out definition of CR0_RESEVED_BITS (no code change) and fix typo.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9a2b85c620b9779360c7726de4caeda78cac38d4",
      "tree": "e7c88dff76bfabaf3630a9e462b37308a51b1e65",
      "parents": [
        "dcc0766b22e165bcb80518bf367e86b81fcf4351"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:17:55 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Trivial: Avoid hardware_disable predeclaration\n\nDon\u0027t pre-declare hardware_disable: shuffle the reboot hook down.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "dcc0766b22e165bcb80518bf367e86b81fcf4351",
      "tree": "96a829e8ddeb40d7b0e9cc53c7bbc8fbb0b433cf",
      "parents": [
        "1e3c5cb0d5a63b7169708614bfba0c7f25aa493e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:16:56 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Trivial: Comment spelling may escape grep\n\nSpeling error in comment.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1e3c5cb0d5a63b7169708614bfba0c7f25aa493e",
      "tree": "55c1d3ded12dbacc2962a3406bcf5da3aa68a513",
      "parents": [
        "5eb549a085c3500f2b9d8b48d40393b6e50b68a9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:16:11 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Trivial: Make decode_register() static\n\nI have shied away from touching x86_emulate.c (it could definitely use\nsome love, but it is forked from the Xen code, and it would be more\nproductive to cross-merge fixes).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5eb549a085c3500f2b9d8b48d40393b6e50b68a9",
      "tree": "224105441b3271c80a7175801076da56237c6653",
      "parents": [
        "dea8caee7b6971ae90e9d303b5d98dbf2dafed53"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 23:15:29 2007 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sat Oct 13 10:18:18 2007 +0200"
      },
      "message": "KVM: Trivial: Remove unused struct cpu_user_regs declaration\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "65619eb5a88dae3dadbb1050f957ed357aa54a50"
}
