)]}'
{
  "log": [
    {
      "commit": "da69dee073a27ee2d4e50c9b19e9faf8776857eb",
      "tree": "ec7345ddc3c213d9b61c3aa5d0532b6ff81c98ce",
      "parents": [
        "98362dec835218206fdb55212667040d23d3a440"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Sep 19 13:24:10 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:26:43 2011 +0200"
      },
      "message": "KVM: PPC: Whitespace fix for kvm.h\n\nkvm.h had sparse whitespace at the end of the line. Clean it\nup so syncing with QEMU gets easier.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "98362dec835218206fdb55212667040d23d3a440",
      "tree": "f849d78a66e40fc192fa11d0649d8a294d346883",
      "parents": [
        "6c9b7c409ca2840ba589a869c48e641b40966e30"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Sep 19 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:26:41 2011 +0200"
      },
      "message": "KVM: Fix whitespace in kvm_para.h\n\nWhen syncing KVM headers with QEMU I (or whoever applies the\ndiff) end up automatically fixing whitespaces. One of them\nis in kvm_para.h.\n\nIt\u0027s a lot more consistent for people who don\u0027t do the whitespace\nfixups automatically to already have fixed headers in Linux. So\nremove the sparse empty line at the end of kvm_para.h and everyone\u0027s\nhappy.\n\nReported-by: Blue Swirl \u003cblauwirbel@gmail.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "6c9b7c409ca2840ba589a869c48e641b40966e30",
      "tree": "6e43700bb2cb37775357f2377e6cad1d3ff11623",
      "parents": [
        "222d21aa070a4885ce3c7125a1b7ce07429ea4a1"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Mon Nov 07 13:29:56 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:26:40 2011 +0200"
      },
      "message": "KVM: PPC: annotate kvm_rma_init as __init\n\nkvm_rma_init() is only called at boot-time, by setup_arch, which is also __init.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "222d21aa070a4885ce3c7125a1b7ce07429ea4a1",
      "tree": "dbbfa00ef566c75bf7e412a894745ee050b35b26",
      "parents": [
        "80bdec64c05b645708b0dd97919783ad077fcdc8"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 10 14:57:30 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:43 2011 +0200"
      },
      "message": "KVM: x86 emulator: implement RDPMC (0F 33)\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "80bdec64c05b645708b0dd97919783ad077fcdc8",
      "tree": "549b2084fe5b53b234c0638b1086ff04c08934b6",
      "parents": [
        "a6c06ed1a60aff77b27ba558c315c3fed4e35565"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 10 14:57:29 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:41 2011 +0200"
      },
      "message": "KVM: x86 emulator: fix RDPMC privilege check\n\nRDPMC is only privileged if CR4.PCE\u003d0.  check_rdpmc() already implements this,\nso all we need to do is drop the Priv flag.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a6c06ed1a60aff77b27ba558c315c3fed4e35565",
      "tree": "1b2ad5c195928a5408b0fb5c02aaea5c1e975675",
      "parents": [
        "fee84b079d5ddee2247b5c1f53162c330c622902"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Nov 10 14:57:28 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:40 2011 +0200"
      },
      "message": "KVM: Expose the architectural performance monitoring CPUID leaf\n\nProvide a CPUID leaf that describes the emulated PMU.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fee84b079d5ddee2247b5c1f53162c330c622902",
      "tree": "091712c442320a60223e99543fb19f932f841dfe",
      "parents": [
        "332b56e4841ef62db4dbf1b4b92195575e1c7338"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 10 14:57:25 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:38 2011 +0200"
      },
      "message": "KVM: VMX: Intercept RDPMC\n\nIntercept RDPMC and forward it to the PMU emulation code.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "332b56e4841ef62db4dbf1b4b92195575e1c7338",
      "tree": "11240229fa71468e7b8d2e3d617c3c45468f0a98",
      "parents": [
        "022cd0e84020eec8b589bc119699c935c7b29584"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 10 14:57:24 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:37 2011 +0200"
      },
      "message": "KVM: SVM: Intercept RDPMC\n\nIntercept RDPMC and forward it to the PMU emulation code.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "022cd0e84020eec8b589bc119699c935c7b29584",
      "tree": "255dbe0fd7fdfb00bd23b23000d69a1a7d8144bf",
      "parents": [
        "f5132b01386b5a67f1ff673bb2b96a507a3f7e41"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 10 14:57:23 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:35 2011 +0200"
      },
      "message": "KVM: Add generic RDPMC support\n\nAdd a helper function that emulates the RDPMC instruction operation.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f5132b01386b5a67f1ff673bb2b96a507a3f7e41",
      "tree": "1891d74d54aadda63c0fc6ce77a62025404f4757",
      "parents": [
        "893420822192f717af6fde927c9e78c9b82f8327"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Nov 10 14:57:22 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:24:29 2011 +0200"
      },
      "message": "KVM: Expose a version 2 architectural PMU to a guests\n\nUse perf_events to emulate an architectural PMU, version 2.\n\nBased on PMU version 1 emulation by Avi Kivity.\n\n[avi: adjust for cpuid.c]\n[jan: fix anonymous field initialization for older gcc]\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "893420822192f717af6fde927c9e78c9b82f8327",
      "tree": "ee13dca53f1205b01c7390cf79a8d9689f018e99",
      "parents": [
        "e0dac408d08c2a5e1bed2a6a9da7f3af3f7a9827"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 10 14:57:21 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:23:39 2011 +0200"
      },
      "message": "KVM: Expose kvm_lapic_local_deliver()\n\nNeeded to deliver performance monitoring interrupts.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e0dac408d08c2a5e1bed2a6a9da7f3af3f7a9827",
      "tree": "321aefae4499c222d9bdce93b5194240f282e6a3",
      "parents": [
        "c04ec8393f3815e0f60dde1d6b29040bf1875d52"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Dec 06 18:07:27 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:23:38 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for Group 9 instruction\n\nGroup 9: 0F C7\n\nRename em_grp9() to em_cmpxchg8b() and register it.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c04ec8393f3815e0f60dde1d6b29040bf1875d52",
      "tree": "a82cfdf56e28b838c26b5c765f5247025cde2cfc",
      "parents": [
        "c15af35f54631b9e9b7ad1981016cc6e73cec794"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Dec 06 18:06:44 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:23:36 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for Group 4/5 instructions\n\nGroup 4: FE\nGroup 5: FF\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c15af35f54631b9e9b7ad1981016cc6e73cec794",
      "tree": "2c345f6fca237a603ee4764abdd770977d8d86fa",
      "parents": [
        "4f69b6805c4f818cf7f4126978cc4a54c489119f"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Dec 06 18:06:02 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:23:35 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for Group 1A instruction\n\nGroup 1A: 8F\n\nRegister em_pop() directly and remove em_grp1a().\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4f69b6805c4f818cf7f4126978cc4a54c489119f",
      "tree": "74f32a6cb922e285bfbeb5dba4ef872088fb8d55",
      "parents": [
        "d546cb406ea0d83e2d39ec14221957a24f88a622"
      ],
      "author": {
        "name": "Hamo",
        "email": "hamo.by@gmail.com",
        "time": "Thu Dec 15 14:23:16 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:33 2011 +0200"
      },
      "message": "KVM: ensure that debugfs entries have been created\n\nby checking the return value from kvm_init_debug, we\ncan ensure that the entries under debugfs for KVM have\nbeen created correctly.\n\nSigned-off-by: Yang Bai \u003chamo.by@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d546cb406ea0d83e2d39ec14221957a24f88a622",
      "tree": "32ed0f1cc2e56a8fcd2a24cf0db97d1326b4c9bd",
      "parents": [
        "a647795efbedeedf8a1dc6deded26defa23562bd"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Dec 15 12:38:40 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:32 2011 +0200"
      },
      "message": "KVM: drop bsp_vcpu pointer from kvm struct\n\nDrop bsp_vcpu pointer from kvm struct since its only use is incorrect\nanyway.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a647795efbedeedf8a1dc6deded26defa23562bd",
      "tree": "c3682c3068ef23d8bbbc394f47ab1650a86808fc",
      "parents": [
        "bb5a798ad58996e4d666ead1016705854d5ca616"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Dec 14 19:25:33 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:30 2011 +0200"
      },
      "message": "KVM: x86: Consolidate PIT legacy test\n\nMove the test for KVM_PIT_FLAGS_HPET_LEGACY into create_pit_timer\ninstead of replicating it on the caller site.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "bb5a798ad58996e4d666ead1016705854d5ca616",
      "tree": "3cb2d403cee68a7cb64c13cf288a1d75a0f27021",
      "parents": [
        "43771ebfc9d34ab1f74095d052d225a82ae0898c"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Dec 14 17:58:18 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:29 2011 +0200"
      },
      "message": "KVM: x86: Do not rely on implicit inclusions\n\nWorks so far by change, but it is not guaranteed to stay like this.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "43771ebfc9d34ab1f74095d052d225a82ae0898c",
      "tree": "d1d9668f0ab800b67270d9d45765a7c7aa00b5f5",
      "parents": [
        "9e31905f293ae84e4f120ed9e414031eaefa0bdf"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 14 12:27:47 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:27 2011 +0200"
      },
      "message": "KVM: Make KVM_INTEL depend on CPU_SUP_INTEL\n\nPMU virtualization needs to talk to Intel-specific bits of perf; these are\nonly available when CPU_SUP_INTEL\u003dy.\n\nFixes\n\n  arch/x86/built-in.o: In function `atomic_switch_perf_msrs\u0027:\n  vmx.c:(.text+0x6b1d4): undefined reference to `perf_guest_get_msrs\u0027\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9e31905f293ae84e4f120ed9e414031eaefa0bdf",
      "tree": "153204ff0dca820e760007bc24075ec7fb46a276",
      "parents": [
        "ff5c2c0316ff0e3e2dba3ca14167d994453df093",
        "b3d9468a8bd218a695e3a0ff112cd4efd27b670a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 15:44:43 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:24 2011 +0200"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/core\u0027 into kvm-updates/3.3\n\n* tip/perf/core: (66 commits)\n  perf, x86: Expose perf capability to other modules\n  perf, x86: Implement arch event mask as quirk\n  x86, perf: Disable non available architectural events\n  jump_label: Provide jump_label_key initializers\n  jump_label, x86: Fix section mismatch\n  perf, core: Rate limit perf_sched_events jump_label patching\n  perf: Fix enable_on_exec for sibling events\n  perf: Remove superfluous arguments\n  perf, x86: Prefer fixed-purpose counters when scheduling\n  perf, x86: Fix event scheduler for constraints with overlapping counters\n  perf, x86: Implement event scheduler helper functions\n  perf: Avoid a useless pmu_disable() in the perf-tick\n  x86/tools: Add decoded instruction dump mode\n  x86: Update instruction decoder to support new AVX formats\n  x86/tools: Fix insn_sanity message outputs\n  x86/tools: Fix instruction decoder message output\n  x86: Fix instruction decoder to handle grouped AVX instructions\n  x86/tools: Fix Makefile to build all test tools\n  perf test: Soft errors shouldn\u0027t stop the \"Validate PERF_RECORD_\" test\n  perf test: Validate PERF_RECORD_ events and perf_sample fields\n  ...\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n* commit \u0027b3d9468a8bd218a695e3a0ff112cd4efd27b670a\u0027: (66 commits)\n  perf, x86: Expose perf capability to other modules\n  perf, x86: Implement arch event mask as quirk\n  x86, perf: Disable non available architectural events\n  jump_label: Provide jump_label_key initializers\n  jump_label, x86: Fix section mismatch\n  perf, core: Rate limit perf_sched_events jump_label patching\n  perf: Fix enable_on_exec for sibling events\n  perf: Remove superfluous arguments\n  perf, x86: Prefer fixed-purpose counters when scheduling\n  perf, x86: Fix event scheduler for constraints with overlapping counters\n  perf, x86: Implement event scheduler helper functions\n  perf: Avoid a useless pmu_disable() in the perf-tick\n  x86/tools: Add decoded instruction dump mode\n  x86: Update instruction decoder to support new AVX formats\n  x86/tools: Fix insn_sanity message outputs\n  x86/tools: Fix instruction decoder message output\n  x86: Fix instruction decoder to handle grouped AVX instructions\n  x86/tools: Fix Makefile to build all test tools\n  perf test: Soft errors shouldn\u0027t stop the \"Validate PERF_RECORD_\" test\n  perf test: Validate PERF_RECORD_ events and perf_sample fields\n  ...\n"
    },
    {
      "commit": "ff5c2c0316ff0e3e2dba3ca14167d994453df093",
      "tree": "a2cba54bb5486f508315842ac9ee026cd5d87981",
      "parents": [
        "cdfca7b346e6dbab1ba33260c28ccb8333485a5b"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Sun Dec 04 19:36:29 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:21 2011 +0200"
      },
      "message": "KVM: Use memdup_user instead of kmalloc/copy_from_user\n\nSwitch to using memdup_user when possible. This makes code more\nsmaller and compact, and prevents errors.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "cdfca7b346e6dbab1ba33260c28ccb8333485a5b",
      "tree": "423d4487ee5604a69943e8daade01fbec1879ef6",
      "parents": [
        "3f745f1e224e05e845a15760a55f3fd323f7a753"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Sun Dec 04 19:36:28 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:20 2011 +0200"
      },
      "message": "KVM: Use kmemdup() instead of kmalloc/memcpy\n\nSwitch to kmemdup() in two places to shorten the code and avoid possible bugs.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3f745f1e224e05e845a15760a55f3fd323f7a753",
      "tree": "d71d44d4d506cdb55604c0eaa0b77d041f39c06b",
      "parents": [
        "234b639206a7d9d5ca362cff64ceddd4f27e4a46"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 07 12:42:47 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:18 2011 +0200"
      },
      "message": "KVM: Document KVM_NMI\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "234b639206a7d9d5ca362cff64ceddd4f27e4a46",
      "tree": "78ef5f739cba00735cc2d08cf1d11bdec2d908cc",
      "parents": [
        "3d56cbdf359c953f8bfcab68aa5cf766e4480799"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Dec 02 18:26:28 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:16 2011 +0200"
      },
      "message": "KVM: x86 emulator: Remove set-but-unused cr4 from check_cr_write\n\nThis was probably copy\u0026pasted from the cr0 case, but it\u0027s unneeded here.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3d56cbdf359c953f8bfcab68aa5cf766e4480799",
      "tree": "64c81ba2658afe8b91b2e8609f5c9eadc701cc27",
      "parents": [
        "086c9855019935854311b477b33498a6ea357ef6"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Dec 02 18:35:24 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:15 2011 +0200"
      },
      "message": "KVM: MMU: Drop unused return value of kvm_mmu_remove_some_alloc_mmu_pages\n\nfreed_pages is never evaluated, so remove it as well as the return code\nkvm_mmu_remove_some_alloc_mmu_pages so far delivered to its only user.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "086c9855019935854311b477b33498a6ea357ef6",
      "tree": "dd08778f0d85bb2ec8198a8d2704b09555c64e0d",
      "parents": [
        "e37fa7853c276403da2fea8792c579e8bfd75042"
      ],
      "author": {
        "name": "Alex,Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Oct 20 15:34:01 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:13 2011 +0200"
      },
      "message": "KVM: use this_cpu_xxx replace percpu_xxx funcs\n\npercpu_xxx funcs are duplicated with this_cpu_xxx funcs, so replace them\nfor further code clean up.\n\nAnd in preempt safe scenario, __this_cpu_xxx funcs has a bit better\nperformance since __this_cpu_xxx has no redundant preempt_disable()\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e37fa7853c276403da2fea8792c579e8bfd75042",
      "tree": "2ada19688af6ef30bba12b011d38e0166976170d",
      "parents": [
        "d750ea28865dbff6a73444358d189dd811c68c50"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Wed Nov 30 17:43:24 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:12 2011 +0200"
      },
      "message": "KVM: MMU: audit: inline audit function\n\ninline audit function and little cleanup\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d750ea28865dbff6a73444358d189dd811c68c50",
      "tree": "e1fe75c51e8569412d2eeb9de289daede66046ae",
      "parents": [
        "e459e3228dc57f7160e564ce0f09edb5bee656d3"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon Nov 28 20:43:18 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:10 2011 +0200"
      },
      "message": "KVM: MMU: remove oos_shadow parameter\n\nThe unsync code should be stable now, maybe it is the time to remove this\nparameter to cleanup the code a little bit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e459e3228dc57f7160e564ce0f09edb5bee656d3",
      "tree": "aa3b61d28e69a094f0c7906de40c5fcdca38b3d6",
      "parents": [
        "9edb17d55f3ea4943f9654f2aad7a99b4c55840a"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon Nov 28 20:42:16 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:09 2011 +0200"
      },
      "message": "KVM: MMU: move the relevant mmu code to mmu.c\n\nMove the mmu code in kvm_arch_vcpu_init() to kvm_mmu_create()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9edb17d55f3ea4943f9654f2aad7a99b4c55840a",
      "tree": "62e8172a7a92ddb2047cf1917682366d9fb5d7f0",
      "parents": [
        "0375f7fad904b59502341ccecfc8faea70b34c91"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon Nov 28 20:41:38 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:07 2011 +0200"
      },
      "message": "KVM: x86: remove the dead code of KVM_EXIT_HYPERCALL\n\nKVM_EXIT_HYPERCALL is not used anymore, so remove the code\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0375f7fad904b59502341ccecfc8faea70b34c91",
      "tree": "23de875b6c9d4cb267738860dc27db1289bee1fa",
      "parents": [
        "a65cf5181aa608addcb2873c8ed90413a9f539cb"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon Nov 28 20:41:00 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:05 2011 +0200"
      },
      "message": "KVM: MMU: audit: replace mmu audit tracepoint with jump-label\n\nThe tracepoint is only used to audit mmu code, it should not be exposed to\nuser, let us replace it with jump-label.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a65cf5181aa608addcb2873c8ed90413a9f539cb",
      "tree": "3d2429790c26e3f38dc654afc404066254c4fed4",
      "parents": [
        "831bf664e9c1fc08fc6b3984d00d275cac82f5e9"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon Nov 28 20:39:59 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:04 2011 +0200"
      },
      "message": "jump-label: export jump_label_inc/jump_label_dec\n\nExport these two symbols, they will be used by KVM mmu audit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "831bf664e9c1fc08fc6b3984d00d275cac82f5e9",
      "tree": "a75b2baafbd58e9b20991dbab7bdadf2552e756d",
      "parents": [
        "fb215366b3c7320ac25dca766a0152df16534932"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Mon Nov 28 11:20:29 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:02 2011 +0200"
      },
      "message": "KVM: Refactor and simplify kvm_dev_ioctl_get_supported_cpuid\n\nThis patch cleans and simplifies kvm_dev_ioctl_get_supported_cpuid by using a table\ninstead of duplicating code as Avi suggested.\n\nThis patch also fixes a bug where kvm_dev_ioctl_get_supported_cpuid would return\n-E2BIG when amount of entries passed was just right.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fb215366b3c7320ac25dca766a0152df16534932",
      "tree": "af89c80a04274cc52d488728f7cc1eef53deff5a",
      "parents": [
        "00b27a3efb116062ca5a276ad5cb01ea1b80b5f6"
      ],
      "author": {
        "name": "Liu, Jinsong",
        "email": "jinsong.liu@intel.com",
        "time": "Mon Nov 28 03:55:19 2011 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:22:01 2011 +0200"
      },
      "message": "KVM: expose latest Intel cpu new features (BMI1/BMI2/FMA/AVX2) to guest\n\nIntel latest cpu add 6 new features, refer http://software.intel.com/file/36945\nThe new feature cpuid listed as below:\n\n1. FMA\t\tCPUID.EAX\u003d01H:ECX.FMA[bit 12]\n2. MOVBE\tCPUID.EAX\u003d01H:ECX.MOVBE[bit 22]\n3. BMI1\t\tCPUID.EAX\u003d07H,ECX\u003d0H:EBX.BMI1[bit 3]\n4. AVX2\t\tCPUID.EAX\u003d07H,ECX\u003d0H:EBX.AVX2[bit 5]\n5. BMI2\t\tCPUID.EAX\u003d07H,ECX\u003d0H:EBX.BMI2[bit 8]\n6. LZCNT\tCPUID.EAX\u003d80000001H:ECX.LZCNT[bit 5]\n\nThis patch expose these features to guest.\nAmong them, FMA/MOVBE/LZCNT has already been defined, MOVBE/LZCNT has\nalready been exposed.\n\nThis patch defines BMI1/AVX2/BMI2, and exposes FMA/BMI1/AVX2/BMI2 to guest.\n\nSigned-off-by: Liu, Jinsong \u003cjinsong.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "00b27a3efb116062ca5a276ad5cb01ea1b80b5f6",
      "tree": "51d910e618eaad99ec034ef72b535e8cad06ffe5",
      "parents": [
        "2b5e97e1fadf1ade87558f2a2003616879f9e228"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 23 16:30:32 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:21:49 2011 +0200"
      },
      "message": "KVM: Move cpuid code to new file\n\nThe cpuid code has grown; put it into a separate file.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2b5e97e1fadf1ade87558f2a2003616879f9e228",
      "tree": "31a7b6eed647cee35de6e3e7cc90f98b47f2a300",
      "parents": [
        "d77fe6354d5b67f4d4eb62a47621da2b3ee3539e"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Nov 23 12:27:39 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:46 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for INS/OUTS from/to port in DX\n\nINSB       : 6C\nINSW/INSD  : 6D\nOUTSB      : 6E\nOUTSW/OUTSD: 6F\n\nThe I/O port address is read from the DX register when we decode the\noperand because we see the SrcDX/DstDX flag is set.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d77fe6354d5b67f4d4eb62a47621da2b3ee3539e",
      "tree": "4c399e8125d69d128c200807eb517dd7c20b277b",
      "parents": [
        "60f9a9ef5492cae66aca2ad9873360161320d5af"
      ],
      "author": {
        "name": "Julian Stecklina",
        "email": "js@alien8.de",
        "time": "Wed Nov 23 13:54:30 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:44 2011 +0200"
      },
      "message": "KVM: Allow aligned byte and word writes to IOAPIC registers.\n\nThis fixes byte accesses to IOAPIC_REG_SELECT as mandated by at least the\nICH10 and Intel Series 5 chipset specs. It also makes ioapic_mmio_write\nconsistent with ioapic_mmio_read, which also allows byte and word accesses.\n\nSigned-off-by: Julian Stecklina \u003cjs@alien8.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "60f9a9ef5492cae66aca2ad9873360161320d5af",
      "tree": "9fc03198a5aad6491e39fa2410f0a82648f75688",
      "parents": [
        "f85e2cb5dbaf905e9470d3fe099b31619da431fc"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 18:09:11 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:43 2011 +0200"
      },
      "message": "KVM: IA64: fix struct redefinition\n\nThere is the same struct definition in ia64 and kvm common code:\narch/ia64/kvm//kvm-ia64.c: At top level:\narch/ia64/kvm//kvm-ia64.c:777:8: error: redefinition of ‘struct kvm_io_range’\ninclude/linux/kvm_host.h:62:8: note: originally defined here\n\nSo, rename kvm_io_range to kvm_ia64_io_range in ia64 code\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f85e2cb5dbaf905e9470d3fe099b31619da431fc",
      "tree": "eb4d486094e0f2c7503a9e28a8ac76ce84d2a09e",
      "parents": [
        "bf3e05bc1e2781d5d8d3ddb2d8bf2d6ec207e5cb"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 17:41:54 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:42 2011 +0200"
      },
      "message": "KVM: introduce a table to map slot id to index in memslots array\n\nThe operation of getting dirty log is frequent when framebuffer-based\ndisplays are used(for example, Xwindow), so, we introduce a mapping table\nto speed up id_to_memslot()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bf3e05bc1e2781d5d8d3ddb2d8bf2d6ec207e5cb",
      "tree": "7312367143f00ec1c051831f3a4e6dcc7f8acd92",
      "parents": [
        "28a37544fb0223eb9805d2567b88f7360edec52a"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 17:40:57 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:40 2011 +0200"
      },
      "message": "KVM: sort memslots by its size and use line search\n\nSort memslots base on its size and use line search to find it, so that the\nlarger memslots have better fit\n\nThe idea is from Avi\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "28a37544fb0223eb9805d2567b88f7360edec52a",
      "tree": "83afb64f8448303f9486eb6c87980695611275ab",
      "parents": [
        "be6ba0f0962a39091c52eb9167ddea201fe80716"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong.eric@gmail.com",
        "time": "Thu Nov 24 19:04:35 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:39 2011 +0200"
      },
      "message": "KVM: introduce id_to_memslot function\n\nIntroduce id_to_memslot to get memslot by slot id\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "be6ba0f0962a39091c52eb9167ddea201fe80716",
      "tree": "52e46aad8cce4857def4dc03fc75955677027054",
      "parents": [
        "be593d6286075801bba6d60fa466a39c24cc7616"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 17:39:18 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:37 2011 +0200"
      },
      "message": "KVM: introduce kvm_for_each_memslot macro\n\nIntroduce kvm_for_each_memslot to walk all valid memslot\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "be593d6286075801bba6d60fa466a39c24cc7616",
      "tree": "7d2b156d7a9fa19700cb7ac5327a15093114905a",
      "parents": [
        "93a5cef07d686a0341d056b0f930a762c7174a13"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 17:38:24 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:35 2011 +0200"
      },
      "message": "KVM: introduce update_memslots function\n\nIntroduce update_memslots to update slot which will be update to\nkvm-\u003ememslots\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "93a5cef07d686a0341d056b0f930a762c7174a13",
      "tree": "8db1ec00bd74a7297b32abf4d7463d845c34fea8",
      "parents": [
        "ff227392cd7b858b2b04732e02697122fd1b35b0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 17:37:48 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:34 2011 +0200"
      },
      "message": "KVM: introduce KVM_MEM_SLOTS_NUM macro\n\nIntroduce KVM_MEM_SLOTS_NUM macro to instead of\nKVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ff227392cd7b858b2b04732e02697122fd1b35b0",
      "tree": "5a316d27bca25dbe99ecadc963b70341bf7af93e",
      "parents": [
        "e940b5c20f89282fe826c5e2237932ab280497cf"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:21:33 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:32 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for BSF/BSR\n\nBSF: 0F BC\nBSR: 0F BD\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e940b5c20f89282fe826c5e2237932ab280497cf",
      "tree": "94ae1350f5260033039764f0ac5f106765136536",
      "parents": [
        "e1e210b0a7f7b4d14577bdc76719963f7facc0e7"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:20:47 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:31 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for CMPXCHG\n\nCMPXCHG: 0F B0, 0F B1\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e1e210b0a7f7b4d14577bdc76719963f7facc0e7",
      "tree": "ec8ed131f1318a05fe1d31035dacf9ab09f30bf3",
      "parents": [
        "bc00f8d2c2df33c6e7fc8a12c94c0c74d491e566"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:20:03 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:29 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for WRMSR/RDMSR\n\nWRMSR: 0F 30\nRDMSR: 0F 32\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "bc00f8d2c2df33c6e7fc8a12c94c0c74d491e566",
      "tree": "bb7ddb5ad8b137ba33caa072b6b72e742150dc66",
      "parents": [
        "d4ddafcdf2201326ec9717172767cfad0ede1472"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:19:19 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:28 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for MOV to cr/dr\n\nMOV: 0F 22 (move to control registers)\nMOV: 0F 23 (move to debug registers)\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d4ddafcdf2201326ec9717172767cfad0ede1472",
      "tree": "8b4845a36d23f945657e2cb543a4ecf149a8b8ef",
      "parents": [
        "ce7faab24fbfb0b5207636ee4795e924bcf97e8a"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:18:35 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:26 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for CALL\n\nCALL: E8\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ce7faab24fbfb0b5207636ee4795e924bcf97e8a",
      "tree": "dee7b7ccc95d06cedf4dfd5943e50b8358d44721",
      "parents": [
        "d7841a4b1b6e8509881e1ec21c024c82ccf565a6"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:17:48 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:25 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for BT family\n\nBT : 0F A3\nBTS: 0F AB\nBTR: 0F B3\nBTC: 0F BB\n\nGroup 8: 0F BA\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d7841a4b1b6e8509881e1ec21c024c82ccf565a6",
      "tree": "632e7986e920d09a5b0654a0357022aa81ffe965",
      "parents": [
        "46199f33c29533e7ad2a7d2128dc30175d1d4157"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 22 15:16:54 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:23 2011 +0200"
      },
      "message": "KVM: x86 emulator: Use opcode::execute for IN/OUT\n\nIN : E4, E5, EC, ED\nOUT: E6, E7, EE, EF\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "46199f33c29533e7ad2a7d2128dc30175d1d4157",
      "tree": "bf66eaca51f2e012b2346e3e327dbef02d2c5336",
      "parents": [
        "95d4c16ce78cb6b7549a09159c409d52ddd18dae"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Nov 17 10:56:09 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:22 2011 +0200"
      },
      "message": "KVM: VMX: remove unneeded vmx_load_host_state() calls.\n\nvmx_load_host_state() does not handle msrs switching (except\nMSR_KERNEL_GS_BASE) since commit 26bb0981b3f. Remove call to it\nwhere it is no longer make sense.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "95d4c16ce78cb6b7549a09159c409d52ddd18dae",
      "tree": "1291405b107b4caa495454855baeeea5b9baa5e8",
      "parents": [
        "7850ac5420803996e2960d15b924021f28e0dffc"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Nov 14 18:24:50 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:20 2011 +0200"
      },
      "message": "KVM: Optimize dirty logging by rmap_write_protect()\n\nCurrently, write protecting a slot needs to walk all the shadow pages\nand checks ones which have a pte mapping a page in it.\n\nThe walk is overly heavy when dirty pages in that slot are not so many\nand checking the shadow pages would result in unwanted cache pollution.\n\nTo mitigate this problem, we use rmap_write_protect() and check only\nthe sptes which can be reached from gfns marked in the dirty bitmap\nwhen the number of dirty pages are less than that of shadow pages.\n\nThis criterion is reasonable in its meaning and worked well in our test:\nwrite protection became some times faster than before when the ratio of\ndirty pages are low and was not worse even when the ratio was near the\ncriterion.\n\nNote that the locking for this write protection becomes fine grained.\nThe reason why this is safe is descripted in the comments.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7850ac5420803996e2960d15b924021f28e0dffc",
      "tree": "dc4ed43a8e5ffcfbf45b48c8d78228ffe9762efa",
      "parents": [
        "9b9b1492364758de82c19c36f07baa9ae162c7e5"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Nov 14 18:23:34 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:19 2011 +0200"
      },
      "message": "KVM: Count the number of dirty pages for dirty logging\n\nNeeded for the next patch which uses this number to decide how to write\nprotect a slot.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9b9b1492364758de82c19c36f07baa9ae162c7e5",
      "tree": "2d600f1bdcc36831597cdcb779f434d668d9d392",
      "parents": [
        "d6eebf8b80316ea61718dc115cd6a20c16195327"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Nov 14 18:22:28 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:17 2011 +0200"
      },
      "message": "KVM: MMU: Split gfn_to_rmap() into two functions\n\nrmap_write_protect() calls gfn_to_rmap() for each level with gfn fixed.\nThis results in calling gfn_to_memslot() repeatedly with that gfn.\n\nThis patch introduces __gfn_to_rmap() which takes the slot as an\nargument to avoid this.\n\nThis is also needed for the following dirty logging optimization.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d6eebf8b80316ea61718dc115cd6a20c16195327",
      "tree": "a4975b243ee0137650774a6ea86c1dbc3dc9fbf0",
      "parents": [
        "6da64fdb8c0c683016b70c96200057347aa8fbb0"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Nov 14 18:21:34 2011 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:13 2011 +0200"
      },
      "message": "KVM: MMU: Clean up BUG_ON() conditions in rmap_write_protect()\n\nRemove redundant checks and use is_large_pte() macro.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6da64fdb8c0c683016b70c96200057347aa8fbb0",
      "tree": "e9b6650625def2f92fb49dfdf511647ca27b7d56",
      "parents": [
        "fb92045843a8cd99c7b843d9b567a680a3854ba1"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Tue Nov 08 20:32:19 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:11 2011 +0200"
      },
      "message": "KVM: Use kmemdup rather than duplicating its implementation\n\n Use kmemdup rather than duplicating its implementation\n\n The semantic patch that makes this change is available\n in scripts/coccinelle/api/memdup.cocci.\n\n More information about semantic patching is available at\n http://coccinelle.lip6.fr/\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fb92045843a8cd99c7b843d9b567a680a3854ba1",
      "tree": "ad527bd2c48896b379f63f0c114b08b2a8a81c96",
      "parents": [
        "5202397df819d3c5a3f201bd4af6b86542115fb6"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Tue Nov 01 17:31:18 2011 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:10 2011 +0200"
      },
      "message": "KVM: MMU: remove KVM host pv mmu support\n\nThe host side pv mmu support has been marked for feature removal in\nJanuary 2011.  It\u0027s not in use, is slower than shadow or hardware\nassisted paging, and a maintenance burden.  It\u0027s November 2011, time to\nremove it.\n\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5202397df819d3c5a3f201bd4af6b86542115fb6",
      "tree": "f46db8ad2eea7a5acd9dbdbfc42c8451539203bd",
      "parents": [
        "1a214246cbb431f7430f7d0c0fb66218a6f442d2"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Tue Nov 01 17:28:47 2011 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:08 2011 +0200"
      },
      "message": "KVM guest: remove KVM guest pv mmu support\n\nThis has not been used for some years now.  It\u0027s time to remove it.\n\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1a214246cbb431f7430f7d0c0fb66218a6f442d2",
      "tree": "5a45be4f7fe958dbd09774ad9425bdcf40ff8e91",
      "parents": [
        "3f2e5260f5a17d37be3e3c83aca2f335b9bf3893"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Oct 19 09:15:10 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:07 2011 +0200"
      },
      "message": "KVM: make checks stricter in coalesced_mmio_in_range()\n\nMy testing version of Smatch complains that addr and len come from\nthe user and they can wrap.  The path is:\n  -\u003e kvm_vm_ioctl()\n     -\u003e kvm_vm_ioctl_unregister_coalesced_mmio()\n        -\u003e coalesced_mmio_in_range()\n\nI don\u0027t know what the implications are of wrapping here, but we may\nas well fix it, if only to silence the warning.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3f2e5260f5a17d37be3e3c83aca2f335b9bf3893",
      "tree": "a72ca61cd6b377b495b8aca591940a7b1db40882",
      "parents": [
        "b297e672e24687546ac74af5ae5e8c4a022b9806"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Sep 14 09:58:32 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:05 2011 +0200"
      },
      "message": "KVM: x86: Simplify kvm timer handler\n\nThe vcpu reference of a kvm_timer can\u0027t become NULL while the timer is\nvalid, so drop this redundant test. This also makes it pointless to\ncarry a separate __kvm_timer_fn, fold it into kvm_timer_fn.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b297e672e24687546ac74af5ae5e8c4a022b9806",
      "tree": "f3cc38a792aea3354c00b02ccd7b98037c90464c",
      "parents": [
        "a30f47cb150dd8d109923eeb65fe73e8b3e09046"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Mon Oct 10 11:46:15 2011 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:04 2011 +0200"
      },
      "message": "KVM: Fix include dependency for mmu_notifier\n\nThe kvm_host struct can include an mmu_notifier struct but mmu_notifier.h is\nnot included directly.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a30f47cb150dd8d109923eeb65fe73e8b3e09046",
      "tree": "09a723b407b0fefb1b05a30b490b8372ec2cf5cf",
      "parents": [
        "5d9ca30e96f567b67a36727aa4ebb34911a2b84a"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:58:36 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:02 2011 +0200"
      },
      "message": "KVM: MMU: improve write flooding detected\n\nDetecting write-flooding does not work well, when we handle page written, if\nthe last speculative spte is not accessed, we treat the page is\nwrite-flooding, however, we can speculative spte on many path, such as pte\nprefetch, page synced, that means the last speculative spte may be not point\nto the written page and the written page can be accessed via other sptes, so\ndepends on the Accessed bit of the last speculative spte is not enough\n\nInstead of detected page accessed, we can detect whether the spte is accessed\nafter it is written, if the spte is not accessed but it is written frequently,\nwe treat is not a page table or it not used for a long time\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5d9ca30e96f567b67a36727aa4ebb34911a2b84a",
      "tree": "2d045ff9ef170be43d6204e1a9eadf368726227c",
      "parents": [
        "889e5cbced6c191bb7e25c1b30b43e59a12561f9"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:57:55 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:01 2011 +0200"
      },
      "message": "KVM: MMU: fix detecting misaligned accessed\n\nSometimes, we only modify the last one byte of a pte to update status bit,\nfor example, clear_bit is used to clear r/w bit in linux kernel and \u0027andb\u0027\ninstruction is used in this function, in this case, kvm_mmu_pte_write will\ntreat it as misaligned access, and the shadow page table is zapped\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "889e5cbced6c191bb7e25c1b30b43e59a12561f9",
      "tree": "4eddee4776696bd93fbff6af68acf7e1146c392f",
      "parents": [
        "f8734352c6f9c4f3d85f0c97b7731b7f925c62fd"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:57:23 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:59 2011 +0200"
      },
      "message": "KVM: MMU: split kvm_mmu_pte_write function\n\nkvm_mmu_pte_write is too long, we split it for better readable\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f8734352c6f9c4f3d85f0c97b7731b7f925c62fd",
      "tree": "c3bf5e4938aaef0976ce5c5667561c78b5d873f9",
      "parents": [
        "f57f2ef58f6703e6df70ed52a198920cb3e8edba"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:56:58 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:58 2011 +0200"
      },
      "message": "KVM: MMU: remove unnecessary kvm_mmu_free_some_pages\n\nIn kvm_mmu_pte_write, we do not need to alloc shadow page, so calling\nkvm_mmu_free_some_pages is really unnecessary\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f57f2ef58f6703e6df70ed52a198920cb3e8edba",
      "tree": "831564ca3314ef897fdcfcbd70ef91a52d369a13",
      "parents": [
        "505aef8f30a95f7e4abf2c07e54ded1521587ba0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:56:39 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:56 2011 +0200"
      },
      "message": "KVM: MMU: fast prefetch spte on invlpg path\n\nFast prefetch spte for the unsync shadow page on invlpg path\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "505aef8f30a95f7e4abf2c07e54ded1521587ba0",
      "tree": "47b4c515c5782cbb3428437b4c7c820a7956c312",
      "parents": [
        "d01f8d5e02cc79998e3160f7ad545f77891b00e5"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:56:06 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:54 2011 +0200"
      },
      "message": "KVM: MMU: cleanup FNAME(invlpg)\n\nDirectly Use mmu_page_zap_pte to zap spte in FNAME(invlpg), also remove the\nsame code between FNAME(invlpg) and FNAME(sync_page)\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d01f8d5e02cc79998e3160f7ad545f77891b00e5",
      "tree": "2378c32a3a6bae9b18a64a640e5e917eefb42385",
      "parents": [
        "6f6fbe98c3a9f3e9d69cd354a0459989e594e707"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:55:36 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:53 2011 +0200"
      },
      "message": "KVM: MMU: do not mark accessed bit on pte write path\n\nIn current code, the accessed bit is always set when page fault occurred,\ndo not need to set it on pte write path\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6f6fbe98c3a9f3e9d69cd354a0459989e594e707",
      "tree": "120bb8e68c8e32d59efa1c0b2053f1361360dbac",
      "parents": [
        "1cb3f3ae5a3855ba430430706da4201ace1d6ec4"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:55:10 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:51 2011 +0200"
      },
      "message": "KVM: x86: cleanup port-in/port-out emulated\n\nRemove the same code between emulator_pio_in_emulated and\nemulator_pio_out_emulated\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1cb3f3ae5a3855ba430430706da4201ace1d6ec4",
      "tree": "1ff844904958cf669c86650da4601eb392f14a91",
      "parents": [
        "d5ae7ce835cc89556dc18e2070e754f026402efa"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 17:02:48 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:50 2011 +0200"
      },
      "message": "KVM: x86: retry non-page-table writing instructions\n\nIf the emulation is caused by #PF and it is non-page_table writing instruction,\nit means the VM-EXIT is caused by shadow page protected, we can zap the shadow\npage and retry this instruction directly\n\nThe idea is from Avi\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d5ae7ce835cc89556dc18e2070e754f026402efa",
      "tree": "6a4a74a1b6b1f59dccc14ec8211ae0793644c84f",
      "parents": [
        "f759e2b4c728cee82e4bc1132d0e41177b79a0b1"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:53:46 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:48 2011 +0200"
      },
      "message": "KVM: x86: tag the instructions which are used to write page table\n\nThe idea is from Avi:\n| tag instructions that are typically used to modify the page tables, and\n| drop shadow if any other instruction is used.\n| The list would include, I\u0027d guess, and, or, bts, btc, mov, xchg, cmpxchg,\n| and cmpxchg8b.\n\nThis patch is used to tag the instructions and in the later path, shadow page\nis dropped if it is written by other instructions\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f759e2b4c728cee82e4bc1132d0e41177b79a0b1",
      "tree": "1b01eb0b666a8990366c601d96e7d1083730ae28",
      "parents": [
        "51cfe38ea50aa631f58ed8c340ed6f0143c325a8"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Sep 22 16:53:17 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:47 2011 +0200"
      },
      "message": "KVM: MMU: avoid pte_list_desc running out in kvm_mmu_pte_write\n\nkvm_mmu_pte_write is unsafe since we need to alloc pte_list_desc in the\nfunction when spte is prefetched, unfortunately, we can not know how many\nspte need to be prefetched on this path, that means we can use out of the\nfree  pte_list_desc object in the cache, and BUG_ON() is triggered, also some\npath does not fill the cache, such as INS instruction emulated that does not\ntrigger page fault\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "51cfe38ea50aa631f58ed8c340ed6f0143c325a8",
      "tree": "fda84f74b0605a7bca2677a22243117f2f1a0627",
      "parents": [
        "d6185f20a0efbf175e12831d0de330e4f21725aa"
      ],
      "author": {
        "name": "Nadav Har\u0027El",
        "email": "nyh@il.ibm.com",
        "time": "Thu Sep 22 13:53:26 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:45 2011 +0200"
      },
      "message": "KVM: nVMX: Fix warning-causing idt-vectoring-info behavior\n\nWhen L0 wishes to inject an interrupt while L2 is running, it emulates an exit\nto L1 with EXIT_REASON_EXTERNAL_INTERRUPT. This was explained in the original\nnVMX patch 23, titled \"Correct handling of interrupt injection\".\n\nUnfortunately, it is possible (though rare) that at this point there is valid\nidt_vectoring_info in vmcs02. For example, L1 injected some interrupt to L2,\nand when L2 tried to run this interrupt\u0027s handler, it got a page fault - so\nit returns the original interrupt vector in idt_vectoring_info. The problem\nis that if this is the case, we cannot exit to L1 with EXTERNAL_INTERRUPT\nlike we wished to, because the VMX spec guarantees that idt_vectoring_info\nand exit_reason_external_interrupt can never happen together. This is not\njust specified in the spec - a KVM L1 actually prints a kernel warning\n\"unexpected, valid vectoring info\" if we violate this guarantee, and some\nusers noticed these warnings in L1\u0027s logs.\n\nIn order to better emulate a processor, which would never return the external\ninterrupt and the idt-vectoring-info together, we need to separate the two\ninjection steps: First, complete L1\u0027s injection into L2 (i.e., enter L2,\ninjecting to it the idt-vectoring-info); Second, after entry into L2 succeeds\nand it exits back to L0, exit to L1 with the EXIT_REASON_EXTERNAL_INTERRUPT.\nMost of this is already in the code - the only change we need is to remain\nin L2 (and not exit to L1) in this case.\n\nNote that the previous patch ensures (by using KVM_REQ_IMMEDIATE_EXIT) that\nalthough we do enter L2 first, it will exit immediately after processing its\ninjection, allowing us to promptly inject to L1.\n\nNote how we test vmcs12-\u003eidt_vectoring_info_field; This isn\u0027t really the\nvmcs12 value (we haven\u0027t exited to L1 yet, so vmcs12 hasn\u0027t been updated),\nbut rather the place we save, at the end of vmx_vcpu_run, the vmcs02 value\nof this field. This was explained in patch 25 (\"Correct handling of idt\nvectoring info\") of the original nVMX patch series.\n\nThanks to Dave Allan and to Federico Simoncelli for reporting this bug,\nto Abel Gordon for helping me figure out the solution, and to Avi Kivity\nfor helping to improve it.\n\nSigned-off-by: Nadav Har\u0027El \u003cnyh@il.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d6185f20a0efbf175e12831d0de330e4f21725aa",
      "tree": "5105132710e9ad6a1d73e2cf6895765e67dfb5ee",
      "parents": [
        "371de6e4e0042adf4f9b54c414154f57414ddd37"
      ],
      "author": {
        "name": "Nadav Har\u0027El",
        "email": "nyh@il.ibm.com",
        "time": "Thu Sep 22 13:52:56 2011 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:16:43 2011 +0200"
      },
      "message": "KVM: nVMX: Add KVM_REQ_IMMEDIATE_EXIT\n\nThis patch adds a new vcpu-\u003erequests bit, KVM_REQ_IMMEDIATE_EXIT.\nThis bit requests that when next entering the guest, we should run it only\nfor as little as possible, and exit again.\n\nWe use this new option in nested VMX: When L1 launches L2, but L0 wishes L1\nto continue running so it can inject an event to it, we unfortunately cannot\njust pretend to have run L2 for a little while - We must really launch L2,\notherwise certain one-off vmcs12 parameters (namely, L1 injection into L2)\nwill be lost. So the existing code runs L2 in this case.\nBut L2 could potentially run for a long time until it exits, and the\ninjection into L1 will be delayed. The new KVM_REQ_IMMEDIATE_EXIT allows us\nto request that L2 will be entered, as necessary, but will exit as soon as\npossible after entry.\n\nOur implementation of this request uses smp_send_reschedule() to send a\nself-IPI, with interrupts disabled. The interrupts remain disabled until the\nguest is entered, and then, after the entry is complete (often including\nprocessing an injection and jumping to the relevant handler), the physical\ninterrupt is noticed and causes an exit.\n\nOn recent Intel processors, we could have achieved the same goal by using\nMTF instead of a self-IPI. Another technique worth considering in the future\nis to use VM_EXIT_ACK_INTR_ON_EXIT and a highest-priority vector IPI - to\nslightly improve performance by avoiding the useless interrupt handler\nwhich ends up being called when smp_send_reschedule() is used.\n\nSigned-off-by: Nadav Har\u0027El \u003cnyh@il.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "371de6e4e0042adf4f9b54c414154f57414ddd37",
      "tree": "721f3c4697a926a22c81a842afbbc143614ab9c6",
      "parents": [
        "ebbd857e6b9a92c0aff4aacd1b1d2361d888633e"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Dec 26 17:02:11 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 21:07:27 2011 -0800"
      },
      "message": "drm/i915: Disable RC6 on Sandybridge by default\n\nRC6 fails again.\n\n\u003e I found my system freeze mostly during starting up X and KDE. Sometimes it\n\u003e works for some minutes, sometimes it freezes immediatly. When the freeze\n\u003e happens, everything is dead (even the reset button does not work, I need to\n\u003e power cycle).\n\n\u003e I disabled RC6, and my system runs wonderfully.\n\n\u003e The system is a Z68 Pro board with Sandybridge i5-2500K processor, 8\n\u003e GB of RAM and UEFI firmware.\n\nReported-by: Kai Krakow \u003churikhan77@gmail.com\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebbd857e6b9a92c0aff4aacd1b1d2361d888633e",
      "tree": "598e75393461083817f9f06023a4f0b7b499c9b1",
      "parents": [
        "7f54492fbca0074d7db117d7972a80347e0b40a5"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Dec 26 17:02:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 21:07:26 2011 -0800"
      },
      "message": "drm/i915: Disable semaphores by default on SNB\n\nSemaphores still cause problems on some machines:\n\n\u003e From Udo Steinberg:\n\u003e\n\u003e With Linux-3.2-rc6 I\u0027m frequently seeing GPU hangs when large amounts of\n\u003e text scroll in an xterm, such as when extracting a tar archive. Such as this\n\u003e one (note the timestamps):\n\u003e\n\u003e  I can reproduce it fairly easily with something\n\u003e  as simple as:\n\u003e\n\u003e\t  while true; do dmesg; done\n\nThis patch turns them off on SNB while leaving them on for IVB.\n\nReported-by: Udo Steinberg \u003cudo@hypervisor.org\u003e\nCc: Daniel Vetter \u003cdaniel@ffwll.ch\u003e\nCc: Eugeni Dodonov \u003ceugeni@dodonov.net\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f54492fbca0074d7db117d7972a80347e0b40a5",
      "tree": "a42f39bbcc84af8f13c2fd46502324741536657d",
      "parents": [
        "6fd8fb7f55cb6d45e7f078cd0eaf7e3c243f6c33",
        "fae9dbb4b462d2c908186a47464c7a5299ee27a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 13:17:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 13:17:00 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: PPC: e500: include linux/export.h\n  KVM: PPC: fix kvmppc_start_thread() for CONFIG_SMP\u003dN\n  KVM: PPC: protect use of kvmppc_h_pr\n  KVM: PPC: move compute_tlbie_rb to book3s_64 common header\n  KVM: Don\u0027t automatically expose the TSC deadline timer in cpuid\n  KVM: Device assignment permission checks\n  KVM: Remove ability to assign a device without iommu support\n  KVM: x86: Prevent starting PIT timers in the absence of irqchip support\n"
    },
    {
      "commit": "6fd8fb7f55cb6d45e7f078cd0eaf7e3c243f6c33",
      "tree": "3fa2bfd807c0f61acd875acf8f54ea2906022006",
      "parents": [
        "6d4b9e38d3980826abccfbd90e95bf4bd41b8dd2",
        "2ca526bf4953380abfe5dff455e356967b239c70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 12:46:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 12:46:17 2011 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394\n\npost 3.2-rc7 pull request\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:\n  MAINTAINERS: firewire git URL update\n"
    },
    {
      "commit": "6d4b9e38d3980826abccfbd90e95bf4bd41b8dd2",
      "tree": "7473e333fc5aae6dd1d4b7f86205a330818518ce",
      "parents": [
        "4962516b2309d76964f9df0d33e74f43b624a42d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 10:25:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 10:25:26 2011 -0800"
      },
      "message": "vfs: fix handling of lock allocation failure in lease-break case\n\nBruce Fields notes that commit 778fc546f749 (\"locks: fix tracking of\ninprogress lease breaks\") introduced a possible error pointer\ndereference on failure to allocate memory.  locks_conflict() will\ndereference the passed-in new lease lock structure that may be an error pointer.\n\nThis means an open (without O_NONBLOCK set) on a file with a lease\napplied (generally only done when Samba or nfsd (with v4) is running)\ncould crash if a kmalloc() fails.\n\nSo instead of playing games with IS_ERROR() all over the place, just\ncheck the allocation failure early.  That makes the code more\nstraightforward, and avoids this possible bad pointer dereference.\n\nBased-on-patch-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fae9dbb4b462d2c908186a47464c7a5299ee27a9",
      "tree": "1fa5e288ce5a1f4813ee4bfe187a00404c2a9174",
      "parents": [
        "251da03897b383904901620835044e298061875f"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Dec 20 14:43:45 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 26 13:28:03 2011 +0200"
      },
      "message": "KVM: PPC: e500: include linux/export.h\n\nThis is required for THIS_MODULE.  We recently stopped acquiring\nit via some other header.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "251da03897b383904901620835044e298061875f",
      "tree": "01e2d3ff93f67b992054a9ad182f99530bd9c65f",
      "parents": [
        "96f38d72867bc54c312decaf8463f1e9607136da"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mikey@neuling.org",
        "time": "Thu Nov 10 16:03:20 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 26 13:28:02 2011 +0200"
      },
      "message": "KVM: PPC: fix kvmppc_start_thread() for CONFIG_SMP\u003dN\n\nCurrently kvmppc_start_thread() tries to wake other SMT threads via\nxics_wake_cpu().  Unfortunately xics_wake_cpu only exists when\nCONFIG_SMP\u003dY so when compiling with CONFIG_SMP\u003dN we get:\n\n  arch/powerpc/kvm/built-in.o: In function `.kvmppc_start_thread\u0027:\n  book3s_hv.c:(.text+0xa1e0): undefined reference to `.xics_wake_cpu\u0027\n\nThe following should be fine since kvmppc_start_thread() shouldn\u0027t\ncalled to start non-zero threads when SMP\u003dN since threads_per_core\u003d1.\n\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "96f38d72867bc54c312decaf8463f1e9607136da",
      "tree": "faa83ee91b7a406a3a22273b2f3f07dea6689cf5",
      "parents": [
        "36cc66d638d3ffbc635b0d48b29c1128fdad38f4"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Tue Nov 08 07:17:39 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 26 13:28:01 2011 +0200"
      },
      "message": "KVM: PPC: protect use of kvmppc_h_pr\n\nkvmppc_h_pr is only available if CONFIG_KVM_BOOK3S_64_PR.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "36cc66d638d3ffbc635b0d48b29c1128fdad38f4",
      "tree": "26951168034391d951994641fc0eaf991d5fc778",
      "parents": [
        "4d25a066b69fb749a39d0d4c610689dd765a0b0e"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Tue Nov 08 07:08:52 2011 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 26 13:28:00 2011 +0200"
      },
      "message": "KVM: PPC: move compute_tlbie_rb to book3s_64 common header\n\ncompute_tlbie_rb is only used on ppc64 and cannot be compiled on ppc32.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n"
    },
    {
      "commit": "4d25a066b69fb749a39d0d4c610689dd765a0b0e",
      "tree": "34f644f5a0f734a815225cade757088a9862318b",
      "parents": [
        "3d27e23b17010c668db311140b17bbbb70c78fb9"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Dec 21 12:28:29 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 26 13:27:44 2011 +0200"
      },
      "message": "KVM: Don\u0027t automatically expose the TSC deadline timer in cpuid\n\nUnlike all of the other cpuid bits, the TSC deadline timer bit is set\nunconditionally, regardless of what userspace wants.\n\nThis is broken in several ways:\n - if userspace doesn\u0027t use KVM_CREATE_IRQCHIP, and doesn\u0027t emulate the TSC\n   deadline timer feature, a guest that uses the feature will break\n - live migration to older host kernels that don\u0027t support the TSC deadline\n   timer will cause the feature to be pulled from under the guest\u0027s feet;\n   breaking it\n - guests that are broken wrt the feature will fail.\n\nFix by not enabling the feature automatically; instead report it to userspace.\nBecause the feature depends on KVM_CREATE_IRQCHIP, which we cannot guarantee\nwill be called, we expose it via a KVM_CAP_TSC_DEADLINE_TIMER and not\nKVM_GET_SUPPORTED_CPUID.\n\nFixes the Illumos guest kernel, which uses the TSC deadline timer feature.\n\n[avi: add the KVM_CAP + documentation]\n\nReported-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nTested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3d27e23b17010c668db311140b17bbbb70c78fb9",
      "tree": "d3d87399212b2dda0bbf6616e4a580b35e7d7760",
      "parents": [
        "423873736b78f549fbfa2f715f2e4de7e6c5e1e9"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Dec 20 21:59:09 2011 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 19:03:54 2011 +0200"
      },
      "message": "KVM: Device assignment permission checks\n\nOnly allow KVM device assignment to attach to devices which:\n\n - Are not bridges\n - Have BAR resources (assume others are special devices)\n - The user has permissions to use\n\nAssigning a bridge is a configuration error, it\u0027s not supported, and\ntypically doesn\u0027t result in the behavior the user is expecting anyway.\nDevices without BAR resources are typically chipset components that\nalso don\u0027t have host drivers.  We don\u0027t want users to hold such devices\ncaptive or cause system problems by fencing them off into an iommu\ndomain.  We determine \"permission to use\" by testing whether the user\nhas access to the PCI sysfs resource files.  By default a normal user\nwill not have access to these files, so it provides a good indication\nthat an administration agent has granted the user access to the device.\n\n[Yang Bai: add missing #include]\n[avi: fix comment style]\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Yang Bai \u003chamo.by@gmail.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "423873736b78f549fbfa2f715f2e4de7e6c5e1e9",
      "tree": "62526563ccca81957a4c100aa0bc359dcd10af08",
      "parents": [
        "0924ab2cfa98b1ece26c033d696651fd62896c69"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Dec 20 21:59:03 2011 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 17:13:31 2011 +0200"
      },
      "message": "KVM: Remove ability to assign a device without iommu support\n\nThis option has no users and it exposes a security hole that we\ncan allow devices to be assigned without iommu protection.  Make\nKVM_DEV_ASSIGN_ENABLE_IOMMU a mandatory option.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0924ab2cfa98b1ece26c033d696651fd62896c69",
      "tree": "87b23ddd025d5c44ebaa941b92c8cd8ade6af703",
      "parents": [
        "4962516b2309d76964f9df0d33e74f43b624a42d"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Dec 14 19:25:13 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Dec 25 17:13:18 2011 +0200"
      },
      "message": "KVM: x86: Prevent starting PIT timers in the absence of irqchip support\n\nUser space may create the PIT and forgets about setting up the irqchips.\nIn that case, firing PIT IRQs will crash the host:\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000128\nIP: [\u003cffffffffa10f6280\u003e] kvm_set_irq+0x30/0x170 [kvm]\n...\nCall Trace:\n [\u003cffffffffa11228c1\u003e] pit_do_work+0x51/0xd0 [kvm]\n [\u003cffffffff81071431\u003e] process_one_work+0x111/0x4d0\n [\u003cffffffff81071bb2\u003e] worker_thread+0x152/0x340\n [\u003cffffffff81075c8e\u003e] kthread+0x7e/0x90\n [\u003cffffffff815a4474\u003e] kernel_thread_helper+0x4/0x10\n\nPrevent this by checking the irqchip mode before starting a timer. We\ncan\u0027t deny creating the PIT if the irqchips aren\u0027t set up yet as\ncurrent user land expects this order to work.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2ca526bf4953380abfe5dff455e356967b239c70",
      "tree": "122e4d6a486a8000630546d955f52c9750720b2f",
      "parents": [
        "a572e688cf5d99d2382016c7241ec37b523b0137"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 20 21:23:28 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 25 14:05:05 2011 +0100"
      },
      "message": "MAINTAINERS: firewire git URL update\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4962516b2309d76964f9df0d33e74f43b624a42d",
      "tree": "815e16e71e76b2ca6ffc09b176ecfb4263f426df",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b",
        "8a78389651b3e411ec5a7df61404734f52d6f4eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 13:34:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 24 13:34:44 2011 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux\n\n* \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux:\n  vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()\n  drm/radeon/kms: bail on BTC parts if MC ucode is missing\n"
    },
    {
      "commit": "5f0a6e2d503896062f641639dacfe5055c2f593b",
      "tree": "711b4756a2cfc90c073af0811a3aec22dbb221ea",
      "parents": [
        "a22681fabb1564d00d54e804ec95ba9330d857ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 21:51:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 21:51:06 2011 -0800"
      },
      "message": "Linux 3.2-rc7\n"
    },
    {
      "commit": "a22681fabb1564d00d54e804ec95ba9330d857ed",
      "tree": "cd1dd7d3027a0a1c25506e37c32579bc388c4287",
      "parents": [
        "6d451c578c7222c7e9305c2e776a654dc6ec06c3",
        "e30e2fdfe56288576ee9e04dbb06b4bd5f282203"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 21:47:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 21:47:28 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  VFS: Fix race between CPU hotplug and lglocks\n"
    },
    {
      "commit": "6d451c578c7222c7e9305c2e776a654dc6ec06c3",
      "tree": "93288fb3bba3ece1de4117e7db8f74754db5d66e",
      "parents": [
        "71448c1f4fd7c1b2bab766b3bf2b675cfe71b9ff",
        "b3bba872ddb0320a7ecb54decae53c13ceb2ed4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 20:25:36 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 20:25:36 2011 -0800"
      },
      "message": "Merge tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nfor linus: writeback reason binary tracing format fix\n\n* tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: show writeback reason with __print_symbolic\n"
    },
    {
      "commit": "71448c1f4fd7c1b2bab766b3bf2b675cfe71b9ff",
      "tree": "d9935c529067afedb2aee4f64d7c03084fde8da6",
      "parents": [
        "4d18de944954b973fede3259d206022f90549269",
        "fa0ad6575f6d459e215dded90b10cc455a889145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 15:01:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 15:01:24 2011 -0800"
      },
      "message": "Merge branch \u0027rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild\n\n* \u0027rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:\n  kconfig: adapt update-po-config to new UML layout\n"
    },
    {
      "commit": "4d18de944954b973fede3259d206022f90549269",
      "tree": "f022fe447a37406f07a62e18cf270c21a36004e8",
      "parents": [
        "827fa4c762fa81fbfcd262505588feeeae7a3b66",
        "c070e38e4ee005f55895df177a9e14d90d6204b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:59:08 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:59:08 2011 -0800"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:\n  [media] omap3isp: Fix crash caused by subdevs now having a pointer to devnodes\n"
    },
    {
      "commit": "827fa4c762fa81fbfcd262505588feeeae7a3b66",
      "tree": "1dbbfcfb0e3a6e6a453f630bfa008fba6bf78daf",
      "parents": [
        "5d219c6b9fa28b990b22e8e3b08a1a1f34400b4f",
        "08c422c27f855d27b0b3d9fa30ebd938d4ae6f1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:58:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:58:39 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  Btrfs: call d_instantiate after all ops are setup\n  Btrfs: fix worker lock misuse in find_worker\n"
    },
    {
      "commit": "5d219c6b9fa28b990b22e8e3b08a1a1f34400b4f",
      "tree": "eec044bab1209e0307a340a0257be62e62fb2d96",
      "parents": [
        "155d4551bd0ab04367f4ca4e0a229774497da4d8",
        "7cc8583372a21d98a23b703ad96cab03180b5030"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:58:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:58:14 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc64: Fix MSIQ HV call ordering in pci_sun4v_msiq_build_irq().\n"
    },
    {
      "commit": "155d4551bd0ab04367f4ca4e0a229774497da4d8",
      "tree": "e5ea2f802e778c4ad6e343ea344992a20076dd70",
      "parents": [
        "ad1fca2003822ff2f24c88ad68a29970c5e0d0a7",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:57:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 23 14:57:55 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  netfilter: xt_connbytes: handle negation correctly\n  net: relax rcvbuf limits\n  rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()\n  net: introduce DST_NOPEER dst flag\n  mqprio: Avoid panic if no options are provided\n  bridge: provide a mtu() method for fake_dst_ops\n"
    },
    {
      "commit": "6350323ad8def2ac00d77cdee3b79c9b9fba75c4",
      "tree": "299b12c2335e9bf59b3e35c0eb098c1734ba92e1",
      "parents": [
        "0fd7bac6b6157eed6cf0cb86a1e88ba29e57c033",
        "0354b48f633ae435acbc01b470a1ce8cfeff3e9f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 14:29:20 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 14:29:20 2011 -0500"
      },
      "message": "Merge branch \u0027nf\u0027 of git://1984.lsi.us.es/net\n"
    },
    {
      "commit": "0354b48f633ae435acbc01b470a1ce8cfeff3e9f",
      "tree": "48a2b84c4298194cd51a55b89b7c9cb2714c0840",
      "parents": [
        "3f1e6d3fd37bd4f25e5b19f1c7ca21850426c33f"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Fri Dec 16 18:35:15 2011 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Dec 23 14:50:19 2011 +0100"
      },
      "message": "netfilter: xt_connbytes: handle negation correctly\n\n\"! --connbytes 23:42\" should match if the packet/byte count is not in range.\n\nAs there is no explict \"invert match\" toggle in the match structure,\nuserspace swaps the from and to arguments\n(i.e., as if \"--connbytes 42:23\" were given).\n\nHowever, \"what \u003c\u003d 23 \u0026\u0026 what \u003e\u003d 42\" will always be false.\n\nChange things so we use \"||\" in case \"from\" is larger than \"to\".\n\nThis change may look like it breaks backwards compatibility when \"to\" is 0.\nHowever, older iptables binaries will refuse \"connbytes 42:0\",\nand current releases treat it to mean \"! --connbytes 0:42\",\nso we should be fine.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    }
  ],
  "next": "08c422c27f855d27b0b3d9fa30ebd938d4ae6f1f"
}
