)]}'
{
  "log": [
    {
      "commit": "46a6dd1c87c4ff17202574127daf70cc0bb38d6d",
      "tree": "aa32b99750a38106918894e7e6e6164779a0d90e",
      "parents": [
        "29b7c71b5ecf2caaa4c2105ecc0094826db8a8a8"
      ],
      "author": {
        "name": "Jason J. herne",
        "email": "jjherne@us.ibm.com",
        "time": "Tue May 15 14:15:28 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 17 21:06:03 2012 -0300"
      },
      "message": "KVM: s390: onereg for timer related registers\n\nEnhance the KVM ONE_REG capability within S390 to allow\ngetting/setting the following special cpu registers: clock comparator\nand the cpu timer. These are needed for migration.\n\nSigned-off-by: Jason J. herne \u003cjjherne@us.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "29b7c71b5ecf2caaa4c2105ecc0094826db8a8a8",
      "tree": "1dac9e51e30b008aaf53422f5d2e5aa67259a6bd",
      "parents": [
        "14eebd917d154f3181d2cb219e40b18eec314db7"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue May 15 14:15:27 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 17 21:06:02 2012 -0300"
      },
      "message": "KVM: s390: epoch difference and TOD programmable field\n\nThis patch makes vcpu epoch difference and the TOD programmable\nfield accessible from userspace. This is needed in order to\nimplement a couple of instructions that deal with the time of\nday clock on s390, such as SET CLOCK and for migration.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "14eebd917d154f3181d2cb219e40b18eec314db7",
      "tree": "7e95ec1b713f26456f606e277526a8cc7b1f58e3",
      "parents": [
        "1526bf9ccf310f1d35c1275b8b477a249d25aaf2"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue May 15 14:15:26 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 17 21:06:02 2012 -0300"
      },
      "message": "KVM: s390: KVM_GET/SET_ONEREG for s390\n\nThis patch enables KVM_CAP_ONE_REG for s390 and implements stubs\nfor KVM_GET/SET_ONE_REG. This is based on the ppc implementation.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1526bf9ccf310f1d35c1275b8b477a249d25aaf2",
      "tree": "61c7b138818c52df2dfcdc8a58ee891b198f424e",
      "parents": [
        "d8368af8b46b904def42a0f341d2f4f29001fa77"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue May 15 14:15:25 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 17 21:06:01 2012 -0300"
      },
      "message": "KVM: s390: add capability indicating COW support\n\nCurrently qemu/kvm on s390 uses a guest mapping that does not\nallow the guest backing page table to be write-protected to\nsupport older systems. On those older systems a host write\nprotection fault will be delivered to the guest.\n\nNewer systems allow to write-protect the guest backing memory\nand let the fault be delivered to the host, thus allowing COW.\n\nUse a capability bit to tell qemu if that is possible.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e726b1bd64b0b8945c171d2d4bf749fba9fc0800",
      "tree": "2b37ed5f306d87dfec2bc832db29be7bbaabf027",
      "parents": [
        "8c3f61e2ddb6c1845704fd8ef1b999ecd2e4725c"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed May 02 10:50:38 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed May 02 18:36:21 2012 -0300"
      },
      "message": "KVM: s390: implement KVM_CAP_NR/MAX_VCPUS\n\nLet userspace know the number of max and supported cpus for kvm on s390.\nReturn KVM_MAX_VCPUS (currently 64) for both values.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8c3f61e2ddb6c1845704fd8ef1b999ecd2e4725c",
      "tree": "0a2c2375f75ae52b879afe1cbfb770ef5ce53394",
      "parents": [
        "8733ac36fc37fe055a7d7daadf5451b4231f0214"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Apr 24 09:24:44 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 30 21:55:52 2012 -0300"
      },
      "message": "KVM: s390: Handle sckpf instruction\n\nHandle the mandatory intercept SET CLOCK PROGRAMMABLE FIELD\ninstruction.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "8733ac36fc37fe055a7d7daadf5451b4231f0214",
      "tree": "0abb6ce4768ab9744ddfbf981e8a6c4f534786dd",
      "parents": [
        "41628d334361670d825fb03c04568f5ef9f084dc"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Apr 25 15:30:39 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 30 21:38:31 2012 -0300"
      },
      "message": "KVM: s390: use kvm_vcpu_on_spin for diag 0x44\n\nLets replace the old open coded version of diag 0x44 (which relied on\ncompat_sched_yield) with kvm_vcpu_on_spin.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "41628d334361670d825fb03c04568f5ef9f084dc",
      "tree": "88b2eadd0f7de12f1d8b226e4491532b8783ee94",
      "parents": [
        "b6ddf05ff68d81a7c1736717faf492b70e9bf4f9"
      ],
      "author": {
        "name": "Konstantin Weitz",
        "email": "WEITZKON@de.ibm.com",
        "time": "Wed Apr 25 15:30:38 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Apr 30 21:38:31 2012 -0300"
      },
      "message": "KVM: s390: Implement the directed yield (diag 9c) hypervisor call for KVM\n\nThis patch implements the directed yield hypercall found on other\nSystem z hypervisors. It delegates execution time to the virtual cpu\nspecified in the instruction\u0027s parameter.\n\nUseful to avoid long spinlock waits in the guest.\n\nChristian Borntraeger: moved common code in virt/kvm/\n\nSigned-off-by: Konstantin Weitz \u003cWEITZKON@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b6d33834bd4e8bdf4a199812e31b3e36da53c794",
      "tree": "3360ac4b5fa572e3acb21ecdc686c6d941baa2fc",
      "parents": [
        "66ef89315f121cda9bf5b65a4ef02ad1b4fb16d9"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Thu Mar 08 16:44:24 2012 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:47:47 2012 +0300"
      },
      "message": "KVM: Factor out kvm_vcpu_kick to arch-generic code\n\nThe kvm_vcpu_kick function performs roughly the same funcitonality on\nmost all architectures, so we shouldn\u0027t have separate copies.\n\nPowerPC keeps a pointer to interchanging waitqueues on the vcpu_arch\nstructure and to accomodate this special need a\n__KVM_HAVE_ARCH_VCPU_GET_WQ define and accompanying function\nkvm_arch_vcpu_wq have been defined. For all other architectures this\nis a generic inline that just returns \u0026vcpu-\u003ewq;\n\nAcked-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "2e7580b0e75d771d93e24e681031a165b1d31071",
      "tree": "d9449702609eeaab28913a43b5a4434667e09d43",
      "parents": [
        "d25413efa9536e2f425ea45c7720598035c597bc",
        "cf9eeac46350b8b43730b7dc5e999757bed089a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:35:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:35:31 2012 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.4\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull kvm updates from Avi Kivity:\n \"Changes include timekeeping improvements, support for assigning host\n  PCI devices that share interrupt lines, s390 user-controlled guests, a\n  large ppc update, and random fixes.\"\n\nThis is with the sign-off\u0027s fixed, hopefully next merge window we won\u0027t\nhave rebased commits.\n\n* \u0027kvm-updates/3.4\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (130 commits)\n  KVM: Convert intx_mask_lock to spin lock\n  KVM: x86: fix kvm_write_tsc() TSC matching thinko\n  x86: kvmclock: abstract save/restore sched_clock_state\n  KVM: nVMX: Fix erroneous exception bitmap check\n  KVM: Ignore the writes to MSR_K7_HWCR(3)\n  KVM: MMU: make use of -\u003eroot_level in reset_rsvds_bits_mask\n  KVM: PMU: add proper support for fixed counter 2\n  KVM: PMU: Fix raw event check\n  KVM: PMU: warn when pin control is set in eventsel msr\n  KVM: VMX: Fix delayed load of shared MSRs\n  KVM: use correct tlbs dirty type in cmpxchg\n  KVM: Allow host IRQ sharing for assigned PCI 2.3 devices\n  KVM: Ensure all vcpus are consistent with in-kernel irqchip settings\n  KVM: x86 emulator: Allow PM/VM86 switch during task switch\n  KVM: SVM: Fix CPL updates\n  KVM: x86 emulator: VM86 segments must have DPL 3\n  KVM: x86 emulator: Fix task switch privilege checks\n  arch/powerpc/kvm/book3s_hv.c: included linux/sched.h twice\n  KVM: x86 emulator: correctly mask pmc index bits in RDPMC instruction emulation\n  KVM: mmu_notifier: Flush TLBs before releasing mmu_lock\n  ...\n"
    },
    {
      "commit": "a0616cdebcfd575dcd4c46102d1b52fbb827fc29",
      "tree": "49c67a23f3bcdb72a94317ddeff65e450b574746",
      "parents": [
        "ae3a197e3d0bfe3f4bf1693723e82dc018c096f3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "message": "Disintegrate asm/system.h for S390\n\nDisintegrate asm/system.h for S390.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: linux-s390@vger.kernel.org\n"
    },
    {
      "commit": "7e180bd8020d213bb0de15c3606968f8a9262439",
      "tree": "d9c15fa4c129b723f80cc46cd87cbcb12eb77c7b",
      "parents": [
        "4fdf7f432cc5db9531c03b9689b36a6395935fbc"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Mar 11 11:59:25 2012 -0400"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Mar 11 11:59:27 2012 -0400"
      },
      "message": "[S390] rename lowcore field\n\nThe 16 bit value at the lowcore location with offset 0x84 is the\ncpu address that is associated with an external interrupt. Rename\nthe field from cpu_addr to ext_cpu_addr to make that clear.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "db3fe4eb45f3555d91a7124e18cf3a2f2a30eb90",
      "tree": "5d294feef8f6281d4cd6c67180e0514c74e87079",
      "parents": [
        "189a2f7b24677deced3d2a9803969ba69f4b75f6"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Feb 08 13:02:18 2012 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:22 2012 +0200"
      },
      "message": "KVM: Introduce kvm_memory_slot::arch and move lpage_info into it\n\nSome members of kvm_memory_slot are not used by every architecture.\n\nThis patch is the first step to make this difference clear by\nintroducing kvm_memory_slot::arch;  lpage_info is moved into it.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "9eed0735ca6a5cf386a4998ad4b6d52d1e29353f",
      "tree": "447a860fca701a519aa97c41e4413801946079bc",
      "parents": [
        "9ec2d6dc6c4d4792b85dec2f09d39387fb7157d1"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Feb 06 10:59:07 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:18 2012 +0200"
      },
      "message": "KVM: s390: provide control registers via kvm_run\n\nThere are several cases were we need the control registers for\nuserspace. Lets also provide those in kvm_run.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "9ec2d6dc6c4d4792b85dec2f09d39387fb7157d1",
      "tree": "b84be054e22568bc15e647f3e0fd09972b44a522",
      "parents": [
        "24a13044a84be51a6a4885a72ac9d5f4ed0742d0"
      ],
      "author": {
        "name": "Jens Freimann",
        "email": "jfrei@linux.vnet.ibm.com",
        "time": "Mon Feb 06 10:59:06 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:17 2012 +0200"
      },
      "message": "KVM: s390: add stop_on_stop flag when doing stop and store\n\nWhen we do a stop and store status we need to pass ACTION_STOP_ON_STOP\nflag to __sigp_stop().\n\nSigned-off-by: Jens Freimann \u003cjfrei@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "24a13044a84be51a6a4885a72ac9d5f4ed0742d0",
      "tree": "7dcd606daff06c71b2eed197683d4ddd1b4235bc",
      "parents": [
        "151104a7b3a82f9c56d636595ae58084049d2559"
      ],
      "author": {
        "name": "Jens Freimann",
        "email": "jfrei@linux.vnet.ibm.com",
        "time": "Mon Feb 06 10:59:05 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:16 2012 +0200"
      },
      "message": "KVM: s390: ignore sigp stop overinitiative\n\nIn __inject_sigp_stop() do nothing when the CPU is already in stopped\nstate.\n\nSigned-off-by: Jens Freimann \u003cjfrei@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "151104a7b3a82f9c56d636595ae58084049d2559",
      "tree": "486ab76f3e0d10a0c8bc7b87691a797debbc4643",
      "parents": [
        "9e0d5473e2f0ba2d2fe9dab9408edef3060b710e"
      ],
      "author": {
        "name": "Jens Freimann",
        "email": "jfrei@linux.vnet.ibm.com",
        "time": "Wed Feb 08 08:28:29 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:15 2012 +0200"
      },
      "message": "KVM: s390: make sigp restart return busy when stop pending\n\nOn reboot the guest sends in smp_send_stop() a sigp stop to all CPUs\nexcept for current CPU.  Then the guest switches to the IPL cpu by\nsending a restart to the IPL CPU, followed by a sigp stop to the\ncurrent cpu. Since restart is handled by userspace it\u0027s possible that\nthe restart is delivered before the old stop.  This means that the IPL\nCPU isn\u0027t restarted and we have no running CPUs. So let\u0027s make sure\nthat there is no stop action pending when we do the restart.\n\nSigned-off-by: Jens Freimann \u003cjfrei@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "9e0d5473e2f0ba2d2fe9dab9408edef3060b710e",
      "tree": "3ca883cc0c44a68480f691e1c62e3a51f7732ce2",
      "parents": [
        "851755871c1f3184f4124c466e85881f17fa3226"
      ],
      "author": {
        "name": "Jens Freimann",
        "email": "jfrei@linux.vnet.ibm.com",
        "time": "Mon Feb 06 10:59:03 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:14 2012 +0200"
      },
      "message": "KVM: s390: do store status after handling STOP_ON_STOP bit\n\nIn handle_stop() handle the stop bit before doing the store status as\ndescribed for \"Stop and Store Status\" in the Principles of Operation.\nWe have to give up the local_int.lock before calling kvm store status\nsince it calls gmap_fault() which might sleep. Since local_int.lock\nonly protects local_int.* and not guest memory we can give up the lock.\n\nSigned-off-by: Jens Freimann \u003cjfrei@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "851755871c1f3184f4124c466e85881f17fa3226",
      "tree": "bd65d3f5f13b7897420724ae22ed2c6c76fbc902",
      "parents": [
        "6dbf79e7164e9a86c1e466062c48498142ae6128"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Feb 06 10:59:02 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Mar 08 14:10:13 2012 +0200"
      },
      "message": "KVM: s390: Sanitize fpc registers for KVM_SET_FPU\n\ncommit 7eef87dc99e419b1cc051e4417c37e4744d7b661 (KVM: s390: fix\nregister setting) added a load of the floating point control register\nto the KVM_SET_FPU path. Lets make sure that the fpc is valid.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "59674c1a6a35d56ae5197cbc9abe7bfec6762ba9",
      "tree": "2847954840109377aac1305c5552a629eed943c2",
      "parents": [
        "5a32c1af56b3c74212b1de2a1d1658c303dd3516"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Jan 11 11:20:33 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:22 2012 +0200"
      },
      "message": "KVM: s390: provide access guest registers via kvm_run\n\nThis patch adds the access registers to the kvm_run structure.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "5a32c1af56b3c74212b1de2a1d1658c303dd3516",
      "tree": "4eb6f52e1bdc4b2427fdea83c88a0c188ad54b4f",
      "parents": [
        "60b413c9248495ea400e80e08e4d1e28ed7ee05e"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Jan 11 11:20:32 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:22 2012 +0200"
      },
      "message": "KVM: s390: provide general purpose guest registers via kvm_run\n\nThis patch adds the general purpose registers to the kvm_run structure.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "60b413c9248495ea400e80e08e4d1e28ed7ee05e",
      "tree": "37881e9b94d7d736caf04c577f47b555fd34d7ff",
      "parents": [
        "b9e5dc8d4511e6a00862a795319569e7fe7f60f4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Jan 11 11:20:31 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:22 2012 +0200"
      },
      "message": "KVM: s390: provide the prefix register via kvm_run\n\nAdd the prefix register to the synced register field in kvm_run.\nWhile we need the prefix register most of the time read-only, this\npatch also adds handling for guest dirtying of the prefix register.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "8d26cf7b40b1648c39e77a113dac07ad31363120",
      "tree": "90aae47b22f248740f8802f2fdc6e28bdca0341b",
      "parents": [
        "2b036c6b861dc5da295c6fe19a3edcff7093fdeb"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Jan 11 11:19:32 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:21 2012 +0200"
      },
      "message": "KVM: s390: rework code that sets the prefix\n\nThere are several places in the kvm module, which set the prefix register.\nSince we need to flush the cpu, lets combine this operation into a helper\nfunction. This helper will also explicitely mask out the unused bits.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "3e6afcf1d8ce6bca6bfa62a49c1d70d2f16162eb",
      "tree": "7783fc9f41f929c48187b0fc73acc8ba8f3adc31",
      "parents": [
        "1efd0f595ab9d10fef1486dfdef952107c91f3db"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:30 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:21 2012 +0200"
      },
      "message": "KVM: s390: Fix return code for unknown ioctl numbers\n\nThis patch fixes the return code of kvm_arch_vcpu_ioctl in case\nof an unkown ioctl number.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "1efd0f595ab9d10fef1486dfdef952107c91f3db",
      "tree": "4af21a466bcc176481870b5bb907303e3ddb87e9",
      "parents": [
        "3777594d5a75b704312544a59094beecd820e12b"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:29 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:20 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: announce capability for user controlled vms\n\nThis patch announces a new capability KVM_CAP_S390_UCONTROL that\nindicates that kvm can now support virtual machines that are\ncontrolled by userspace.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "58f9460ba1cc9de67e6591bfd08dccded43d27bd",
      "tree": "7c5fdfd4ac7407f6315a90b5bb015b41e41e8d42",
      "parents": [
        "ccc7910fe564d99415def7c041fa261e62a43011"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:27 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:20 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: disable sca\n\nThis patch makes sure user controlled virtual machines do not use a\nsystem control area (sca). This is needed in order to create\nvirtual machines with more cpus than the size of the sca [64].\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "ccc7910fe564d99415def7c041fa261e62a43011",
      "tree": "8895fd2463f7b4e48c4510284c37e84a1753ee0d",
      "parents": [
        "d6b6d166864fa97ca3b1ed1a5c62fd3b53d4606f"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:26 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:20 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: interface to inject faults on a vcpu page table\n\nThis patch allows the user to fault in pages on a virtual cpus\naddress space for user controlled virtual machines. Typically this\nis superfluous because userspace can just create a mapping and\nlet the kernel\u0027s page fault logic take are of it. There is one\nexception: SIE won\u0027t start if the lowcore is not present. Normally\nthe kernel takes care of this [handle_validity() in\narch/s390/kvm/intercept.c] but since the kernel does not handle\nintercepts for user controlled virtual machines, userspace needs to\nbe able to handle this condition.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "d6b6d166864fa97ca3b1ed1a5c62fd3b53d4606f",
      "tree": "6f772746ed159b26da04888c1bd0fa09e1732b71",
      "parents": [
        "c0d744a9c8aae81b624e0650e6fbbbb83db1a145"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:25 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:19 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: disable in-kernel irq stack\n\nThis patch disables the in-kernel interrupt stack for KVM virtual\nmachines that are controlled by user. Userspace has to take care\nof handling interrupts on its own.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "c0d744a9c8aae81b624e0650e6fbbbb83db1a145",
      "tree": "68f4044cd5bd6de9258eb6bbb246ac95ac3bfb5c",
      "parents": [
        "5b1c1493afe8d69909f9df3221bb2fffdf479f4a"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:24 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:19 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: disable in-kernel handling of SIE intercepts\n\nThis patch disables in-kernel handling of SIE intercepts for user\ncontrolled virtual machines. All intercepts are passed to userspace\nvia KVM_EXIT_SIE exit reason just like SIE intercepts that cannot be\nhandled in-kernel for regular KVM guests.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "5b1c1493afe8d69909f9df3221bb2fffdf479f4a",
      "tree": "f64fa2be60cb44e4d9cb7cc9338b4dabba65348a",
      "parents": [
        "e168bf8de33e16a909df2401af1f7d419c5780de"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:23 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:19 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: export SIE control block to user\n\nThis patch exports the s390 SIE hardware control block to userspace\nvia the mapping of the vcpu file descriptor. In order to do so,\na new arch callback named kvm_arch_vcpu_fault  is introduced for all\narchitectures. It allows to map architecture specific pages.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "e168bf8de33e16a909df2401af1f7d419c5780de",
      "tree": "49dee8cc76e65eb1347895a6cb8f8843f690066d",
      "parents": [
        "27e0393f15fc8bc855c6a888387ff5ffd2181089"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:22 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:19 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: export page faults to user\n\nThis patch introduces a new exit reason in the kvm_run structure\nnamed KVM_EXIT_S390_UCONTROL. This exit indicates, that a virtual cpu\nhas regognized a fault on the host page table. The idea is that\nuserspace can handle this fault by mapping memory at the fault\nlocation into the cpu\u0027s address space and then continue to run the\nvirtual cpu.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "27e0393f15fc8bc855c6a888387ff5ffd2181089",
      "tree": "7dd5f6f49f6e11ee5cfbbc4d00fb39f649caa61b",
      "parents": [
        "e08b96371625aaa84cb03f51acc4c8e0be27403a"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:21 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:18 2012 +0200"
      },
      "message": "KVM: s390: ucontrol: per vcpu address spaces\n\nThis patch introduces two ioctls for virtual cpus, that are only\nvalid for kernel virtual machines that are controlled by userspace.\nEach virtual cpu has its individual address space in this mode of\noperation, and each address space is backed by the gmap\nimplementation just like the address space for regular KVM guests.\nKVM_S390_UCAS_MAP allows to map a part of the user\u0027s virtual address\nspace to the vcpu. Starting offset and length in both the user and\nthe vcpu address space need to be aligned to 1M.\nKVM_S390_UCAS_UNMAP can be used to unmap a range of memory from a\nvirtual cpu in a similar way.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "e08b96371625aaa84cb03f51acc4c8e0be27403a",
      "tree": "d0b140e8558c6145e1a3183809c7797be443bd68",
      "parents": [
        "a138fe7535c0ec778465c7b54b1aaaf4cfd885b7"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Jan 04 10:25:20 2012 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Mar 05 14:52:18 2012 +0200"
      },
      "message": "KVM: s390: add parameter for KVM_CREATE_VM\n\nThis patch introduces a new config option for user controlled kernel\nvirtual machines. It introduces a parameter to KVM_CREATE_VM that\nallows to set bits that alter the capabilities of the newly created\nvirtual machine.\nThe parameter is passed to kvm_arch_init_vm for all architectures.\nThe only valid modifier bit for now is KVM_VM_S390_UCONTROL.\nThis requires CAP_SYS_ADMIN privileges and creates a user controlled\nvirtual machine on s390 architectures.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "52e16b185fdd0aeb0522c203e944873e38ac1575",
      "tree": "4a48a7e9d544a230a024047ca0f93ea529adbf7f",
      "parents": [
        "1eddb85f889a5a9fe59ec184e06844716a00aded"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Nov 17 11:00:44 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 17 16:25:52 2011 +0200"
      },
      "message": "KVM: s390: announce SYNC_MMU\n\nKVM on s390 always had a sync mmu. Any mapping change in userspace\nmapping was always reflected immediately in the guest mapping.\n- In older code the guest mapping was just an offset\n- In newer code the last level page table is shared\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1eddb85f889a5a9fe59ec184e06844716a00aded",
      "tree": "c789c7cd507f3e5fa5150dc8f6e44efc1e2ab866",
      "parents": [
        "bd59d3a4444e5f941c863db1a7715edf7289e29a"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Nov 17 11:00:43 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 17 16:25:48 2011 +0200"
      },
      "message": "KVM: s390: Fix tprot locking\n\nThere is a potential host deadlock in the tprot intercept handling.\nWe must not hold the mmap semaphore while resolving the guest\naddress. If userspace is remapping, then the memory detection in\nthe guest is broken anyway so we can safely separate the\naddress translation from walking the vmas.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bd59d3a4444e5f941c863db1a7715edf7289e29a",
      "tree": "2e046f944900102b94608984d02d1a20312070e6",
      "parents": [
        "9e6dabeffd1d0ec2aa19aa076c4886067238d442"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Nov 17 11:00:42 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 17 16:25:46 2011 +0200"
      },
      "message": "KVM: s390: handle SIGP sense running intercepts\n\nSIGP sense running may cause an intercept on higher level\nvirtualization, so handle it by checking the CPUSTAT_RUNNING flag.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9e6dabeffd1d0ec2aa19aa076c4886067238d442",
      "tree": "6f5f2a06184a0e4ec0b8cff8db912ce6013c5056",
      "parents": [
        "3439a8da16bcad6b0982ece938c9f8299bb53584"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Nov 17 11:00:41 2011 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Nov 17 16:25:43 2011 +0200"
      },
      "message": "KVM: s390: Fix RUNNING flag misinterpretation\n\nCPUSTAT_RUNNING was implemented signifying that a vcpu is not stopped.\nThis is not, however, what the architecture says: RUNNING should be\nset when the host is acting on the behalf of the guest operating\nsystem.\n\nCPUSTAT_RUNNING has been changed to be set in kvm_arch_vcpu_load()\nand to be unset in kvm_arch_vcpu_put().\n\nFor signifying stopped state of a vcpu, a host-controlled bit has\nbeen used and is set/unset basically on the reverse as the old\nCPUSTAT_RUNNING bit (including pushing it down into stop handling\nproper in handle_stop()).\n\nCc: stable@kernel.org\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "32087d4eeca14b82660dab288b1d659963b954bd",
      "tree": "8c131ca9bf08f88d3b02e1937b795a42f8951d79",
      "parents": [
        "b1c907f3b2675ecb01e340948fc62d6535ff5ac3",
        "07ea815b22b9f70ec8de6ddf8db63a1dd1585caf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 16:14:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 16:14:20 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits)\n  [S390] Remove error checking from copy_oldmem_page()\n  [S390] qdio: prevent dsci access without adapter interrupts\n  [S390] irqstats: split IPI interrupt accounting\n  [S390] add missing __tlb_flush_global() for !CONFIG_SMP\n  [S390] sparse: fix sparse symbol shadow warning\n  [S390] sparse: fix sparse NULL pointer warnings\n  [S390] sparse: fix sparse warnings with __user pointers\n  [S390] sparse: fix sparse warnings in math-emu\n  [S390] sparse: fix sparse warnings about missing prototypes\n  [S390] sparse: fix sparse ANSI-C warnings\n  [S390] sparse: fix sparse static warnings\n  [S390] sparse: fix access past end of array warnings\n  [S390] dasd: prevent path verification before resume\n  [S390] qdio: remove multicast polling\n  [S390] qdio: reset outbound SBAL error states\n  [S390] qdio: EQBS retry after CCQ 96\n  [S390] qdio: add timestamp for last queue scan time\n  [S390] Introduce get_clock_fast()\n  [S390] kvm: Handle diagnose 0x10 (release pages)\n  [S390] take mmap_sem when walking guest page table\n  ...\n"
    },
    {
      "commit": "388186bc920d9200202e4d25de66fa95b1b8fc68",
      "tree": "c7e1bc3231a50a91d298a8da59e8fefe2935d6da",
      "parents": [
        "499069e1a421e2a85e76846c3237f00f1a5cb435"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Sun Oct 30 15:17:03 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:16:45 2011 +0100"
      },
      "message": "[S390] kvm: Handle diagnose 0x10 (release pages)\n\nLinux on System z uses a ballooner based on diagnose 0x10. (aka as\ncollaborative memory management). This patch implements diagnose\n0x10 on the guest address space.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "7697e71f72b45a1bd0abe70918c383100fcc8514",
      "tree": "afad6ff9dcd00a031de31b9cd34d2ae09484586a",
      "parents": [
        "7eef87dc99e419b1cc051e4417c37e4744d7b661"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Tue Oct 18 12:27:15 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 30 12:24:05 2011 +0200"
      },
      "message": "KVM: s390: implement sigp external call\n\nImplement sigp external call, which might be required for guests that\nissue an external call instead of an emergency signal for IPI.\n\nThis fixes an issue with \"KVM: unknown SIGP: 0x02\" when booting\nsuch an SMP guest.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7eef87dc99e419b1cc051e4417c37e4744d7b661",
      "tree": "70a611c3a92fb663c5da4ffae115e06c28e71b70",
      "parents": [
        "b290411a1321dd937dce4aaa812e5d8fae8a14a5"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Oct 18 12:27:14 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 30 12:24:00 2011 +0200"
      },
      "message": "KVM: s390: fix register setting\n\nKVM common code does vcpu_load prior to calling our arch ioctls and\nvcpu_put after we\u0027re done here. Via the kvm_arch_vcpu_load/put\ncallbacks we do load the fpu and access register state into the\nprocessor, which saves us moving the state on every SIE exit the\nkernel handles. However this breaks register setting from userspace,\nbecause of the following sequence:\n1a. vcpu load stores userspace register content\n1b. vcpu load loads guest register content\n2.  kvm_arch_vcpu_ioctl_set_fpu/sregs updates saved guest register content\n3a. vcpu put stores the guest registers and overwrites the new content\n3b. vcpu put loads the userspace register set again\n\nThis patch loads the new guest register state into the cpu, so that the correct\n(new) set of guest registers will be stored in step 3a.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b290411a1321dd937dce4aaa812e5d8fae8a14a5",
      "tree": "00fd0ae4b160736f5fc9055ecc7822d4361cf7f1",
      "parents": [
        "4d47555a80495657161a7e71ec3014ff2021e450"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Oct 18 12:27:13 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 30 12:23:55 2011 +0200"
      },
      "message": "KVM: s390: fix return value of kvm_arch_init_vm\n\nThis patch fixes the return value of kvm_arch_init_vm in case a memory\nallocation goes wrong.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "4d47555a80495657161a7e71ec3014ff2021e450",
      "tree": "f5e12258ee93dc20c230e7dc60620c6d0194142e",
      "parents": [
        "a3e06bbe8445f57eb949e6474c5a9b30f24d2057"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Oct 18 12:27:12 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 30 12:20:55 2011 +0200"
      },
      "message": "KVM: s390: check cpu_id prior to using it\n\nWe use the cpu id provided by userspace as array index here. Thus we\nclearly need to check it first. Ooops.\n\nCC: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "b6cf8788a3382c2000743a0e393bcc8aeb0601cb",
      "tree": "3af86a59e2884f66068019571ce725e81878b5cf",
      "parents": [
        "480e5926ce3bb61ec229be2dab08bdce8abb8d2e"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Sep 20 17:07:29 2011 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Sep 20 17:07:34 2011 +0200"
      },
      "message": "[S390] kvm: extension capability for new address space layout\n\n598841ca9919d008b520114d8a4378c4ce4e40a1 ([S390] use gmap address\nspaces for kvm guest images) changed kvm on s390 to use a separate\naddress space for kvm guests. We can now put KVM guests anywhere\nin the user address mode with a size up to 8PB - as long as the\nmemory is 1MB-aligned. This change was done without KVM extension\ncapability bit.\nThe change was added after 3.0, but we still have a chance to add\na feature bit before 3.1 (keeping the releases in a sane state).\nWe use number 71 to avoid collisions with other pending kvm patches\nas requested by Alexander Graf.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "480e5926ce3bb61ec229be2dab08bdce8abb8d2e",
      "tree": "b252230da3bba55a8e4ebd747767257c781670d7",
      "parents": [
        "9d037a777695993ec7437e5f451647dea7919d4c"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Sep 20 17:07:28 2011 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Sep 20 17:07:34 2011 +0200"
      },
      "message": "[S390] kvm: fix address mode switching\n\n598841ca9919d008b520114d8a4378c4ce4e40a1 ([S390] use gmap address\nspaces for kvm guest images) changed kvm to use a separate address\nspace for kvm guests. This address space was switched in __vcpu_run\nIn some cases (preemption, page fault) there is the possibility that\nthis address space switch is lost.\nThe typical symptom was a huge amount of validity intercepts or\nrandom guest addressing exceptions.\nFix this by doing the switch in sie_loop and sie_exit and saving the\naddress space in the gmap structure itself. Also use the preempt\nnotifier.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "8bb3a2ebcf2a406a60d04f5a8756ea936b7f0bf3",
      "tree": "d649f0137c86e9f486cf92aae815068dcb27e7b0",
      "parents": [
        "cadfce72778e9417baff117bb563a1c2f8fef97b"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Sun Jul 24 10:48:31 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:22 2011 +0200"
      },
      "message": "[S390] kvm: make sigp emerg smp capable\n\nSIGP emerg needs to pass the source vpu adress into __LC_CPU_ADDRESS of the\ntarget guest.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f7850c92884b40915001e332a0a33ed4f10158e8",
      "tree": "224c0d42a958aadcd198b1258578e7a07b36ff9f",
      "parents": [
        "092670cd90eb88c33661de21f1b4ee08d2597171"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Sun Jul 24 10:48:23 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:21 2011 +0200"
      },
      "message": "[S390] remove kvm mmu reload on s390\n\nThis patch removes the mmu reload logic for kvm on s390. Via Martin\u0027s\nnew gmap interface, we can safely add or remove memory slots while\nguest CPUs are in-flight. Thus, the mmu reload logic is not needed\nanymore.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "092670cd90eb88c33661de21f1b4ee08d2597171",
      "tree": "2960d3ef459eccd0c2a7d0e2a77fad9bdb2437f2",
      "parents": [
        "598841ca9919d008b520114d8a4378c4ce4e40a1"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Sun Jul 24 10:48:22 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:21 2011 +0200"
      },
      "message": "[S390] Use gmap translation for accessing guest memory\n\nThis patch removes kvm-s390 internal assumption of a linear mapping\nof guest address space to user space. Previously, guest memory was\ntranslated to user addresses using a fixed offset (gmsor). The new\ncode uses gmap_fault to resolve guest addresses.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "598841ca9919d008b520114d8a4378c4ce4e40a1",
      "tree": "3f823474e70af4305c395fb220a138b5bc4e9f90",
      "parents": [
        "e5992f2e6c3829cd43dbc4438ee13dcd6506f7f3"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Sun Jul 24 10:48:21 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:21 2011 +0200"
      },
      "message": "[S390] use gmap address spaces for kvm guest images\n\nThis patch switches kvm from using (Qemu\u0027s) user address space to\nMartin\u0027s gmap address space. This way QEMU does not have to use a\nlinker script in order to fit large guests at low addresses in its\naddress space.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "603d1a50acf252621a3598618b018b8123aaba64",
      "tree": "f0f8e2d91b34d2cdb9d80b2146a6fdfd48f1d429",
      "parents": [
        "bb25b9ba3e33e941dc48048d0a784e6a05e5648a"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:18 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:21 2011 +0200"
      },
      "message": "[S390] move sie code to entry.S\n\nThe entry to / exit from sie has subtle dependencies to the first level\ninterrupt handler. Move the sie assembler code to entry64.S and replace\nthe SIE_HOOK callback with a test and the new _TIF_SIE bit.\nIn addition this patch fixes several problems in regard to the check for\nthe_TIF_EXIT_SIE bits. The old code checked the TIF bits before executing\nthe interrupt handler and it only modified the instruction address if it\npointed directly to the sie instruction. In both cases it could miss\na TIF bit that normally would cause an exit from the guest and would\nreenter the guest context.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "bb25b9ba3e33e941dc48048d0a784e6a05e5648a",
      "tree": "687caacfbe9165dd80d2e29af4b68ce32216e28d",
      "parents": [
        "b02f0c2ea25781e0f94b4fc8f6f85582057857b3"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Sun Jul 24 10:48:17 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Jul 24 10:48:20 2011 +0200"
      },
      "message": "[S390] kvm: handle tprot intercepts\n\nWhen running a kvm guest we can get intercepts for tprot, if the host\npage table is read-only or not populated. This patch implements the\nmost common case (linux memory detection).\nThis also allows host copy on write for guest memory on newer systems.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "e72542191cbba4cf7fda21cb22e26b42d7415daf",
      "tree": "95fc296d2d0d8c9b52183bd664b4ea0b662bb866",
      "parents": [
        "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Jul 05 17:06:14 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jul 23 16:20:30 2011 +0930"
      },
      "message": "virtio: expose for non-virtualization users too\n\nvirtio has been so far used only in the context of virtualization,\nand the virtio Kconfig was sourced directly by the relevant arch\nKconfigs when VIRTUALIZATION was selected.\n\nNow that we start using virtio for inter-processor communications,\nwe need to source the virtio Kconfig outside of the virtualization\nscope too.\n\nMoreover, some architectures might use virtio for both virtualization\nand inter-processor communications, so directly sourcing virtio\nmight yield unexpected results due to conflicting selections.\n\nThe simple solution offered by this patch is to always source virtio\u0027s\nKconfig in drivers/Kconfig, and remove it from the appropriate arch\nKconfigs. Additionally, a virtio menu entry has been added so virtio\ndrivers don\u0027t show up in the general drivers menu.\n\nThis way anyone can use virtio, though it\u0027s arguably less accessible\n(and neat!) for virtualization users now.\n\nNote: some architectures (mips and sh) seem to have a VIRTUALIZATION\nmenu merely for sourcing virtio\u0027s Kconfig, so that menu is removed too.\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9950f8be3f379e36be73be958ec5cf6c15eac0b2",
      "tree": "79547ebb720830a2da3e038ef7eaaece1ee82e20",
      "parents": [
        "a578b37cc2e719447810343089a7cb93efc3812f"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Jun 06 14:14:39 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Jun 06 14:14:56 2011 +0200"
      },
      "message": "[S390] kvm-s390: fix stfle facilities numbers \u003e\u003d64\n\nCurrently KVM masks out the known good facilities only for the first\ndouble word, but passed the 2nd double word without filtering. This\nbreaks some code on newer systems:\n\n[    0.593966] ------------[ cut here ]------------\n[    0.594086] WARNING: at arch/s390/oprofile/hwsampler.c:696\n[    0.594213] Modules linked in:\n[    0.594321] Modules linked in:\n[    0.594439] CPU: 0 Not tainted 3.0.0-rc1 #46\n[    0.594564] Process swapper (pid: 1, task: 00000001effa8038, ksp: 00000001effafab8)\n[    0.594735] Krnl PSW : 0704100180000000 00000000004ab89a (hwsampler_setup+0x75a/0x7b8)\n[    0.594910]            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 EA:3\n[    0.595120] Krnl GPRS: ffffffff00000000 00000000ffffffea ffffffffffffffea 00000000004a98f8\n[    0.595351]            00000000004aa002 0000000000000001 000000000080e720 000000000088b9f8\n[    0.595522]            000000000080d3e8 0000000000000000 0000000000000000 000000000080e464\n[    0.595725]            0000000000000000 00000000005db198 00000000004ab3a2 00000001effafd98\n[    0.595901] Krnl Code: 00000000004ab88c: c0e5000673ca        brasl   %r14,57a020\n[    0.596071]            00000000004ab892: a7f4fc77            brc     15,4ab180\n[    0.596276]            00000000004ab896: a7f40001            brc     15,4ab898\n[    0.596454]           \u003e00000000004ab89a: a7c8ffa1            lhi     %r12,-95\n[    0.596657]            00000000004ab89e: a7f4fc71            brc     15,4ab180\n[    0.596854]            00000000004ab8a2: a7f40001            brc     15,4ab8a4\n[    0.597029]            00000000004ab8a6: a7f4ff22            brc     15,4ab6ea\n[    0.597230]            00000000004ab8aa: c0200011009a        larl    %r2,6cb9de\n[    0.597441] Call Trace:\n[    0.597511] ([\u003c00000000004ab3a2\u003e] hwsampler_setup+0x262/0x7b8)\n[    0.597676]  [\u003c0000000000875812\u003e] oprofile_arch_init+0x32/0xd0\n[    0.597834]  [\u003c0000000000875788\u003e] oprofile_init+0x28/0x74\n[    0.597991]  [\u003c00000000001001be\u003e] do_one_initcall+0x3a/0x170\n[    0.598151]  [\u003c000000000084fa22\u003e] kernel_init+0x142/0x1ec\n[    0.598314]  [\u003c000000000057db16\u003e] kernel_thread_starter+0x6/0xc\n[    0.598468]  [\u003c000000000057db10\u003e] kernel_thread_starter+0x0/0xc\n[    0.598606] Last Breaking-Event-Address:\n[    0.598707]  [\u003c00000000004ab896\u003e] hwsampler_setup+0x756/0x7b8\n[    0.598863] ---[ end trace ce3179037f4e3e5b ]---\n\nSo lets also mask the 2nd double word. Facilites 66,76,76,77 should be fine.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a578b37cc2e719447810343089a7cb93efc3812f",
      "tree": "2aec852e2d10c710c79d5a6b50b680d05aeff460",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Jun 06 14:14:38 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Jun 06 14:14:56 2011 +0200"
      },
      "message": "[S390] kvm-s390: Fix host crash on misbehaving guests\n\ncommit 9ff4cfb3fcfd48b49fdd9be7381b3be340853aa4 ([S390] kvm-390: Let\nkernel exit SIE instruction on work) fixed a problem of commit\ncommit cd3b70f5d4d82f85d1e1d6e822f38ae098cf7c72 ([S390] virtualization\naware cpu measurement) but uncovered another one.\n\nIf a kvm guest accesses guest real memory that doesnt exist, the\npage fault handler calls the sie hook, which then rewrites\nthe return psw from sie_inst to either sie_exit or sie_reenter.\nOn return, the page fault handler will then detect the wrong access\nas a kernel fault causing a kernel oops in sie_reenter or sie_exit.\n\nWe have to add these two addresses to the exception  table to allow\ngraceful exits.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "9ff4cfb3fcfd48b49fdd9be7381b3be340853aa4",
      "tree": "f009abfed6f9077d487764c8c7ca7e8dc3eb0346",
      "parents": [
        "c7a29e56f0a3526b71e9694b403b8e2cbe9c31e5"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed Apr 20 10:15:36 2011 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed Apr 20 10:15:44 2011 +0200"
      },
      "message": "[S390] kvm-390: Let kernel exit SIE instruction on work\n\nFrom: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\n\nThis patch fixes the sie exit on interrupts. The low level\ninterrupt handler returns to the PSW address in pt_regs and not\nto the PSW address in the lowcore.\nWithout this fix a cpu bound guest might never leave guest state\nsince the host interrupt handler would blindly return to the\nSIE instruction, even on need_resched and friends.\n\nCc: stable@kernel.org\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "c73028a028876f7fd72ec0e114b0226d17e917d3",
      "tree": "2ed7e935d485ec13eb2672905923a635cc13ead1",
      "parents": [
        "e3726304a242e94a87d7b5427d88427acead7c02"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Jan 14 06:12:32 2011 -0800"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 14:02:57 2011 +0100"
      },
      "message": "s390: change to new flag variable\n\nReplace EXTRA_CFLAGS with ccflags-y.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "55065bc52795faae549abfb912aacc622dd63876",
      "tree": "63683547e41ed459a2a8747eeafb5e969633d54f",
      "parents": [
        "008d23e4852d78bb2618f2035f8b2110b6a6b968",
        "e5c301428294cb8925667c9ee39f817c4ab1c2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:14:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:14:24 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (142 commits)\n  KVM: Initialize fpu state in preemptible context\n  KVM: VMX: when entering real mode align segment base to 16 bytes\n  KVM: MMU: handle \u0027map_writable\u0027 in set_spte() function\n  KVM: MMU: audit: allow audit more guests at the same time\n  KVM: Fetch guest cr3 from hardware on demand\n  KVM: Replace reads of vcpu-\u003earch.cr3 by an accessor\n  KVM: MMU: only write protect mappings at pagetable level\n  KVM: VMX: Correct asm constraint in vmcs_load()/vmcs_clear()\n  KVM: MMU: Initialize base_role for tdp mmus\n  KVM: VMX: Optimize atomic EFER load\n  KVM: VMX: Add definitions for more vm entry/exit control bits\n  KVM: SVM: copy instruction bytes from VMCB\n  KVM: SVM: implement enhanced INVLPG intercept\n  KVM: SVM: enhance mov DR intercept handler\n  KVM: SVM: enhance MOV CR intercept handler\n  KVM: SVM: add new SVM feature bit names\n  KVM: cleanup emulate_instruction\n  KVM: move complete_insn_gp() into x86.c\n  KVM: x86: fix CR8 handling\n  KVM guest: Fix kvm clock initialization when it\u0027s configured out\n  ...\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": "6f9a3c330652b0fdb65d89e94977a8e79fe730e7",
      "tree": "bdf071266d5b2d423ee7d4adb8cf25621d598ed9",
      "parents": [
        "53ec24b1e6c7118a127cf029a1519a2ce55268ec"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Jan 05 12:47:15 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed Jan 05 12:47:23 2011 +0100"
      },
      "message": "[S390] cleanup s390 Kconfig\n\nMake use of def_bool and def_tristate where possible and add sensible\ndefaults to the config symbols where applicable. This shortens the\ndefconfig file by another ~40 lines.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "14375bc4eb8dd0fb0e765390650564c35bb31068",
      "tree": "27200620658245c582ee9497fc969a082b304cab",
      "parents": [
        "eca577ef5989d25dedc6b0fae3c4622ceaee8005"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 25 16:10:51 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Oct 25 16:10:21 2010 +0200"
      },
      "message": "[S390] cleanup facility list handling\n\nStore the facility list once at system startup with stfl/stfle and\nreuse the result for all facility tests.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6d00d00bf23b86b352e2d075cfe751acd1908278",
      "tree": "092e113ad5ab0b74080d7ccb01b1abcb2114314c",
      "parents": [
        "a5a0061fb3a22bbd9b108af8382142fd0f41ebee"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Oct 25 16:10:48 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Oct 25 16:10:20 2010 +0200"
      },
      "message": "[S390] kvm: Enable z196 instruction facilities\n\nEnable PFPO, floating point extension, distinct-operands,\nfast-BCR-serialization, high-word, interlocked-access, load/store-\non-condition, and population-count facilities for guests.\n(bits 37, 44 and 45).\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a1f4d39500ad8ed61825eff061debff42386ab5b",
      "tree": "58b72188b1356329e78951773f4be41e66b11d21",
      "parents": [
        "fc34531db3cf8c422f2ff7cf4ef507a3ca672cd2"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 21 11:44:20 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:00 2010 +0300"
      },
      "message": "KVM: Remove memory alias support\n\nAs advertised in feature-removal-schedule.txt.  Equivalent support is provided\nby overlapping memory regions.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fc34531db3cf8c422f2ff7cf4ef507a3ca672cd2",
      "tree": "2a352c26d5fd09dc26dc07e1bd6f5dcdadc33efc",
      "parents": [
        "971eb77f87bfd352a56a24651922d0383db76219"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jun 17 23:16:20 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:59 2010 +0300"
      },
      "message": "KVM: s390: Don\u0027t exit SIE on SIGP sense running\n\nNewer (guest) kernels use sigp sense running in their spinlock\nimplementation to check if the other cpu is running before yielding\nthe processor. This revealed some wrong guest settings, causing\nunnecessary exits for every sigp sense running.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "971eb77f87bfd352a56a24651922d0383db76219",
      "tree": "fd1fb3ac017f5365536cfc64ef04101a0bb052aa",
      "parents": [
        "d1ac91d8a2f00dc6a3954f7e8971339b0893edc4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Sat Jun 12 08:54:13 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:58 2010 +0300"
      },
      "message": "KVM: s390: Fix build failure due to centralized vcpu locking patches\n\nThis patch fixes\nERROR: \"__kvm_s390_vcpu_store_status\" [arch/s390/kvm/kvm.ko] undefined!\n\ntriggered by\ncommit 3268c56840dcee78c3e928336550f4e1861504c4 (kvm.git)\nAuthor: Avi Kivity \u003cavi@redhat.com\u003e\nDate:   Thu May 13 12:21:46 2010 +0300\n    KVM: s390: Centrally lock arch specific vcpu ioctls\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "93736624635235cc5372ffca6d62816d02170724",
      "tree": "801205636b4d6da4127a6d33873902d690431f52",
      "parents": [
        "19483d144023f7f4817dedafe26d5fe9ff2e7087"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu May 13 12:35:17 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:35:48 2010 +0300"
      },
      "message": "KVM: Consolidate arch specific vcpu ioctl locking\n\nNow that all arch specific ioctls have centralized locking, it is easy to\nmove it to the central dispatcher.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bc923cc93b7719576f20687e4cb07751601fbbb3",
      "tree": "cc0ac66996c852bf1fb767fd980b30e63c2e05c8",
      "parents": [
        "526b78ad1a9e66ef240ad7c757988de039e42229"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu May 13 12:21:46 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:35:47 2010 +0300"
      },
      "message": "KVM: s390: Centrally lock arch specific vcpu ioctls\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2122ff5eab8faec853e43f6de886e8dc8f31e317",
      "tree": "e2a31431281f255c6dd38a79ffba4f051fd5b20d",
      "parents": [
        "1683b2416e4c514d30ff5844a06733d0444ee000"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu May 13 11:25:04 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:35:47 2010 +0300"
      },
      "message": "KVM: move vcpu locking to dispatcher for generic vcpu ioctls\n\nAll vcpu ioctls need to be locked, so instead of locking each one specifically\nwe lock at the generic dispatcher.\n\nThis patch only updates generic ioctls and leaves arch specific ioctls alone.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9940fa80ce0e546646b057958960c5c6fd2bbbb2",
      "tree": "78a345cacf2956795809c67ec8947a08451d3c1f",
      "parents": [
        "3164a3cbf8a6bdf85fe3816fe670b391f31c004a"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Jun 08 18:58:11 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Tue Jun 08 18:58:23 2010 +0200"
      },
      "message": "[S390] arch/s390/kvm: Use GFP_ATOMIC when a lock is held\n\nThe containing function is called from several places.  At one of them, in\nthe function __sigp_stop, the spin lock \u0026fi-\u003elock is held.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@gfp exists@\nidentifier fn;\nposition p;\n@@\n\nfn(...) {\n... when !\u003d spin_unlock\n    when any\n  GFP_KERNEL@p\n ... when any\n}\n\n@locked@\nidentifier gfp.fn;\n@@\n\nspin_lock(...)\n... when !\u003d spin_unlock\nfn(...)\n\n@depends on locked@\nposition gfp.p;\n@@\n\n- GFP_KERNEL@p\n+ GFP_ATOMIC\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "c2f0e8c803ceba530060ec9bb9c74a06c2c3d833",
      "tree": "96ca1f44045c313c3c05d07df1bd9df2e6861554",
      "parents": [
        "3975d16760d4be7402d1067c548c30c427971331"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Jun 08 18:58:09 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Tue Jun 08 18:58:23 2010 +0200"
      },
      "message": "[S390] appldata/extmem/kvm: add missing GFP_KERNEL flag\n\nAdd missing GFP flag to memory allocations. The part in cio only\nchanges a comment.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ffbb3f61e5b2648128f82fe7e506290702a9215",
      "tree": "e5c9f60789c6f9e7253c07f6a11bfe690552117b",
      "parents": [
        "bac9f154acd175afdf702cb7d7f5de1254b4b119"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed May 26 23:26:21 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed May 26 23:26:30 2010 +0200"
      },
      "message": "[S390] spp: remove KVM_AWARE_CMF config option\n\nThis config option enables or disables three single instructions\nwhich aren\u0027t expensive. This is too fine grained.\nBesided that everybody who uses kvm would enable it anyway in order\nto debug performance problems.\nJust remove it.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "98edb6ca4174f17a64890a02f44c211c8b44fb3c",
      "tree": "033bc5f7da410046d28dd1cefcd2d63cda33d25b",
      "parents": [
        "a8251096b427283c47e7d8f9568be6b388dd68ec",
        "8fbf065d625617bbbf6b72d5f78f84ad13c8b547"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (269 commits)\n  KVM: x86: Add missing locking to arch specific vcpu ioctls\n  KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls\n  KVM: MMU: Segregate shadow pages with different cr0.wp\n  KVM: x86: Check LMA bit before set_efer\n  KVM: Don\u0027t allow lmsw to clear cr0.pe\n  KVM: Add cpuid.txt file\n  KVM: x86: Tell the guest we\u0027ll warn it about tsc stability\n  x86, paravirt: don\u0027t compute pvclock adjustments if we trust the tsc\n  x86: KVM guest: Try using new kvm clock msrs\n  KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID\n  KVM: x86: add new KVMCLOCK cpuid feature\n  KVM: x86: change msr numbers for kvmclock\n  x86, paravirt: Add a global synchronization point for pvclock\n  x86, paravirt: Enable pvclock flags in vcpu_time_info structure\n  KVM: x86: Inject #GP with the right rip on efer writes\n  KVM: SVM: Don\u0027t allow nested guest to VMMCALL into host\n  KVM: x86: Fix exception reinjection forced to true\n  KVM: Fix wallclock version writing race\n  KVM: MMU: Don\u0027t read pdptrs with mmu spinlock held in mmu_alloc_roots\n  KVM: VMX: enable VMXON check with SMX enabled (Intel TXT)\n  ...\n"
    },
    {
      "commit": "0ee75bead83da4791e5cbf659806c54d8ee40f12",
      "tree": "3b3856aac1fc94d153f9e6c27f383f81be06185a",
      "parents": [
        "884a0ff0b68b3ece5987507de168215e14ef7849"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Apr 28 15:39:01 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed May 19 11:36:29 2010 +0300"
      },
      "message": "KVM: Let vcpu structure alignment be determined at runtime\n\nvmx and svm vcpus have different contents and therefore may have different\nalignmment requirements.  Let each specify its required alignment.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "90d83dc3d49f5101addae962ccc1b4aff66b68d8",
      "tree": "855aec81663eff4597ab276f13d449be9b798ec2",
      "parents": [
        "9beeaa2d689842f7760aa16c512e6bb8182d38b6"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Apr 19 17:41:23 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:01 2010 +0300"
      },
      "message": "KVM: use the correct RCU API for PROVE_RCU\u003dy\n\nThe RCU/SRCU API have already changed for proving RCU usage.\n\nI got the following dmesg when PROVE_RCU\u003dy because we used incorrect API.\nThis patch coverts rcu_deference() to srcu_dereference() or family API.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: suspicious rcu_dereference_check() usage. ]\n---------------------------------------------------\narch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 0\n2 locks held by qemu-system-x86/8550:\n #0:  (\u0026kvm-\u003eslots_lock){+.+.+.}, at: [\u003cffffffffa011a6ac\u003e] kvm_set_memory_region+0x29/0x50 [kvm]\n #1:  (\u0026(\u0026kvm-\u003emmu_lock)-\u003erlock){+.+...}, at: [\u003cffffffffa012262d\u003e] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]\n\nstack backtrace:\nPid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27\nCall Trace:\n [\u003cffffffff8106c59e\u003e] lockdep_rcu_dereference+0xaa/0xb3\n [\u003cffffffffa012f6c1\u003e] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]\n [\u003cffffffffa012263e\u003e] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]\n [\u003cffffffffa011a5d7\u003e] __kvm_set_memory_region+0x636/0x6e2 [kvm]\n [\u003cffffffffa011a6ba\u003e] kvm_set_memory_region+0x37/0x50 [kvm]\n [\u003cffffffffa015e956\u003e] vmx_set_tss_addr+0x46/0x5a [kvm_intel]\n [\u003cffffffffa0126592\u003e] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]\n [\u003cffffffff810a8692\u003e] ? unlock_page+0x27/0x2c\n [\u003cffffffff810bf879\u003e] ? __do_fault+0x3a9/0x3e1\n [\u003cffffffffa011b12f\u003e] kvm_vm_ioctl+0x364/0x38d [kvm]\n [\u003cffffffff81060cfa\u003e] ? up_read+0x23/0x3d\n [\u003cffffffff810f3587\u003e] vfs_ioctl+0x32/0xa6\n [\u003cffffffff810f3b19\u003e] do_vfs_ioctl+0x495/0x4db\n [\u003cffffffff810e6b2f\u003e] ? fget_light+0xc2/0x241\n [\u003cffffffff810e416c\u003e] ? do_sys_open+0x104/0x116\n [\u003cffffffff81382d6d\u003e] ? retint_swapgs+0xe/0x13\n [\u003cffffffff810f3ba6\u003e] sys_ioctl+0x47/0x6a\n [\u003cffffffff810021db\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7b06bf2ffa15e119c7439ed0b024d44f66d7b605",
      "tree": "8572708678cb7ee3d541bca927581f5ce7f59cba",
      "parents": [
        "835e6b80478e59820cff127adba3e518ae5a43f5"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Mar 09 14:37:53 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:15:19 2010 +0300"
      },
      "message": "KVM: s390: Fix possible memory leak of in kvm_arch_vcpu_create()\n\nThis patch fixed possible memory leak in kvm_arch_vcpu_create()\nunder s390, which would happen when kvm_arch_vcpu_create() fails.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "cd3b70f5d4d82f85d1e1d6e822f38ae098cf7c72",
      "tree": "aa394e63d300312bece2afb53a53dfd93a0f5f23",
      "parents": [
        "6377981faf1a4425b0531e577736ef03df97c8f6"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Mon May 17 10:00:04 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon May 17 10:00:15 2010 +0200"
      },
      "message": "[S390] virtualization aware cpu measurement\n\nUse the SPP instruction to set a tag on entry to / exit of the virtual\nmachine context. This allows the cpu measurement facility to distinguish\nthe samples from the host and the different guests.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
      "tree": "d454f518db51a4de700cf3dcd4c3c71ee7288b47",
      "parents": [
        "9467c4fdd66f6810cecef0f1173330f3c6e67d45",
        "d2be1651b736002e0c76d7095d6c0ba77b4a897c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:12:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:12:34 2010 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.34\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.34\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (145 commits)\n  KVM: x86: Add KVM_CAP_X86_ROBUST_SINGLESTEP\n  KVM: VMX: Update instruction length on intercepted BP\n  KVM: Fix emulate_sys[call, enter, exit]()\u0027s fault handling\n  KVM: Fix segment descriptor loading\n  KVM: Fix load_guest_segment_descriptor() to inject page fault\n  KVM: x86 emulator: Forbid modifying CS segment register by mov instruction\n  KVM: Convert kvm-\u003erequests_lock to raw_spinlock_t\n  KVM: Convert i8254/i8259 locks to raw_spinlocks\n  KVM: x86 emulator: disallow opcode 82 in 64-bit mode\n  KVM: x86 emulator: code style cleanup\n  KVM: Plan obsolescence of kernel allocated slots, paravirt mmu\n  KVM: x86 emulator: Add LOCK prefix validity checking\n  KVM: x86 emulator: Check CPL level during privilege instruction emulation\n  KVM: x86 emulator: Fix popf emulation\n  KVM: x86 emulator: Check IOPL level during io instruction emulation\n  KVM: x86 emulator: fix memory access during x86 emulation\n  KVM: x86 emulator: Add Virtual-8086 mode of emulation\n  KVM: x86 emulator: Add group9 instruction decoding\n  KVM: x86 emulator: Add group8 instruction decoding\n  KVM: do not store wqh in irqfd\n  ...\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "647492047763c3ee8fe51ecf9a04f39040aa495b",
      "tree": "acdd836ad2695f9e50725c51b667bcc1acb81765",
      "parents": [
        "ccd469362e826261ccc261c4c36fb0a346338222"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Jan 19 12:45:23 2010 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:01 2010 -0300"
      },
      "message": "KVM: fix cleanup_srcu_struct on vm destruction\n\ncleanup_srcu_struct on VM destruction remains broken:\n\nBUG: unable to handle kernel paging request at ffffffffffffffff\nIP: [\u003cffffffff802533d2\u003e] srcu_read_lock+0x16/0x21\nRIP: 0010:[\u003cffffffff802533d2\u003e]  [\u003cffffffff802533d2\u003e] srcu_read_lock+0x16/0x21\nCall Trace:\n [\u003cffffffffa05354c4\u003e] kvm_arch_vcpu_uninit+0x1b/0x48 [kvm]\n [\u003cffffffffa05339c6\u003e] kvm_vcpu_uninit+0x9/0x15 [kvm]\n [\u003cffffffffa0569f7d\u003e] vmx_free_vcpu+0x7f/0x8f [kvm_intel]\n [\u003cffffffffa05357b5\u003e] kvm_arch_destroy_vm+0x78/0x111 [kvm]\n [\u003cffffffffa053315b\u003e] kvm_put_kvm+0xd4/0xfe [kvm]\n\nMove it to kvm_arch_destroy_vm.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nReported-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\n"
    },
    {
      "commit": "f656ce0185cabbbb0cf96877306879661297c7ad",
      "tree": "e2c8e61642ae4849c901922552a1acf0112461b4",
      "parents": [
        "e93f8a0f821e290ac5149830110a5f704db7a1fc"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:25 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:45 2010 -0300"
      },
      "message": "KVM: switch vcpu context to use SRCU\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f7784b8ec9b6a041fa828cfbe9012fe51933f5ac",
      "tree": "dc67f35e585bb06492852c01776aea4b737db48b",
      "parents": [
        "fef9cce0eb28a67e688a411cc30b73625e49002b"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:18 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:44 2010 -0300"
      },
      "message": "KVM: split kvm_arch_set_memory_region into prepare and commit\n\nRequired for SRCU convertion later.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "47871889c601d8199c51a4086f77eebd77c29b0b",
      "tree": "40cdcac3bff0ee40cc33dcca61d0577cdf965f77",
      "parents": [
        "c16cc0b464b8876cfd57ce1c1dbcb6f9a6a0bce3",
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/firmware/iscsi_ibft.c\n"
    },
    {
      "commit": "cbb870c8221147ae337612e04b2bb0211f31a74b",
      "tree": "aa0c80fde4a271d8a366afc76912c5dacdb7542a",
      "parents": [
        "d96221ab1e7d86dc0d4666466979117cd1915386"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 26 22:37:43 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Feb 26 22:37:31 2010 +0100"
      },
      "message": "[S390] Cleanup struct _lowcore usage and defines.\n\nUse asm offsets to make sure the offset defines to struct _lowcore and\nits layout don\u0027t get out of sync.\nAlso add a BUILD_BUG_ON() which checks that the size of the structure\nis sane.\nAnd while being at it change those sites which use odd casts to access\nthe current lowcore. These should use S390_lowcore instead.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b8e660b83d505148c83ddc6d5ba69c29d0eab1e3",
      "tree": "cd4a679a8bf867bd7b0644292524c5fed64c6d0b",
      "parents": [
        "59b697874529f5c3cbcaf5816b3d6c584af521e8"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 26 22:37:41 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Feb 26 22:37:31 2010 +0100"
      },
      "message": "[S390] Replace ENOTSUPP usage with EOPNOTSUPP\n\nENOTSUPP is not supposed to leak to userspace so lets just use\nEOPNOTSUPP everywhere.\nDoesn\u0027t fix a bug, but makes future reviews easier.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f64ca21714f114a78b6c19ceabc7745b29913efc",
      "tree": "ef01f90c3c0547c37f6259de2fe274a3a47e082a",
      "parents": [
        "987bcdacb18a3adc2a48d85c9b005069c2f4dd7b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 26 22:37:32 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Feb 26 22:37:30 2010 +0100"
      },
      "message": "[S390] zfcpdump: remove cross arch dump support\n\nRemove support to be able to dump 31 bit systems with a 64 bit dumper.\nThis is mostly useless since no distro ships 31 bit kernels together\nwith a 64 bit dumper.\nWe also get rid of a bit of hacky code.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2bb4646fce8d09916b351d1a62f98db7cec6fc41",
      "tree": "c1f0d002e69868606eca9d1b919835f422892063",
      "parents": [
        "6836b9bdd98e3b500cd49512484df68f46e14659",
        "b0483e78e5c4c9871fc5541875b3bc006846d46b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 22:09:29 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 22:09:29 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "062d5e9b0d714f449b261bb522eadaaf6f00f438",
      "tree": "cd0e9b7e7449a2b067614865998218fd4462e581",
      "parents": [
        "b6a114d27273c37cd0107b0f49af208168498f05"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jan 21 12:19:07 2010 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 25 12:26:39 2010 -0200"
      },
      "message": "KVM: S390: fix potential array overrun in intercept handling\n\nkvm_handle_sie_intercept uses a jump table to get the intercept handler\nfor a SIE intercept. Static code analysis revealed a potential problem:\nthe intercept_funcs jump table was defined to contain (0x48 \u003e\u003e 2) entries,\nbut we only checked for code \u003e 0x48 which would cause an off-by-one\narray overflow if code \u003d\u003d 0x48.\n\nUse the compiler and ARRAY_SIZE to automatically set the limits.\n\nCc: stable@kernel.org\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3a4d5c94e959359ece6d6b55045c3f046677f55c",
      "tree": "113cfe31540e3d77925837f6990c3284d425bfd1",
      "parents": [
        "5da779c34ccff5e1e617892b6c8bd8260fb1f04c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:29 2010 -0800"
      },
      "message": "vhost_net: a kernel-level virtio server\n\nWhat it is: vhost net is a character device that can be used to reduce\nthe number of system calls involved in virtio networking.\nExisting virtio net code is used in the guest without modification.\n\nThere\u0027s similarity with vringfd, with some differences and reduced scope\n- uses eventfd for signalling\n- structures can be moved around in memory at any time (good for\n  migration, bug work-arounds in userspace)\n- write logging is supported (good for migration)\n- support memory table and not just an offset (needed for kvm)\n\ncommon virtio related code has been put in a separate file vhost.c and\ncan be made into a separate module if/when more backends appear.  I used\nRusty\u0027s lguest.c as the source for developing this part : this supplied\nme with witty comments I wouldn\u0027t be able to write myself.\n\nWhat it is not: vhost net is not a bus, and not a generic new system\ncall. No assumptions are made on how guest performs hypercalls.\nUserspace hypervisors are supported as well as kvm.\n\nHow it works: Basically, we connect virtio frontend (configured by\nuserspace) to a backend. The backend could be a network device, or a tap\ndevice.  Backend is also configured by userspace, including vlan/mac\netc.\n\nStatus: This works for me, and I haven\u0027t see any crashes.\nCompared to userspace, people reported improved latency (as I save up to\n4 system calls per packet), as well as better bandwidth and CPU\nutilization.\n\nFeatures that I plan to look at in the future:\n- mergeable buffers\n- zero copy\n- scalability tuning: figure out the best threading model to use\n\nNote on RCU usage (this is also documented in vhost.h, near\nprivate_pointer which is the value protected by this variant of RCU):\nwhat is happening is that the rcu_dereference() is being used in a\nworkqueue item.  The role of rcu_read_lock() is taken on by the start of\nexecution of the workqueue item, of rcu_read_unlock() by the end of\nexecution of the workqueue item, and of synchronize_rcu() by\nflush_workqueue()/flush_work(). In the future we might need to apply\nsome gcc attribute or sparse annotation to the function passed to\nINIT_WORK(). Paul\u0027s ack below is for this RCU usage.\n\n(Includes fixes by Alan Cox \u003calan@linux.intel.com\u003e,\nDavid L Stevens \u003cdlstevens@us.ibm.com\u003e,\nChris Wright \u003cchrisw@redhat.com\u003e)\n\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67dd2f5a669f48e48ea1013fb80522adca8287f4",
      "tree": "eee4e7f15df90f899211cde0a669d661085de05d",
      "parents": [
        "5327b9b83a9c45a3fcbcda224a2b02d9eea9f6bb",
        "42d61b9b415686d81eaa022b846737548876e51d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:01:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:01:47 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (72 commits)\n  [S390] 3215/3270 console: remove wrong comment\n  [S390] dasd: remove BKL from extended error reporting code\n  [S390] vmlogrdr: remove BKL\n  [S390] vmur: remove BKL\n  [S390] zcrypt: remove BKL\n  [S390] 3270: remove BKL\n  [S390] vmwatchdog: remove lock_kernel() from open() function\n  [S390] monwriter: remove lock_kernel() from open() function\n  [S390] monreader: remove lock_kernel() from open() function\n  [S390] s390: remove unused nfsd #includes\n  [S390] ftrace: build ftrace.o when CONFIG_FTRACE_SYSCALLS is set for s390\n  [S390] etr/stp: put correct per cpu variable\n  [S390] tty3270: move keyboard compat ioctls\n  [S390] sclp: improve servicability setting\n  [S390] s390: use change recording override for kernel mapping\n  [S390] MAINTAINERS: Add s390 drivers block\n  [S390] use generic sockios.h header file\n  [S390] use generic termbits.h header file\n  [S390] smp: remove unused typedef and defines\n  [S390] cmm: free pages on hibernate.\n  ...\n"
    },
    {
      "commit": "b11b53342773361f3353b285eb6a3fd6074e7997",
      "tree": "b7fda314933b82d39cb8d30c7882ca3044dd0367",
      "parents": [
        "61365e132ef987f7719af5d2e434db4465957637"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 07 12:51:43 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Dec 07 12:51:33 2009 +0100"
      },
      "message": "[S390] Improve address space mode selection.\n\nIntroduce user_mode to replace the two variables switch_amode and\ns390_noexec. There are three valid combinations of the old values:\n  1) switch_amode \u003d\u003d 0 \u0026\u0026 s390_noexec \u003d\u003d 0\n  2) switch_amode \u003d\u003d 1 \u0026\u0026 s390_noexec \u003d\u003d 0\n  3) switch_amode \u003d\u003d 1 \u0026\u0026 s390_noexec \u003d\u003d 1\nThey get replaced by\n  1) user_mode \u003d\u003d HOME_SPACE_MODE\n  2) user_mode \u003d\u003d PRIMARY_SPACE_MODE\n  3) user_mode \u003d\u003d SECONDARY_SPACE_MODE\nThe new kernel parameter user_mode\u003d[primary,secondary,home] lets\nyou choose the address space mode the user space processes should\nuse. In addition the CONFIG_S390_SWITCH_AMODE config option\nis removed.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f50146bd7bdb75435638e60d4960edd9bcdf88b8",
      "tree": "5c52dfae9dc90d9ae9b07d87d63ca0f4704b0f4b",
      "parents": [
        "3548bab501887a698a887639b54d5ecaf35c387b"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "carsteno@de.ibm.com",
        "time": "Mon Nov 30 17:14:41 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:26 2009 +0200"
      },
      "message": "KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c\n\nThis patch corrects the checking of the new address for the prefix register.\nOn s390, the prefix register is used to address the cpu\u0027s lowcore (address\n0...8k). This check is supposed to verify that the memory is readable and\npresent.\ncopy_from_guest is a helper function, that can be used to read from guest\nmemory. It applies prefixing, adds the start address of the guest memory in\nuser, and then calls copy_from_user. Previous code was obviously broken for\ntwo reasons:\n- prefixing should not be applied here. The current prefix register is\n  going to be updated soon, and the address we\u0027re looking for will be\n  0..8k after we\u0027ve updated the register\n- we\u0027re adding the guest origin (gmsor) twice: once in subject code\n  and once in copy_from_guest\n\nWith kuli, we did not hit this problem because (a) we were lucky with\nprevious prefix register content, and (b) our guest memory was mmaped\nvery low into user address space.\n\nCc: stable@kernel.org\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nReported-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d7b0b5eb3000c6fb902f08c619fcd673a23d8fab",
      "tree": "4c7aa92657435c687f98383aaea5ce15ee9fba9c",
      "parents": [
        "3cfc3092f40bc37c57ba556cfd8de4218f2135ab"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "carsteno@de.ibm.com",
        "time": "Thu Nov 19 14:21:16 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:25 2009 +0200"
      },
      "message": "KVM: s390: Make psw available on all exits, not just a subset\n\nThis patch moves s390 processor status word into the base kvm_run\nstruct and keeps it up-to date on all userspace exits.\n\nThe userspace ABI is broken by this, however there are no applications\nin the wild using this.  A capability check is provided so users can\nverify the updated API exists.\n\nCc: stable@kernel.org\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "10474ae8945ce08622fd1f3464e55bd817bf2376",
      "tree": "d390843b5107e600fbbf745eb24d85d745fe449f",
      "parents": [
        "e8b3433a5c062e94e34cadb6144c10689a497bc3"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Sep 15 11:37:46 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:10 2009 +0200"
      },
      "message": "KVM: Activate Virtualization On Demand\n\nX86 CPUs need to have some magic happening to enable the virtualization\nextensions on them. This magic can result in unpleasant results for\nusers, like blocking other VMMs from working (vmx) or using invalid TLB\nentries (svm).\n\nCurrently KVM activates virtualization when the respective kernel module\nis loaded. This blocks us from autoloading KVM modules without breaking\nother VMMs.\n\nTo circumvent this problem at least a bit, this patch introduces on\ndemand activation of virtualization. This means, that instead\nvirtualization is enabled on creation of the first virtual machine\nand disabled on destruction of the last one.\n\nSo using this, KVM can be easily autoloaded, while keeping other\nhypervisors usable.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "367e1319b229110a27c53221c2fa32a6aa86d4a9",
      "tree": "189e289b9985cf3c9b1416b3cc7be3c7ddc7d130",
      "parents": [
        "680b3648ba89c44ac8d0316f78a0d6e147b88809"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 26 14:57:07 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:08 2009 +0200"
      },
      "message": "KVM: Return -ENOTTY on unrecognized ioctls\n\nNot the incorrect -EINVAL.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "8feda6f786fc44f5f8b5cf88e3b6c03514f5be93",
      "tree": "9d0f7e0c0373f257c822df9e3193a84cb941a752",
      "parents": [
        "20824f30bb0b8ae0a4099895fd4509f54cf2e1e2"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Sep 21 10:45:18 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 04 13:57:23 2009 +0200"
      },
      "message": "KVM: s390: fix memsize \u003e\u003d 4G\n\ncommit 628eb9b8a8f3\n    KVM: s390: streamline memslot handling\n\nintroduced kvm_s390_vcpu_get_memsize. This broke guests \u003e\u003d4G, since this\nfunction returned an int.\n\nThis patch changes the return value to a long.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a419aef8b858a2bdb98df60336063d28df4b272f",
      "tree": "1736f6650ec0bfc01074c489fc47396114099c5e",
      "parents": [
        "2944fcbe03d65a704f07e43efe14adb0d226fd09"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 18 11:18:35 2009 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:58 2009 +0200"
      },
      "message": "trivial: remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a1b37100d9e29c1f8dc3e2f5490a205c80180e01",
      "tree": "0e1448e35c8da68b865816a1173540f8e05234e4",
      "parents": [
        "0b71785dc05f1f66e6268022b9953c0d6a9985c6"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jul 09 15:33:52 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:13 2009 +0300"
      },
      "message": "KVM: Reduce runnability interface with arch support code\n\nRemove kvm_cpu_has_interrupt() and kvm_arch_interrupt_allowed() from\ninterface between general code and arch code. kvm_arch_vcpu_runnable()\nchecks for interrupts instead.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2023a29cbe34139afcea8f65f8aef78c325c5dc0",
      "tree": "142223b88f59710a366321a1b47b54b33ba8e19c",
      "parents": [
        "46f43c6ee022c3aeb9686b104234b9f27fac03c2"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jun 18 11:47:28 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:03 2009 +0300"
      },
      "message": "KVM: remove old KVMTRACE support code\n\nReturn EOPNOTSUPP for KVM_TRACE_ENABLE/PAUSE/DISABLE ioctls.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "988a2cae6a3c0dea6df59808a935a9a697bfc28c",
      "tree": "c1118d86c5d6f24fe738c608917b0affb311f26d",
      "parents": [
        "73880c80aa9c8dc353cd0ad26579023213cd5314"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jun 09 15:56:29 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:52 2009 +0300"
      },
      "message": "KVM: Use macro to iterate over vcpus.\n\n[christian: remove unused variables on s390]\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    }
  ],
  "next": "628eb9b8a8f3ef31d8316112a4596b1a21b38159"
}
