)]}'
{
  "log": [
    {
      "commit": "27923eb19c5d1197bd9d1472abdc2e749f21387a",
      "tree": "bfb6837f34ea815a06e37f3021407d072e6cf8d7",
      "parents": [
        "586f9607962cd982293759a4e95ff06e75be5225"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Thu Nov 25 10:25:44 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:42 2011 +0200"
      },
      "message": "KVM: PPC: Fix compile warning\n\nKVM compilation fails with the following warning:\n\ninclude/linux/kvm_host.h: In function \u0027kvm_irq_routing_update\u0027:\ninclude/linux/kvm_host.h:679:2: error: \u0027struct kvm\u0027 has no member named \u0027irq_routing\u0027\n\nThat function is only used and reasonable to have on systems that implement\nan in-kernel interrupt chip. PPC doesn\u0027t.\n\nFix by #ifdef\u0027ing it out when no irqchip is available.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "586f9607962cd982293759a4e95ff06e75be5225",
      "tree": "efce3a218f0268e4a066d1621d594951d6ac569e",
      "parents": [
        "aa17911e3c21b63e3bf94c580ed029d6dad816b4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 18 13:09:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:41 2011 +0200"
      },
      "message": "KVM: Add instruction-set-specific exit qualifications to kvm_exit trace\n\nThe exit reason alone is insufficient to understand exactly why an exit\noccured; add ISA-specific trace parameters for additional information.\n\nBecause fetching these parameters is expensive on vmx, and because these\nparameters are fetched even if tracing is disabled, we fetch the\nparameters via a callback instead of as traditional trace arguments.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "aa17911e3c21b63e3bf94c580ed029d6dad816b4",
      "tree": "dc87c69b50b65d91cb85ef85def526365a6fdc59",
      "parents": [
        "bd2b53b20fcd0d6c4c815b54e6d464e34429d3a4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 17 18:44:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:40 2011 +0200"
      },
      "message": "KVM: Record instruction set in kvm_exit tracepoint\n\nexit_reason\u0027s meaning depend on the instruction set; record it so a trace\ntaken on one machine can be interpreted on another.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bd2b53b20fcd0d6c4c815b54e6d464e34429d3a4",
      "tree": "1f225ea8b74368056bc144de14a1015fa4ebde29",
      "parents": [
        "104f226bfd0a607ca0e804ae4907555374f72cd9"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 18 19:09:08 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:38 2011 +0200"
      },
      "message": "KVM: fast-path msi injection with irqfd\n\nStore irq routing table pointer in the irqfd object,\nand use that to inject MSI directly without bouncing out to\na kernel thread.\n\nWhile we touch this structure, rearrange irqfd fields to make fastpath\nbetter packed for better cache utilization.\n\nThis also adds some comments about locking rules and rcu usage in code.\n\nSome notes on the design:\n- Use pointer into the rt instead of copying an entry,\n  to make it possible to use rcu, thus side-stepping\n  locking complexities.  We also save some memory this way.\n- Old workqueue code is still used for level irqs.\n  I don\u0027t think we DTRT with level anyway, however,\n  it seems easier to keep the code around as\n  it has been thought through and debugged, and fix level later than\n  rip out and re-instate it later.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "104f226bfd0a607ca0e804ae4907555374f72cd9",
      "tree": "e3a792eef60ee304fc797397db52519a709a9f41",
      "parents": [
        "30b31ab6823988263c72a215fb875edec6161250"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 18 13:12:52 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:37 2011 +0200"
      },
      "message": "KVM: VMX: Fold __vmx_vcpu_run() into vmx_vcpu_run()\n\ncea15c2 (\"KVM: Move KVM context switch into own function\") split vmx_vcpu_run()\nto prevent multiple copies of the context switch from being generated (causing\nproblems due to a label).  This patch folds them back together again and adds\nthe __noclone attribute to prevent the label from being duplicated.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "30b31ab6823988263c72a215fb875edec6161250",
      "tree": "8385e5888f956d2df04b1dcc91fbe14458082ae7",
      "parents": [
        "90de84f50b425805bf7ddc430143ed2e224ebd8e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 17 15:28:22 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:36 2011 +0200"
      },
      "message": "KVM: x86 emulator: do not perform address calculations on linear addresses\n\nLinear addresses are supposed to already have segment checks performed on them;\nif we play with these addresses the checks become invalid.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "90de84f50b425805bf7ddc430143ed2e224ebd8e",
      "tree": "259b70846fc9972c77e60c85e0afe172b4d87d7d",
      "parents": [
        "d53db5efc2f6026f7cb0871c91b887ed55e0f265"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 17 15:28:21 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:35 2011 +0200"
      },
      "message": "KVM: x86 emulator: preserve an operand\u0027s segment identity\n\nCurrently the x86 emulator converts the segment register associated with\nan operand into a segment base which is added into the operand address.\nThis loss of information results in us not doing segment limit checks properly.\n\nReplace struct operand\u0027s addr.mem field by a segmented_address structure\nwhich holds both the effetive address and segment.  This will allow us to\ndo the limit check at the point of access.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d53db5efc2f6026f7cb0871c91b887ed55e0f265",
      "tree": "bba09541b05d436abe652c18720b6b73564c0e1b",
      "parents": [
        "8a6bcaa6efeb7f970474890d4dcfe89774ff26a4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 17 13:40:51 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:33 2011 +0200"
      },
      "message": "KVM: x86 emulator: drop DPRINTF()\n\nFailed emulation is reported via a tracepoint; the cmps printk is pointless.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8a6bcaa6efeb7f970474890d4dcfe89774ff26a4",
      "tree": "cb9d11d9048cfcb8c7ae573c490f342d725b3235",
      "parents": [
        "f9335afea5d649693aee1ec8af2cc8ccf376f5a9"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Nov 17 13:40:50 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:32 2011 +0200"
      },
      "message": "KVM: x86 emulator: drop unused #ifndef __KERNEL__\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f9335afea5d649693aee1ec8af2cc8ccf376f5a9",
      "tree": "f6826340ff751557c68713374d158c2fb3cf4d74",
      "parents": [
        "75b7127c3858261fc080dd52a022424a7e7f6ae5"
      ],
      "author": {
        "name": "Shane Wang",
        "email": "shane.wang@intel.com",
        "time": "Wed Nov 17 11:40:17 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:31 2011 +0200"
      },
      "message": "KVM: VMX: Inform user about INTEL_TXT dependency\n\nInform user to either disable TXT in the BIOS or do TXT launch\nwith tboot before enabling KVM since some BIOSes do not set\nFEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX bit when TXT is enabled.\n\nSigned-off-by: Shane Wang \u003cshane.wang@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "75b7127c3858261fc080dd52a022424a7e7f6ae5",
      "tree": "7a59ff08f2128ebe039334ca385c21e451a6f16e",
      "parents": [
        "97e91e28fa8fcbac30beab3de72060ada27d5671"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 16 17:37:41 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:29 2011 +0200"
      },
      "message": "KVM: rename hardware_[dis|en]able() to *_nolock() and add locking wrappers\n\nThe naming convension of hardware_[dis|en]able family is little bit confusing\nbecause only hardware_[dis|en]able_all are using _nolock suffix.\n\nRenaming current hardware_[dis|en]able() to *_nolock() and using\nhardware_[dis|en]able() as wrapper functions which take kvm_lock for them\nreduces extra confusion.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "97e91e28fa8fcbac30beab3de72060ada27d5671",
      "tree": "b6a1331007935961eb25157e7cceba13d9587090",
      "parents": [
        "e730b63cc083852551b092e1c93f0ef22c25f220"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 16 17:35:02 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:28 2011 +0200"
      },
      "message": "KVM: take kvm_lock for hardware_disable() during cpu hotplug\n\nIn kvm_cpu_hotplug(), only CPU_STARTING case is protected by kvm_lock.\nThis patch adds missing protection for CPU_DYING case.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e730b63cc083852551b092e1c93f0ef22c25f220",
      "tree": "9bd7c6a96f38e8fe925a6cac855e5aaa549985ba",
      "parents": [
        "49f481720438bbd0138218b0bcb494c3512a454f"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Nov 17 12:11:41 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:27 2011 +0200"
      },
      "message": "KVM: MMU: don\u0027t mark spte notrap if reserved bit set\n\nIf reserved bit is set, we need inject the #PF with PFEC.RSVD\u003d1,\nbut shadow_notrap_nonpresent_pte injects #PF with PFEC.RSVD\u003d0 only\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "49f481720438bbd0138218b0bcb494c3512a454f",
      "tree": "9b080ee6a011f42a441033cdebde5c9f2049bfac",
      "parents": [
        "51de271d441c01e7a0cf39f128827e0b4dc56409"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 16 22:30:07 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:25 2011 +0200"
      },
      "message": "KVM: Document device assigment API\n\nAdds API documentation for KVM_[DE]ASSIGN_PCI_DEVICE,\nKVM_[DE]ASSIGN_DEV_IRQ, KVM_SET_GSI_ROUTING, KVM_ASSIGN_SET_MSIX_NR, and\nKVM_ASSIGN_SET_MSIX_ENTRY.\n\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "51de271d441c01e7a0cf39f128827e0b4dc56409",
      "tree": "4d019dcf308e670008eafcfa64a649aa84588f10",
      "parents": [
        "ed78661f2614d3c9f69c23e280db3bafdabdf5bb"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 16 22:30:06 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:24 2011 +0200"
      },
      "message": "KVM: Clean up kvm_vm_ioctl_assigned_device\n\nAny arch not supporting device assigment will also not build\nassigned-dev.c. So testing for KVM_CAP_DEVICE_DEASSIGNMENT is pointless.\nKVM_CAP_ASSIGN_DEV_IRQ is unconditinally set. Moreover, add a default\ncase for dispatching the ioctl.\n\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ed78661f2614d3c9f69c23e280db3bafdabdf5bb",
      "tree": "7344bdb2ae1ca07dcb2c4bf76e4618c1c65d47a9",
      "parents": [
        "1e001d49f9f9a0e3eb72939ad49d9a2c7754e9c1"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 16 22:30:05 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:22 2011 +0200"
      },
      "message": "KVM: Save/restore state of assigned PCI device\n\nThe guest may change states that pci_reset_function does not touch. So\nwe better save/restore the assigned device across guest usage.\n\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1e001d49f9f9a0e3eb72939ad49d9a2c7754e9c1",
      "tree": "3ccce476e4ad47d9ad620294a684827df0ded980",
      "parents": [
        "0645211c43df0b96c51e12980066b3227e10b164"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 16 22:30:04 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:21 2011 +0200"
      },
      "message": "KVM: Refactor IRQ names of assigned devices\n\nCosmetic change, but it helps to correlate IRQs with PCI devices.\n\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0645211c43df0b96c51e12980066b3227e10b164",
      "tree": "2c23ea65e07b9481681eb6bb7cc5d7d2fa109917",
      "parents": [
        "0c106b5aaa727c7f508828e94cff4a98874f930c"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 16 22:30:03 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:20 2011 +0200"
      },
      "message": "KVM: Switch assigned device IRQ forwarding to threaded handler\n\nThis improves the IRQ forwarding for assigned devices: By using the\nkernel\u0027s threaded IRQ scheme, we can get rid of the latency-prone work\nqueue and simplify the code in the same run.\n\nMoreover, we no longer have to hold assigned_dev_lock while raising the\nguest IRQ, which can be a lenghty operation as we may have to iterate\nover all VCPUs. The lock is now only used for synchronizing masking vs.\nunmasking of INTx-type IRQs, thus is renames to intx_lock.\n\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0c106b5aaa727c7f508828e94cff4a98874f930c",
      "tree": "24bcd4ff350c34e86ee76bdcac006d7c96de2719",
      "parents": [
        "945ee35e0764a834bc5bc5d572085d5b6409902a"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 16 22:30:02 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:19 2011 +0200"
      },
      "message": "KVM: Clear assigned guest IRQ on release\n\nWhen we deassign a guest IRQ, clear the potentially asserted guest line.\nThere might be no chance for the guest to do this, specifically if we\nswitch from INTx to MSI mode.\n\nAcked-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "945ee35e0764a834bc5bc5d572085d5b6409902a",
      "tree": "e2ecb853b8bca8a20261bd652fa71d05309da226",
      "parents": [
        "2a6b20b83d1d37db57a9c25d99dc78454ad0747b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Nov 09 16:15:43 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:17 2011 +0200"
      },
      "message": "KVM: Mask KVM_GET_SUPPORTED_CPUID data with Linux cpuid info\n\nThis allows Linux to mask cpuid bits if, for example, nx is enabled on only\nsome cpus.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2a6b20b83d1d37db57a9c25d99dc78454ad0747b",
      "tree": "c7dc696ec4c0b8e6853bd9705dedb3fed26d7eca",
      "parents": [
        "c4806acdcec020fe5bbb054ce9dc75aaecaf29dd"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Nov 09 16:15:42 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:16 2011 +0200"
      },
      "message": "KVM: SVM: Replace svm_has() by standard Linux cpuid accessors\n\nInstead of querying cpuid directly, use the Linux accessors (boot_cpu_has,\netc.).  This allows the things like the clearcpuid kernel command line to\nwork (when it\u0027s fixed wrt scattered cpuid bits).\n\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c4806acdcec020fe5bbb054ce9dc75aaecaf29dd",
      "tree": "0fafeeb72efdb8985165fcab0a24ffcc5071653c",
      "parents": [
        "060c2abe6c5e0f90418baf0a43b48d8d9a5521fb"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Nov 12 14:49:55 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:14 2011 +0200"
      },
      "message": "KVM: MMU: fix apf prefault if nested guest is enabled\n\nIf apf is generated in L2 guest and is completed in L1 guest, it will\nprefault this apf in L1 guest\u0027s mmu context.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "060c2abe6c5e0f90418baf0a43b48d8d9a5521fb",
      "tree": "5e7ac2a9f7d41c2eda10dc2180d8e2bb79aa98cf",
      "parents": [
        "e5f3f027960128035a5fa176877b5e9160b35397"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Nov 12 14:49:11 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:13 2011 +0200"
      },
      "message": "KVM: MMU: support apf for nonpaing guest\n\nLet\u0027s support apf for nonpaing guest\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e5f3f027960128035a5fa176877b5e9160b35397",
      "tree": "7c8ad1d7cd4d5ab21a71dfe23f0bdf9a0b98caf3",
      "parents": [
        "5054c0de664dbbb47f1e6b69d668b6018df832f6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Nov 12 14:47:01 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:12 2011 +0200"
      },
      "message": "KVM: MMU: clear apfs if page state is changed\n\nIf CR0.PG is changed, the page fault cann\u0027t be avoid when the prefault address\nis accessed later\n\nAnd it also fix a bug: it can retry a page enabled #PF in page disabled context\nif mmu is shadow page\n\nThis idear is from Gleb Natapov\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5054c0de664dbbb47f1e6b69d668b6018df832f6",
      "tree": "57c1f6d3e87cb170f294a0d0ac0c1a1035905f67",
      "parents": [
        "d89f5eff70a31237ffa1e21c51d23ca532110aea"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Nov 12 14:46:08 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:11 2011 +0200"
      },
      "message": "KVM: MMU: fix missing post sync audit\n\nAdd AUDIT_POST_SYNC audit for long mode shadow page\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d89f5eff70a31237ffa1e21c51d23ca532110aea",
      "tree": "13b47648a564d8382e08d7e5937ea30ff0fb838c",
      "parents": [
        "9d893c6bc177b6ac5a1e937f4fdc359d272d68ff"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 09 17:02:49 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:09 2011 +0200"
      },
      "message": "KVM: Clean up vm creation and release\n\nIA64 support forces us to abstract the allocation of the kvm structure.\nBut instead of mixing this up with arch-specific initialization and\ndoing the same on destruction, split both steps. This allows to move\ngeneric destruction calls into generic code.\n\nIt also fixes error clean-up on failures of kvm_create_vm for IA64.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9d893c6bc177b6ac5a1e937f4fdc359d272d68ff",
      "tree": "0826303df20914ef50c06b7f36ba953f8a2b42bb",
      "parents": [
        "2a126faafb840e9a1e46514127cdb88ed998bd64"
      ],
      "author": {
        "name": "Tracey Dent",
        "email": "tdent48227@gmail.com",
        "time": "Sat Nov 06 14:52:58 2010 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:08 2011 +0200"
      },
      "message": "KVM: x86: Makefile clean up\n\nChanged makefile to use the ccflags-y option instead of EXTRA_CFLAGS.\n\nSigned-off-by: Tracey Dent \u003ctdent48227@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2a126faafb840e9a1e46514127cdb88ed998bd64",
      "tree": "18105f3ac6c241751a61b0a25017b95f2420d7cf",
      "parents": [
        "57e7fbee1dbd72949425b19d28415d2ddffe04ca"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Nov 04 18:29:42 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:07 2011 +0200"
      },
      "message": "KVM: remove unused function declaration\n\nRemove the declaration of kvm_mmu_set_base_ptes()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "57e7fbee1dbd72949425b19d28415d2ddffe04ca",
      "tree": "106193051d37d7b0ad9b76b495c58bdc03544322",
      "parents": [
        "30bd0c4c6c5aecc338ebf32e3a6e01c98f0a0b43"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Nov 09 12:42:12 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:05 2011 +0200"
      },
      "message": "KVM: Refactor srcu struct release on early errors\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "30bd0c4c6c5aecc338ebf32e3a6e01c98f0a0b43",
      "tree": "ddac5485f0a57d25096ee94126d74fc10d3fe85a",
      "parents": [
        "64f638c7c44fa87e65f51eaf0f8302b9cba2d696"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Nov 01 23:20:48 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:04 2011 +0200"
      },
      "message": "KVM: VMX: Disallow NMI while blocked by STI\n\nWhile not mandated by the spec, Linux relies on NMI being blocked by an\nIF-enabling STI.  VMX also refuses to enter a guest in this state, at\nleast on some implementations.\n\nDisallow NMI while blocked by STI by checking for the condition, and\nrequesting an interrupt window exit if it occurs.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "64f638c7c44fa87e65f51eaf0f8302b9cba2d696",
      "tree": "8aff59c0397f9231f5889d21b682a7a76e7dc66d",
      "parents": [
        "15096ffceabb9693306982127348890886384aaa"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Nov 01 17:03:44 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:03 2011 +0200"
      },
      "message": "KVM: fix the race while wakeup all pv guest\n\nIn kvm_async_pf_wakeup_all(), we add a dummy apf to vcpu-\u003easync_pf.done\nwithout holding vcpu-\u003easync_pf.lock, it will break if we are handling apfs\nat this time.\n\nAlso use \u0027list_empty_careful()\u0027 instead of \u0027list_empty()\u0027\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "15096ffceabb9693306982127348890886384aaa",
      "tree": "10eb51dd343830a56783a1b364f775b0ed28afd2",
      "parents": [
        "e6d53e3b0db7ae3641f01a2b2af1470fda86d10c"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Nov 02 17:35:35 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:01 2011 +0200"
      },
      "message": "KVM: handle more completed apfs if possible\n\nIf it\u0027s no need to inject async #PF to PV guest we can handle\nmore completed apfs at one time, so we can retry guest #PF\nas early as possible\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e6d53e3b0db7ae3641f01a2b2af1470fda86d10c",
      "tree": "95b94e3caa16222379ef708ed6a073ddbc95a0a8",
      "parents": [
        "c7d28c24042f7969adc29147d6c0a190192a6808"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Nov 01 17:01:28 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:29:00 2011 +0200"
      },
      "message": "KVM: avoid unnecessary wait for a async pf\n\nIn current code, it checks async pf completion out of the wait context,\nlike this:\n\nif (vcpu-\u003earch.mp_state \u003d\u003d KVM_MP_STATE_RUNNABLE \u0026\u0026\n\t\t    !vcpu-\u003earch.apf.halted)\n\t\t\tr \u003d vcpu_enter_guest(vcpu);\n\t\telse {\n\t\t\t......\n\t\t\tkvm_vcpu_block(vcpu)\n\t\t\t ^- waiting until \u0027async_pf.done\u0027 is not empty\n}\n\nkvm_check_async_pf_completion(vcpu)\n ^- delete list from async_pf.done\n\nSo, if we check aysnc pf completion first, it can be blocked at\nkvm_vcpu_block\n\nFixed by mark the vcpu is unhalted in kvm_check_async_pf_completion()\npath\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c7d28c24042f7969adc29147d6c0a190192a6808",
      "tree": "7c4400eefa230cfd9934608343ccdda2c1fddc6f",
      "parents": [
        "0730388b97d20cc568c25b42b9a23b28959b481f"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Nov 01 17:00:30 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:59 2011 +0200"
      },
      "message": "KVM: fix searching async gfn in kvm_async_pf_gfn_slot\n\nDon\u0027t search later slots if the slot is empty\n\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0730388b97d20cc568c25b42b9a23b28959b481f",
      "tree": "6e0cdedd190b73575314138f8b67ee064afa3ee2",
      "parents": [
        "c9b263d2be9c535b410f6617710534f798bf0ff0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Nov 01 16:59:39 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:57 2011 +0200"
      },
      "message": "KVM: cleanup async_pf tracepoints\n\nUse \u0027DECLARE_EVENT_CLASS\u0027 to cleanup async_pf tracepoints\n\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c9b263d2be9c535b410f6617710534f798bf0ff0",
      "tree": "1ae7a644cb583bf3de163c07220083caecb14eed",
      "parents": [
        "2653503769ef9ae771509e1358a3da8de8d21709"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Nov 01 16:58:43 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:56 2011 +0200"
      },
      "message": "KVM: fix tracing kvm_try_async_get_page\n\nTracing \u0027async\u0027 and *pfn is useless, since \u0027async\u0027 is always true,\nand \u0027*pfn\u0027 is always \"fault_pfn\u0027\n\nWe can trace \u0027gva\u0027 and \u0027gfn\u0027 instead, it can help us to see the\nlife-cycle of an async_pf\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2653503769ef9ae771509e1358a3da8de8d21709",
      "tree": "5f568816fdb59fa592b1af47a952984977043151",
      "parents": [
        "ec25d5e66ee152e371fd7046f3f8441859579aea"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Nov 02 10:49:34 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:55 2011 +0200"
      },
      "message": "KVM: replace vmalloc and memset with vzalloc\n\nLet\u0027s use newly introduced vzalloc().\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ec25d5e66ee152e371fd7046f3f8441859579aea",
      "tree": "5edb00a4f7cb73758492efc7b013e17e841fdd7e",
      "parents": [
        "2eec73437487aa690882cafddca6e4d93df46f26"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Nov 01 15:35:01 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:53 2011 +0200"
      },
      "message": "KVM: handle exit due to INVD in VMX\n\nCurrently the exit is unhandled, so guest halts with error if it tries\nto execute INVD instruction. Call into emulator when INVD instruction\nis executed by a guest instead. This instruction is not needed by ordinary\nguests, but firmware (like OpenBIOS) use it and fail.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "2eec73437487aa690882cafddca6e4d93df46f26",
      "tree": "07dc35deb31d99607eac676e38215abe3996ce65",
      "parents": [
        "aac8763697c6b7aa133abe8092a25154960e9a0c"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Mon Nov 01 14:01:29 2010 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:52 2011 +0200"
      },
      "message": "KVM: x86: Avoid issuing wbinvd twice\n\nMicro optimization to avoid calling wbinvd twice on the CPU that has to\nemulate it. As we might be preempted between smp_call_function_many and\nthe local wbinvd, the cache might be filled again so that real work\ncould be done uselessly.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "aac8763697c6b7aa133abe8092a25154960e9a0c",
      "tree": "83d2c3e131bf52df6fd2e107a44b6b9f32bc9588",
      "parents": [
        "3bcc8a8c6c13f601dddd948d33d89d5ac5213e3c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Oct 27 17:22:10 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:50 2011 +0200"
      },
      "message": "KVM: get rid of warning within kvm_dev_ioctl_create_vm\n\nFixes this:\n\n  CC      arch/s390/kvm/../../../virt/kvm/kvm_main.o\narch/s390/kvm/../../../virt/kvm/kvm_main.c: In function \u0027kvm_dev_ioctl_create_vm\u0027:\narch/s390/kvm/../../../virt/kvm/kvm_main.c:1828:10: warning: unused variable \u0027r\u0027\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3bcc8a8c6c13f601dddd948d33d89d5ac5213e3c",
      "tree": "edf4c5e4c3cd4edddc034d519f5c0de31732f502",
      "parents": [
        "6f9e5c1702319e048a90e06e31b957fbbcecbe07"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Oct 27 17:21:21 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:49 2011 +0200"
      },
      "message": "KVM: add cast within kvm_clear_guest_page to fix warning\n\nFixes this:\n\n  CC      arch/s390/kvm/../../../virt/kvm/kvm_main.o\narch/s390/kvm/../../../virt/kvm/kvm_main.c: In function \u0027kvm_clear_guest_page\u0027:\narch/s390/kvm/../../../virt/kvm/kvm_main.c:1224:2: warning: passing argument 3 of \u0027kvm_write_guest_page\u0027 makes pointer from integer without a cast\narch/s390/kvm/../../../virt/kvm/kvm_main.c:1185:5: note: expected \u0027const void *\u0027 but argument is of type \u0027long unsigned int\u0027\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6f9e5c1702319e048a90e06e31b957fbbcecbe07",
      "tree": "335deee0e2351cdde480460200162dc055ef717e",
      "parents": [
        "515a01279a187415322a80736800a7d6325876ab"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Nov 01 14:36:09 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:48 2011 +0200"
      },
      "message": "KVM: use kmalloc() for small dirty bitmaps\n\nCurrently we are using vmalloc() for all dirty bitmaps even if\nthey are small enough, say less than K bytes.\n\nWe use kmalloc() if dirty bitmap size is less than or equal to\nPAGE_SIZE so that we can avoid vmalloc area usage for VGA.\n\nThis will also make the logging start/stop faster.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "515a01279a187415322a80736800a7d6325876ab",
      "tree": "8690a1b26013cb385b9d143c83301bdab758dd48",
      "parents": [
        "a36a57b1a19bce17b67f5c6f43460baf664ae5fa"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Oct 27 18:23:54 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:46 2011 +0200"
      },
      "message": "KVM: pre-allocate one more dirty bitmap to avoid vmalloc()\n\nCurrently x86\u0027s kvm_vm_ioctl_get_dirty_log() needs to allocate a bitmap by\nvmalloc() which will be used in the next logging and this has been causing\nbad effect to VGA and live-migration: vmalloc() consumes extra systime,\ntriggers tlb flush, etc.\n\nThis patch resolves this issue by pre-allocating one more bitmap and switching\nbetween two bitmaps during dirty logging.\n\nPerformance improvement:\n  I measured performance for the case of VGA update by trace-cmd.\n  The result was 1.5 times faster than the original one.\n\n  In the case of live migration, the improvement ratio depends on the workload\n  and the guest memory size. In general, the larger the memory size is the more\n  benefits we get.\n\nNote:\n  This does not change other architectures\u0027s logic but the allocation size\n  becomes twice. This will increase the actual memory consumption only when\n  the new size changes the number of pages allocated by vmalloc().\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a36a57b1a19bce17b67f5c6f43460baf664ae5fa",
      "tree": "3cc8133240d81c3b1871db29d1958896a4fd8742",
      "parents": [
        "64be5007066173d11a4635eedd57d41a3b3a7027"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Oct 27 18:22:19 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:45 2011 +0200"
      },
      "message": "KVM: introduce wrapper functions for creating/destroying dirty bitmaps\n\nThis makes it easy to change the way of allocating/freeing dirty bitmaps.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "64be5007066173d11a4635eedd57d41a3b3a7027",
      "tree": "d2d7e085b63a1f2160b04d1b6fcd5994592e5c80",
      "parents": [
        "612819c3c6e67bac8fceaa7cc402f13b1b63f7e4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 24 16:49:08 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:44 2011 +0200"
      },
      "message": "KVM: x86: trace \"exit to userspace\" event\n\nAdd tracepoint for userspace exit.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "612819c3c6e67bac8fceaa7cc402f13b1b63f7e4",
      "tree": "3739b8420660fc4de8d37d26004d9992e92acbe3",
      "parents": [
        "7905d9a5ad7a83f1c1c00559839857ab90afbdfc"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Oct 22 14:18:18 2010 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:28:40 2011 +0200"
      },
      "message": "KVM: propagate fault r/w information to gup(), allow read-only memory\n\nAs suggested by Andrea, pass r/w error code to gup(), upgrading read fault\nto writable if host pte allows it.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7905d9a5ad7a83f1c1c00559839857ab90afbdfc",
      "tree": "13cec1f9eebcc01928381105cb628e09e195ad0b",
      "parents": [
        "982c25658c066fbbeb42e44a6a8fcd59ae008837"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Oct 22 14:18:17 2010 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:39 2011 +0200"
      },
      "message": "KVM: MMU: flush TLBs on writable -\u003e read-only spte overwrite\n\nThis can happen in the following scenario:\n\nvcpu0\t\t\tvcpu1\nread fault\ngup(.write\u003d0)\n\t\t\tgup(.write\u003d1)\n\t\t\treuse swap cache, no COW\n\t\t\tset writable spte\n\t\t\tuse writable spte\nset read-only spte\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "982c25658c066fbbeb42e44a6a8fcd59ae008837",
      "tree": "127d24aa075cb94ad34724d70301d439ac9b6153",
      "parents": [
        "ff1fcb9ebd53ee3f21ae117e6952204e465f46d8"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Oct 22 14:18:16 2010 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:38 2011 +0200"
      },
      "message": "KVM: MMU: remove kvm_mmu_set_base_ptes\n\nUnused.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ff1fcb9ebd53ee3f21ae117e6952204e465f46d8",
      "tree": "ac316541da4ad9559c4ca027d133c08b3c558954",
      "parents": [
        "83bcacb1a548d4d8df532376c981277761622bce"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Oct 22 14:18:15 2010 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:37 2011 +0200"
      },
      "message": "KVM: VMX: remove setting of shadow_base_ptes for EPT\n\nThe EPT present/writable bits use the same position as normal\npagetable bits.\n\nSince direct_map passes ACC_ALL to mmu_set_spte, thus always setting\nthe writable bit on sptes, use the generic PT_PRESENT shadow_base_pte.\n\nAlso pass present/writable error code information from EPT violation\nto generic pagefault handler.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "83bcacb1a548d4d8df532376c981277761622bce",
      "tree": "dde9955df18fee353cd01419b625618b6e58cc23",
      "parents": [
        "82ca2d108b493f7d916975805668bef2096f1147"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Oct 25 15:23:55 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:36 2011 +0200"
      },
      "message": "KVM: Avoid double interrupt injection with vapic\n\nAfter an interrupt injection, the PPR changes, and we have to reflect that\ninto the vapic.  This causes a KVM_REQ_EVENT to be set, which causes the\nwhole interrupt injection routine to be run again (harmlessly).\n\nOptimize by only setting KVM_REQ_EVENT if the ppr was lowered; otherwise\nthere is no chance that a new injection is needed.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "82ca2d108b493f7d916975805668bef2096f1147",
      "tree": "fc0b2c3082b17167ab209a9ff2ca999da689ed99",
      "parents": [
        "dacccfdd6bb386ec0714e1fec250c4b7d0aaccc9"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Oct 21 12:20:34 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:34 2011 +0200"
      },
      "message": "KVM: SVM: Fold save_host_msrs() and load_host_msrs() into their callers\n\nThis abstraction only serves to obfuscate.  Remove.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "dacccfdd6bb386ec0714e1fec250c4b7d0aaccc9",
      "tree": "95067709061a1cc268b5bf36efe5150078dc222d",
      "parents": [
        "afe9e66f8233e33e16fcc5b855070e45978f919e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Oct 21 12:20:33 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:33 2011 +0200"
      },
      "message": "KVM: SVM: Move fs/gs/ldt save/restore to heavyweight exit path\n\nldt is never used in the kernel context; same goes for fs (x86_64) and gs\n(i386).  So save/restore them in the heavyweight exit path instead\nof the lightweight path.\n\nBy itself, this doesn\u0027t buy us much, but it paves the way for moving vmload\nand vmsave to the heavyweight exit path, since they modify the same registers.\n\n[jan: fix copy/pase mistake on i386]\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "afe9e66f8233e33e16fcc5b855070e45978f919e",
      "tree": "7cbd0aca2d8d8aefee7997e2aaf2358c5462f840",
      "parents": [
        "13c34e073bec75aa4c8d1bb80c10fd7291f3423a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Oct 21 12:20:32 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:31 2011 +0200"
      },
      "message": "KVM: SVM: Move svm-\u003ehost_gs_base into a separate structure\n\nMore members will join it soon.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "13c34e073bec75aa4c8d1bb80c10fd7291f3423a",
      "tree": "4fa0808d6c262ca4b1277d613909b2af2ec85ca7",
      "parents": [
        "d4c90b0043bdb40a6f340d34b2ac1861040de88c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Oct 21 12:20:31 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:29 2011 +0200"
      },
      "message": "KVM: SVM: Move guest register save out of interrupts disabled section\n\nSaving guest registers is just a memory copy, and does not need to be in the\ncritical section.  Move outside the critical section to improve latency a\nbit.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d4c90b0043bdb40a6f340d34b2ac1861040de88c",
      "tree": "34c5d8e26913ae53831d0a6a47bb83bf1bc3a08f",
      "parents": [
        "f56f5369561ccafe0d4a2396179f814454a1571c"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Oct 20 18:34:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:27 2011 +0200"
      },
      "message": "KVM: x86: Add missing inline tag to kvm_read_and_reset_pf_reason\n\nMay otherwise generates build warnings about unused\nkvm_read_and_reset_pf_reason if included without CONFIG_KVM_GUEST\nenabled.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f56f5369561ccafe0d4a2396179f814454a1571c",
      "tree": "b914484b3d61a42f38f65944dc2f2293e0652979",
      "parents": [
        "7e1fbeac6f4b52e12ccaa20b151bd76783069dee"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Oct 20 17:56:17 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:26 2011 +0200"
      },
      "message": "KVM: Move KVM context switch into own function\n\ngcc 4.5 with some special options is able to duplicate the VMX\ncontext switch asm in vmx_vcpu_run(). This results in a compile error\nbecause the inline asm sequence uses an on local label. The non local\nlabel is needed because other code wants to set up the return address.\n\nThis patch moves the asm code into an own function and marks\nthat explicitely noinline to avoid this problem.\n\nBetter would be probably to just move it into an .S file.\n\nThe diff looks worse than the change really is, it\u0027s all just\ncode movement and no logic change.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7e1fbeac6f4b52e12ccaa20b151bd76783069dee",
      "tree": "a61b1ec7e63d546cd153a08ad922230ca61fa309",
      "parents": [
        "8030089f9e93ee5cefe74d258e35edc7ce9e4b73"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed Oct 20 15:18:02 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:25 2011 +0200"
      },
      "message": "KVM: x86: Mark kvm_arch_setup_async_pf static\n\nIt has no user outside mmu.c and also no prototype.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8030089f9e93ee5cefe74d258e35edc7ce9e4b73",
      "tree": "fc6f910bfa8867b8d8155e4ef1467f236341ade4",
      "parents": [
        "fc5f06fac6fb8ce469ea173370f2cd398f1d9f9a"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Oct 19 18:13:41 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:23 2011 +0200"
      },
      "message": "KVM: improve hva_to_pfn() readability\n\nImprove vma handling code readability in hva_to_pfn() and fix\nasync pf handling code to properly check vma returned by find_vma().\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fc5f06fac6fb8ce469ea173370f2cd398f1d9f9a",
      "tree": "0f2017dabbfab067a5de8fdfdbc655be7a985388",
      "parents": [
        "6adba527420651b6cacaf392541c09fb108711a2"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:56 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:22 2011 +0200"
      },
      "message": "KVM: Send async PF when guest is not in userspace too.\n\nIf guest indicates that it can handle async pf in kernel mode too send\nit, but only if interrupts are enabled.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6adba527420651b6cacaf392541c09fb108711a2",
      "tree": "1f81e4fc0bdf46b39ed62587a493f085633e8ac1",
      "parents": [
        "6c047cd982f944fa63b2d96de2a06463d113f9fa"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:55 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:21 2011 +0200"
      },
      "message": "KVM: Let host know whether the guest can handle async PF in non-userspace context.\n\nIf guest can detect that it runs in non-preemptable context it can\nhandle async PFs at any time, so let host know that it can send async\nPF even if guest cpu is not in userspace.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6c047cd982f944fa63b2d96de2a06463d113f9fa",
      "tree": "33ea24341320d9adda2d2d3c0314a7244bac7862",
      "parents": [
        "7c90705bf2a373aa238661bdb6446f27299ef489"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:54 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:19 2011 +0200"
      },
      "message": "KVM paravirt: Handle async PF in non preemptable context\n\nIf async page fault is received by idle task or when preemp_count is\nnot zero guest cannot reschedule, so do sti; hlt and wait for page to be\nready. vcpu can still process interrupts while it waits for the page to\nbe ready.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7c90705bf2a373aa238661bdb6446f27299ef489",
      "tree": "d3d00b4413b0d33254d53bbb3285be82444494d9",
      "parents": [
        "631bc4878220932fe67fc46fc7cf7cccdb1ec597"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:53 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:17 2011 +0200"
      },
      "message": "KVM: Inject asynchronous page fault into a PV guest if page is swapped out.\n\nSend async page fault to a PV guest if it accesses swapped out memory.\nGuest will choose another task to run upon receiving the fault.\n\nAllow async page fault injection only when guest is in user mode since\notherwise guest may be in non-sleepable context and will not be able\nto reschedule.\n\nVcpu will be halted if guest will fault on the same page again or if\nvcpu executes kernel code.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "631bc4878220932fe67fc46fc7cf7cccdb1ec597",
      "tree": "ac588182d02308a004d45a9c3ae6834d096e263d",
      "parents": [
        "fd10cde9294f73eeccbc16f3fec1ae6cde7b800c"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:52 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:16 2011 +0200"
      },
      "message": "KVM: Handle async PF in a guest.\n\nWhen async PF capability is detected hook up special page fault handler\nthat will handle async page fault events and bypass other page faults to\nregular page fault handler. Also add async PF handling to nested SVM\nemulation. Async PF always generates exit to L1 where vcpu thread will\nbe scheduled out until page is available.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fd10cde9294f73eeccbc16f3fec1ae6cde7b800c",
      "tree": "6d49e440289c783ff1d5c635c57acd07a6b9c147",
      "parents": [
        "344d9588a9df06182684168be4f1408b55c7da3e"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:51 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:14 2011 +0200"
      },
      "message": "KVM paravirt: Add async PF initialization to PV guest.\n\nEnable async PF in a guest if async PF capability is discovered.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "344d9588a9df06182684168be4f1408b55c7da3e",
      "tree": "16890e3f0f10ac767265e650a1d6d38b78780040",
      "parents": [
        "ca3f10172eea9b95bbb66487656f3c3e93855702"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:50 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:12 2011 +0200"
      },
      "message": "KVM: Add PV MSR to enable asynchronous page faults delivery.\n\nGuest enables async PF vcpu functionality using this MSR.\n\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "ca3f10172eea9b95bbb66487656f3c3e93855702",
      "tree": "286b7c659b6e7c6c1e901f727fb6aad5a328eeb6",
      "parents": [
        "49c7754ce57063b819b01eb8a4290841ad0886c4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:49 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:10 2011 +0200"
      },
      "message": "KVM paravirt: Move kvm_smp_prepare_boot_cpu() from kvmclock.c to kvm.c.\n\nAsync PF also needs to hook into smp_prepare_boot_cpu so move the hook\ninto generic code.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "49c7754ce57063b819b01eb8a4290841ad0886c4",
      "tree": "67561bbc829d93efa5316c246ec84fe2f2493236",
      "parents": [
        "56028d0861e48f7cc9c573d79f2d8a0a933a2bba"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Oct 18 15:22:23 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:08 2011 +0200"
      },
      "message": "KVM: Add memory slot versioning and use it to provide fast guest write interface\n\nKeep track of memslots changes by keeping generation number in memslots\nstructure. Provide kvm_write_guest_cached() function that skips\ngfn_to_hva() translation if memslots was not changed since previous\ninvocation.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "56028d0861e48f7cc9c573d79f2d8a0a933a2bba",
      "tree": "fa42d19f235c585c6514337a26db9641780ac759",
      "parents": [
        "af585b921e5d1e919947c4b1164b59507fe7cd7b"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 17 18:13:42 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:23:06 2011 +0200"
      },
      "message": "KVM: Retry fault before vmentry\n\nWhen page is swapped in it is mapped into guest memory only after guest\ntries to access it again and generate another fault. To save this fault\nwe can map it immediately since we know that guest is going to access\nthe page. Do it only when tdp is enabled for now. Shadow paging case is\nmore complicated. CR[034] and EFER registers should be switched before\ndoing mapping and then switched back.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "af585b921e5d1e919947c4b1164b59507fe7cd7b",
      "tree": "d0d4cc753d4d58934c5986733d7340fe69e523de",
      "parents": [
        "010c520e20413dfd567d568aba2b7238acd37e33"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Oct 14 11:22:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jan 12 11:21:39 2011 +0200"
      },
      "message": "KVM: Halt vcpu if page it tries to access is swapped out\n\nIf a guest accesses swapped out memory do not swap it in from vcpu thread\ncontext. Schedule work to do swapping and put vcpu into halted state\ninstead.\n\nInterrupts will still be delivered to the guest and if interrupt will\ncause reschedule guest will continue to run another task.\n\n[avi: remove call to get_user_pages_noio(), nacked by Linus; this\n      makes everything synchrnous again]\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "010c520e20413dfd567d568aba2b7238acd37e33",
      "tree": "35ec0e11d22e09ee106835788bd68f47475edbab",
      "parents": [
        "d0dfc6b74a0c6e9ee46b62713256e2b025244d3c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Oct 11 14:23:39 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jan 02 12:05:15 2011 +0200"
      },
      "message": "KVM: Don\u0027t reset mmu context unnecessarily when updating EFER\n\nThe only bit of EFER that affects the mmu is NX, and this is already\naccounted for (LME only takes effect when changing cr0).\n\nBased on a patch by Hillf Danton.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d0dfc6b74a0c6e9ee46b62713256e2b025244d3c",
      "tree": "a065d54c18eaa687762e032dd46c28d4affff3b1",
      "parents": [
        "649497d1a3676020802ebba04a3d9bb31253adb5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Fri Dec 31 10:52:15 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jan 02 11:52:48 2011 +0200"
      },
      "message": "KVM: i8259: initialize isr_ack\n\nisr_ack is never initialized.  So, until the first PIC reset, interrupts\nmay fail to be injected.  This can cause Windows XP to fail to boot, as\nreported in the fallout from the fix to\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d21962.\n\nReported-and-tested-by: Nicolas Prochazka \u003cprochazka.nicolas@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "649497d1a3676020802ebba04a3d9bb31253adb5",
      "tree": "d413537c05b9cc23cc0725d0aeaa7bb37ae81407",
      "parents": [
        "0a59228168d3722b71f8e3dbc623316fb4be78f4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 28 12:09:07 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 29 12:35:29 2010 +0200"
      },
      "message": "KVM: MMU: Fix incorrect direct gfn for unpaged mode shadow\n\nWe use the physical address instead of the base gfn for the four\nPAE page directories we use in unpaged mode.  When the guest accesses\nan address above 1GB that is backed by a large host page, a BUG_ON()\nin kvm_mmu_set_gfn() triggers.\n\nResolves: https://bugzilla.kernel.org/show_bug.cgi?id\u003d21962\nReported-and-tested-by: Nicolas Prochazka \u003cprochazka.nicolas@gmail.com\u003e\nKVM-Stable-Tag.\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0a59228168d3722b71f8e3dbc623316fb4be78f4",
      "tree": "90533da9ccb9cc79b05cfc1198c67365d251df4d",
      "parents": [
        "2ba16c4f456eb63f54b1d8b065377d41a1cd6a14",
        "81711cee933599fa114abb0d258d8bbabef8adfb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:28:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:28:54 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: handle rt_sigreturn() more cleanly\n  arch/tile: handle CLONE_SETTLS in copy_thread(), not user space\n"
    },
    {
      "commit": "2ba16c4f456eb63f54b1d8b065377d41a1cd6a14",
      "tree": "9d3ac965a867d5b6e6950dee8efba7cb5d61621d",
      "parents": [
        "46bdfe6a50b88942f5323f837a3afd93a1c86e60",
        "081d835fa4ce70ad1e42ac76de850a49e23a1557"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:23:29 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:23:29 2010 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus:\n  MIPS: Fix build errors in sc-mips.c\n"
    },
    {
      "commit": "46bdfe6a50b88942f5323f837a3afd93a1c86e60",
      "tree": "9fe5add84d9bcca4670b1af98940d7267c3a3571",
      "parents": [
        "c15524a40a1603dc56a8691c4f50172fb86c23d8",
        "a2c606d53ab71dee6410f10ef0adf67321d60e06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:13:24 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:13:24 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  x86: avoid high BIOS area when allocating address space\n  x86: avoid E820 regions when allocating address space\n  x86: avoid low BIOS area when allocating address space\n  resources: add arch hook for preventing allocation in reserved areas\n  Revert \"resources: support allocating space within a region from the top down\"\n  Revert \"PCI: allocate bus resources from the top down\"\n  Revert \"x86/PCI: allocate space from the end of a region, not the beginning\"\n  Revert \"x86: allocate space within a region top-down\"\n  Revert \"PCI: fix pci_bus_alloc_resource() hang, prefer positive decode\"\n  PCI: Update MCP55 quirk to not affect non HyperTransport variants\n"
    },
    {
      "commit": "81711cee933599fa114abb0d258d8bbabef8adfb",
      "tree": "cef17c099689b15b3b8bb29b0eae84acd474ed8a",
      "parents": [
        "bc4cf2bb271b2d557fc510426755da786fc985be"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Dec 14 16:07:25 2010 -0500"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Dec 17 16:59:29 2010 -0500"
      },
      "message": "arch/tile: handle rt_sigreturn() more cleanly\n\nThe current tile rt_sigreturn() syscall pattern uses the common idiom\nof loading up pt_regs with all the saved registers from the time of\nthe signal, then anticipating the fact that we will clobber the ABI\n\"return value\" register (r0) as we return from the syscall by setting\nthe rt_sigreturn return value to whatever random value was in the pt_regs\nfor r0.\n\nHowever, this breaks in our 64-bit kernel when running \"compat\" tasks,\nsince we always sign-extend the \"return value\" register to properly\nhandle returned pointers that are in the upper 2GB of the 32-bit compat\naddress space.  Doing this to the sigreturn path then causes occasional\nrandom corruption of the 64-bit r0 register.\n\nInstead, we stop doing the crazy \"load the return-value register\"\nhack in sigreturn.  We already have some sigreturn-specific assembly\ncode that we use to pass the pt_regs pointer to C code.  We extend that\ncode to also set the link register to point to a spot a few instructions\nafter the usual syscall return address so we don\u0027t clobber the saved r0.\nNow it no longer matters what the rt_sigreturn syscall returns, and the\npt_regs structure can be cleanly and completely reloaded.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "bc4cf2bb271b2d557fc510426755da786fc985be",
      "tree": "25fa4e868d810603da82d1a7c800cf1b0eb0d100",
      "parents": [
        "5111711d3ed8f4f1012cac3ec3f2b463b549fbfd"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Dec 14 15:57:49 2010 -0500"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Dec 17 16:56:50 2010 -0500"
      },
      "message": "arch/tile: handle CLONE_SETTLS in copy_thread(), not user space\n\nPreviously we were just setting up the \"tp\" register in the\nnew task as started by clone() in libc.  However, this is not\nquite right, since in principle a signal might be delivered to\nthe new task before it had its TLS set up.  (Of course, this race\nwindow still exists for resetting the libc getpid() cached value\nin the new task, in principle.  But in any case, we are now doing\nthis exactly the way all other architectures do it.)\n\nThis change is important for 2.6.37 since the tile glibc we will\nbe submitting upstream will not set TLS in user space any more,\nso it will only work on a kernel that has this fix.  It should\nalso be taken for 2.6.36.x in the stable tree if possible.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "081d835fa4ce70ad1e42ac76de850a49e23a1557",
      "tree": "8d76d9a5276d3eb8f6fc4a0ab3555f3234a48022",
      "parents": [
        "c15524a40a1603dc56a8691c4f50172fb86c23d8"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Tue Nov 02 22:28:01 2010 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Dec 17 19:44:35 2010 +0000"
      },
      "message": "MIPS: Fix build errors in sc-mips.c\n\nSeen with malta_defconfig on Linus\u0027 tree:\n\n  CC      arch/mips/mm/sc-mips.o\narch/mips/mm/sc-mips.c: In function \u0027mips_sc_is_activated\u0027:\narch/mips/mm/sc-mips.c:77: error: \u0027config2\u0027 undeclared (first use in this function)\narch/mips/mm/sc-mips.c:77: error: (Each undeclared identifier is reported only once\narch/mips/mm/sc-mips.c:77: error: for each function it appears in.)\narch/mips/mm/sc-mips.c:81: error: \u0027tmp\u0027 undeclared (first use in this function)\nmake[2]: *** [arch/mips/mm/sc-mips.o] Error 1\nmake[1]: *** [arch/mips/mm] Error 2\nmake: *** [arch/mips] Error 2\n\n[Ralf: Cosmetic changes to minimize the number of arguments passed to\nmips_sc_is_activated]\n\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/1752/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a2c606d53ab71dee6410f10ef0adf67321d60e06",
      "tree": "7a4cf519cbfc01fd1c4273c1481f40f4cd7d00bc",
      "parents": [
        "4dc2287c1805e7fe8a7cb90bbcd44abee8cdb914"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:39:02 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:01:30 2010 -0800"
      },
      "message": "x86: avoid high BIOS area when allocating address space\n\nThis prevents allocation of the last 2MB before 4GB.\n\nThe experiment described here shows Windows 7 ignoring the last 1MB:\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d23542#c27\n\nThis patch ignores the top 2MB instead of just 1MB because H. Peter Anvin\nsays \"There will be ROM at the top of the 32-bit address space; it\u0027s a fact\nof the architecture, and on at least older systems it was common to have a\nshadow 1 MiB below.\"\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4dc2287c1805e7fe8a7cb90bbcd44abee8cdb914",
      "tree": "6ed67b382f15b16a9c9d7aca411fc7c13f2918b1",
      "parents": [
        "30919b0bf356a8ee0ef4f7d38ca8ad99b96820b2"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:56 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:01:24 2010 -0800"
      },
      "message": "x86: avoid E820 regions when allocating address space\n\nWhen we allocate address space, e.g., to assign it to a PCI device, don\u0027t\nallocate anything mentioned in the BIOS E820 memory map.\n\nOn recent machines (2008 and newer), we assign PCI resources from the\nwindows described by the ACPI PCI host bridge _CRS.  On many Dell\nmachines, these windows overlap some E820 reserved areas, e.g.,\n\n    BIOS-e820: 00000000bfe4dc00 - 00000000c0000000 (reserved)\n    pci_root PNP0A03:00: host bridge window [mem 0xbff00000-0xdfffffff]\n\nIf we put devices at 0xbff00000, they don\u0027t work, probably because\nthat\u0027s really RAM, not I/O memory.  This patch prevents that by removing\nthe 0xbfe4dc00-0xbfffffff area from the \"available\" resource.\n\nI\u0027m not very happy with this solution because Windows solves the problem\ndifferently (it seems to ignore E820 reserved areas and it allocates\ntop-down instead of bottom-up; details at comment 45 of the bugzilla\nbelow).  That means we\u0027re vulnerable to BIOS defects that Windows would not\ntrip over.  For example, if BIOS described a device in ACPI but didn\u0027t\nmention it in E820, Windows would work fine but Linux would fail.\n\nReference: https://bugzilla.kernel.org/show_bug.cgi?id\u003d16228\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "30919b0bf356a8ee0ef4f7d38ca8ad99b96820b2",
      "tree": "64b2e760eb636b8ccc198344964358695c74b9d3",
      "parents": [
        "fcb119183c73bf0781009713f303e28b1fb13d3e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:51 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:01:17 2010 -0800"
      },
      "message": "x86: avoid low BIOS area when allocating address space\n\nThis implements arch_remove_reservations() so allocate_resource() can\navoid any arch-specific reserved areas.  This currently just avoids the\nBIOS area (the first 1MB), but could be used for E820 reserved areas if\nthat turns out to be necessary.\n\nWe previously avoided this area in pcibios_align_resource().  This patch\nmoves the test from that PCI-specific path to a generic path, so *all*\nresource allocations will avoid this area.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fcb119183c73bf0781009713f303e28b1fb13d3e",
      "tree": "94d739189963cecafae1b497845eb1e856558e49",
      "parents": [
        "c0f5ac5426f7fd82b23dd5c6a1e633b290294a08"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:46 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:01:09 2010 -0800"
      },
      "message": "resources: add arch hook for preventing allocation in reserved areas\n\nThis adds arch_remove_reservations(), which an arch can implement if it\nneeds to protect part of the address space from allocation.\n\nSometimes that can be done by just putting a region in the resource tree,\nbut there are cases where that doesn\u0027t work well.  For example, x86 BIOS\nE820 reservations are not related to devices, so they may overlap part of,\nall of, or more than a device resource, so they may not end up at the\ncorrect spot in the resource tree.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c0f5ac5426f7fd82b23dd5c6a1e633b290294a08",
      "tree": "e271f4e49d7d32a4637d958b619b3b0836f7079c",
      "parents": [
        "6db45b76eaa08133187f2cb44d496de7e9503aa8"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:41 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:00:59 2010 -0800"
      },
      "message": "Revert \"resources: support allocating space within a region from the top down\"\n\nThis reverts commit e7f8567db9a7f6b3151b0b275e245c1cef0d9c70.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6db45b76eaa08133187f2cb44d496de7e9503aa8",
      "tree": "250b40b6ab6dcf9f9187996f3f954c9ca4457eba",
      "parents": [
        "d14125ecfee05473de46f06d992db109308c57a3"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:36 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:00:54 2010 -0800"
      },
      "message": "Revert \"PCI: allocate bus resources from the top down\"\n\nThis reverts commit b126b4703afa4010b161784a43650337676dd03b.\n\nWe\u0027re going back to the old behavior of allocating from bus resources\nin _CRS order.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d14125ecfee05473de46f06d992db109308c57a3",
      "tree": "97bf6c8fb4b5320ddd4ae170afb11df6d26af8a8",
      "parents": [
        "5e52f1c5e85fdc3831eeae8b546577e94a586f81"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:31 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:00:49 2010 -0800"
      },
      "message": "Revert \"x86/PCI: allocate space from the end of a region, not the beginning\"\n\nThis reverts commit dc9887dc02e37bcf83f4e792aa14b07782ef54cf.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5e52f1c5e85fdc3831eeae8b546577e94a586f81",
      "tree": "1a4588ef51243f7d9f46cc53f654c781c17d1b87",
      "parents": [
        "ac57cd5ee1935d1e60de86d75f13f377775f1c96"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:25 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:00:43 2010 -0800"
      },
      "message": "Revert \"x86: allocate space within a region top-down\"\n\nThis reverts commit 1af3c2e45e7a641e774bbb84fa428f2f0bf2d9c9.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ac57cd5ee1935d1e60de86d75f13f377775f1c96",
      "tree": "2c53e07fc33f5cd2fc95f1dfdedb2a338758c2fe",
      "parents": [
        "49c2fa08a77a7eefa4cbc73601f64984aceacfa7"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:20 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:00:38 2010 -0800"
      },
      "message": "Revert \"PCI: fix pci_bus_alloc_resource() hang, prefer positive decode\"\n\nThis reverts commit 82e3e767c21fef2b1b38868e20eb4e470a1e38e3.\n\nWe\u0027re going back to considering bus resources in the order we found\nthem (in _CRS order, when we\u0027re using _CRS), so we don\u0027t need to\ndefine any ordering.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c15524a40a1603dc56a8691c4f50172fb86c23d8",
      "tree": "f1473650674ce565aa6442a9f366e6ce02a4cd47",
      "parents": [
        "a6ac1f0af4b39f41fa69477cc44621c612403374",
        "c20b4dd31820a551d0fb60bf27b99345905c2eb6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:45:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:45:25 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://github.com/at91linux/linux-2.6-at91\n\n* \u0027for_linus\u0027 of git://github.com/at91linux/linux-2.6-at91:\n  at91: Refactor Stamp9G20 and PControl G20 board file\n  at91: Fix uhpck clock rate in upll case\n"
    },
    {
      "commit": "a6ac1f0af4b39f41fa69477cc44621c612403374",
      "tree": "3bc30b01c4a98a53477db77a4171696899b60f61",
      "parents": [
        "508817e7cd8cb585148d12b5673202142ece2330",
        "3e26f23091da06d02fa62da14c95f3688d27857c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:32:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:32:39 2010 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.37\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.37\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Fix preemption counter leak in kvm_timer_init()\n  KVM: enlarge number of possible CPUID leaves\n  KVM: SVM: Do not report xsave in supported cpuid\n  KVM: Fix OSXSAVE after migration\n"
    },
    {
      "commit": "508817e7cd8cb585148d12b5673202142ece2330",
      "tree": "5041771f203c906afce49d9e75e5e856f77a903f",
      "parents": [
        "8efc1a1a22e6daf9d669e6095460c77df683c325",
        "f08f5a0add20834d3f3d876dfe08005a5df656db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:31:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:31:59 2010 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / Runtime: Fix pm_runtime_suspended()\n  PM / Hibernate: Restore old swap signature to avoid user space breakage\n  PM / Hibernate: Fix PM_POST_* notification with user-space suspend\n"
    },
    {
      "commit": "8efc1a1a22e6daf9d669e6095460c77df683c325",
      "tree": "b7d74f31bb3bee58df82fe058cbc061e659b4e88",
      "parents": [
        "74280817e5013af83089a5dd511f6fb3b2362e09",
        "673eb9ff33e26ee6f4278cdab06749aef1bbef5b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:28:17 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:28:17 2010 -0800"
      },
      "message": "Merge branch \u0027bkl_removal\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027bkl_removal\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:\n  [media] uvcvideo: Convert to unlocked_ioctl\n  [media] uvcvideo: Lock stream mutex when accessing format-related information\n  [media] uvcvideo: Move mmap() handler to uvc_queue.c\n  [media] uvcvideo: Move mutex lock/unlock inside uvc_free_buffers\n  [media] uvcvideo: Lock controls mutex when querying menus\n  [media] v4l2-dev: fix race condition\n  [media] V4L: improve the BKL replacement heuristic\n  [media] v4l2-dev: use mutex_lock_interruptible instead of plain mutex_lock\n  [media] cx18: convert to unlocked_ioctl\n  [media] radio-timb: convert to unlocked_ioctl\n  [media] sh_vou: convert to unlocked_ioctl\n  [media] cafe_ccic: replace ioctl by unlocked_ioctl\n  [media] et61x251_core: trivial conversion to unlocked_ioctl\n  [media] sn9c102: convert to unlocked_ioctl\n  [media] BKL: trivial ioctl -\u003e unlocked_ioctl video driver conversions\n  [media] typhoon: convert to unlocked_ioctl\n  [media] si4713: convert to unlocked_ioctl\n  [media] tea5764: convert to unlocked_ioctl\n  [media] cadet: use unlocked_ioctl\n  [media] BKL: trivial BKL removal from V4L2 radio drivers\n"
    },
    {
      "commit": "74280817e5013af83089a5dd511f6fb3b2362e09",
      "tree": "d4c9eccad139dc295db915302270d05dff62072c",
      "parents": [
        "a3383e8372c0c11238f9bb9777929bfc3a2d320a",
        "5aad6c5f7733b94e666e3bf8b57beb7bbee15886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:27:30 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 17 09:27:30 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Fix conflict of Mic Boot controls\n  ALSA: HDA: Enable subwoofer on Asus G73Jw\n  ALSA: HDA: Fix auto-mute on Lenovo Edge 14\n  ASoC: Fix bias power down of non-DAPM codec\n  ASoC: WM8580: Fix R8 initial value\n  ASoC: fix deemphasis control in wm8904/55/60 codecs\n"
    },
    {
      "commit": "5aad6c5f7733b94e666e3bf8b57beb7bbee15886",
      "tree": "a3228f3eec1de68678bb27613568ded50730ba9c",
      "parents": [
        "8cd1fd2526a78eaa1785a8ae3fe9f45a8ddd0e17",
        "862af8adbe6b9ccb7c00c13717b1f92465f79aa2"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 17 15:28:37 2010 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 17 15:28:37 2010 +0100"
      },
      "message": "Merge branch \u0027fix/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "8cd1fd2526a78eaa1785a8ae3fe9f45a8ddd0e17",
      "tree": "e9dd1ec885ea24768d14bf6080218554a7789ba7",
      "parents": [
        "d70ab7f7ee0692efc880d772dc5c212174d67e3b",
        "53e8c3239bcc7b89c76179fd33fb6faa3413c00d"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 17 15:28:33 2010 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 17 15:28:33 2010 +0100"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "53e8c3239bcc7b89c76179fd33fb6faa3413c00d",
      "tree": "6d0d83c659624c84173274161251edcfb4cccd2a",
      "parents": [
        "ac612407932be18697b5ae9da0a80f138b8bea8e"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 17 15:23:41 2010 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 17 15:23:41 2010 +0100"
      },
      "message": "ALSA: hda - Fix conflict of Mic Boot controls\n\nDue to the recent change for multiple mics assignment, we need to handle\nthe index of each Mic Boost control respectively.  Otherwise the driver\ngets the control element conflicts, and gives the unsable state.\n\nReference: kernel bug 25002\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d25002\n\nReported-and-tested-by: Adam Williamson \u003cawilliam@redhat.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "c20b4dd31820a551d0fb60bf27b99345905c2eb6",
      "tree": "470d233028356edf47a4a7898660e8d1e8ca2164",
      "parents": [
        "8251544f9e28058e54c4f35b7cd13b0d191d7555"
      ],
      "author": {
        "name": "Christian Glindkamp",
        "email": "christian.glindkamp@taskit.de",
        "time": "Thu Dec 09 11:15:59 2010 +0100"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Fri Dec 17 12:10:39 2010 +0100"
      },
      "message": "at91: Refactor Stamp9G20 and PControl G20 board file\n\nAs PControl G20 is a carrier board for the Stamp9G20 SoM, some code can\nbe shared. Therefore board-stamp9g20.c is refactored to allow reusing the\nSoM initialization and board-pcontrol-g20.c is modified to use it.\n\nSigned-off-by: Christian Glindkamp \u003cchristian.glindkamp@taskit.de\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "8251544f9e28058e54c4f35b7cd13b0d191d7555",
      "tree": "dac7e573319cc79055df4db209b8d1145d1472db",
      "parents": [
        "a3383e8372c0c11238f9bb9777929bfc3a2d320a"
      ],
      "author": {
        "name": "Ryan Mallon",
        "email": "ryan@bluewatersys.com",
        "time": "Wed Jun 02 12:55:36 2010 +1200"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Fri Dec 17 12:10:39 2010 +0100"
      },
      "message": "at91: Fix uhpck clock rate in upll case\n\nThe uhpck clock should be divided from the utmi clock, not its parent\n(main). This change is mostly cosmetic as the uhpck rate value is not\nused anywhere except for the debugfs clock output.\n\nSigned-off-by: Ryan Mallon \u003cryan@bluewatersys.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "a3383e8372c0c11238f9bb9777929bfc3a2d320a",
      "tree": "1eb117842e70b17e8b7e96a955cd0ef6f0f40732",
      "parents": [
        "68a4ec9c03461e94a9577cf499069621bb074833",
        "7d13162332f2b67a941d18cee20f1c0413e020de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 15:45:49 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 15:45:49 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  fanotify: fill in the metadata_len field on struct fanotify_event_metadata\n  fanotify: split version into version and metadata_len\n  fanotify: Dont try to open a file descriptor for the overflow event\n  fanotify: Introduce FAN_NOFD\n  fanotify: do not leak user reference on allocation failure\n  inotify: stop kernel memory leak on file creation failure\n  fanotify: on group destroy allow all waiters to bypass permission check\n  fanotify: Dont allow a mask of 0 if setting or removing a mark\n  fanotify: correct broken ref counting in case adding a mark failed\n  fanotify: if set by user unset FMODE_NONOTIFY before fsnotify_perm() is called\n  fanotify: remove packed from access response message\n  fanotify: deny permissions when no event was sent\n"
    },
    {
      "commit": "68a4ec9c03461e94a9577cf499069621bb074833",
      "tree": "1af5ab4f50f30539d1773b8f7d04557769070ec6",
      "parents": [
        "b3444d164be8f977f4133ef0c6f4a18f2741373f",
        "c9bace7ca1e2aeb95754ebc92c8f88a9f215691d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 15:45:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 15:45:25 2010 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus: (28 commits)\n  MIPS: Add a CONFIG_FORCE_MAX_ZONEORDER Kconfig option.\n  MIPS: LD/SD o32 macro GAS fix update\n  MIPS: Alchemy: fix build with SERIAL_8250\u003dn\n  MIPS: Rename mips_dma_cache_sync back to dma_cache_sync\n  MIPS: MT: Fix typo in comment.\n  SSB: Fix nvram_get on BCM47xx platform\n  MIPS: BCM47xx: Swap serial console if ttyS1 was specified.\n  MIPS: BCM47xx: Use sscanf for parsing mac address\n  MIPS: BCM47xx: Fill values for b43 into SSB sprom\n  MIPS: BCM47xx: Do not read config from CFE\n  MIPS: FDT size is a be32\n  MIPS: Fix CP0 COUNTER clockevent race\n  MIPS: Fix regression on BCM4710 processor detection\n  MIPS: JZ4740: Fix pcm device name\n  MIPS: Separate two consecutive loads in memset.S\n  MIPS: Send proper signal and siginfo on FP emulator faults.\n  MIPS: AR7: Fix loops per jiffies on TNETD7200 devices\n  MIPS: AR7: Fix double ar7_gpio_init declaration\n  MIPS: Rework GENERIC_HARDIRQS Kconfig.\n  MIPS: Alchemy: Add return value check for strict_strtoul()\n  ...\n"
    },
    {
      "commit": "49c2fa08a77a7eefa4cbc73601f64984aceacfa7",
      "tree": "78e9629014dcaf5922606b7ff1c6049cbed78716",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Dec 08 09:47:48 2010 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Dec 16 14:07:31 2010 -0800"
      },
      "message": "PCI: Update MCP55 quirk to not affect non HyperTransport variants\n\nI wrote this quirk awhile ago to properly setup MCP55 chips on hypertransport\nbusses so that interrupts reached whatever cpu happend to boot the kdump kernel.\nwhile that works well, it was recently shown to me that a a non-hypertransport\nvariant of the MCP55 exists, and on those system the register that this quirk\nmanipulates causes hangs if you write to it.  Since the quirk was only meant to\nhandle errors found on MCP55 chips that have a HT interface, this patch adds a\nfilter to make sure the chip is an HT capable before making the needed register\nadjustment.  This lets the broken MCP55s work with kdump while not breaking the\nnon-HT variants.\n\nResolves https://bugzilla.kernel.org/show_bug.cgi?id\u003d23952\n\nTested successfully by the reporter and myself.\n\nCc: stable@kernel.org\nReported-by: Mathieu Bérard \u003cmathieu@mberard.eu\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    }
  ],
  "next": "c9bace7ca1e2aeb95754ebc92c8f88a9f215691d"
}
