)]}'
{
  "log": [
    {
      "commit": "21cdbc1378e8aa96e1ed4a606dce1a8e7daf7fdf",
      "tree": "55b6c294b912ccdc3eede15960b0ece53a69d902",
      "parents": [
        "86d9c070175de65890794fa227b68297da6206d8",
        "ef3500b2b2955af4fa6b0564b51c0c604e38c571"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:04:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:04:22 2009 -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: (81 commits)\n  [S390] remove duplicated #includes\n  [S390] cpumask: use mm_cpumask() wrapper\n  [S390] cpumask: Use accessors code.\n  [S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.\n  [S390] cpumask: remove cpu_coregroup_map\n  [S390] fix clock comparator save area usage\n  [S390] Add hwcap flag for the etf3 enhancement facility\n  [S390] Ensure that ipl panic notifier is called late.\n  [S390] fix dfp elf hwcap/facility bit detection\n  [S390] smp: perform initial cpu reset before starting a cpu\n  [S390] smp: fix memory leak on __cpu_up\n  [S390] ipl: Improve checking logic and remove switch defaults.\n  [S390] s390dbf: Remove needless check for NULL pointer.\n  [S390] s390dbf: Remove redundant initilizations.\n  [S390] use kzfree()\n  [S390] BUG to BUG_ON changes\n  [S390] zfcpdump: Prevent zcore from beeing built as a kernel module.\n  [S390] Use csum_partial in checksum.h\n  [S390] cleanup lowcore.h\n  [S390] eliminate ipl_device from lowcore\n  ...\n"
    },
    {
      "commit": "f5daba1d4116d964435ddd99f32b6c80448a496b",
      "tree": "0c4ace40971e9cc455b556a3d5691b64a24044b5",
      "parents": [
        "70193af9188113c9b4ff3dde1aed9f9c8f7c4f93"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Mar 26 15:24:01 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 26 15:24:10 2009 +0100"
      },
      "message": "[S390] split/move machine check handler code\n\nSplit machine check handler code and move it to cio and kernel code\nwhere it belongs to. No functional change.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "92e6ecf392fac3082653ac9d84b1bdf53d0ea160",
      "tree": "f5169e11ecce5d6ac13b2b2bb99088bdd9fe03e4",
      "parents": [
        "702d9e584feb028ed7e2a6d2b103b8ea57622ff2"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Mar 26 15:23:58 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 26 15:24:09 2009 +0100"
      },
      "message": "[S390] Fix hypervisor detection for KVM\n\nCurrently we use the cpuid (via STIDP instruction) to recognize LPAR,\nz/VM and KVM.\nThe architecture states, that bit 0-7 of STIDP returns all zero, and\nif STIDP is executed in a virtual machine, the VM operating system\nwill replace bits 0-7 with FF.\n\nKVM should not use FE to distinguish z/VM from KVM for interested\nguests. The proper way to detect the hypervisor is the STSI (Store\nSystem Information) instruction, which return information about the\nhypervisors via function code 3, selector1\u003d2, selector2\u003d2.\n\nThis patch changes the detection routine of Linux to use STSI instead\nof STIDP. This detection is earlier than bootmem, we have to use a\nstatic buffer. Since STSI expects a 4kb block (4kb aligned) this\npatch also changes the init.data alignment for s390. As this section\nwill be freed during boot, this should be no problem.\n\nPatch is tested with LPAR, z/VM, KVM on LPAR, and KVM under z/VM.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b7e6e4d3602c738b8f61225d9f4514945df52f07",
      "tree": "b4527b5f371695c2a9e4c1bc4a0fb92130daa481",
      "parents": [
        "70455a36a073cbb83ca17f92d135a6128c73cb3c"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jan 22 10:29:08 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:07 2009 +0200"
      },
      "message": "KVM: s390: Fix SIGP set prefix ioctl\n\nThis patch fixes the SET PREFIX interrupt if triggered by userspace.\nUntil now, it was not necessary, but life migration will need it. In\naddition, it helped me creating SMP support for my kvm_crashme tool\n(lets kvm execute random guest memory content).\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "70455a36a073cbb83ca17f92d135a6128c73cb3c",
      "tree": "ccc7b13f17703d9823ecb5967d09a99665d81f57",
      "parents": [
        "2c411b48af3e3c534b9cfb6a79be1df384d1ca1a"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jan 22 10:28:29 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:07 2009 +0200"
      },
      "message": "KVM: s390: Fix problem state check for b2 intercepts\n\nThe kernel handles some priviledged instruction exits. While I was\nunable to trigger such an exit from guest userspace, the code should\ncheck for supervisor state before emulating a priviledged instruction.\n\nI also renamed kvm_s390_handle_priv to kvm_s390_handle_b2. After all\nthere are non priviledged b2 instructions like stck (store clock).\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2c411b48af3e3c534b9cfb6a79be1df384d1ca1a",
      "tree": "0c0ef4795033b2cd9ed7bed7c91cb0825d586ce9",
      "parents": [
        "7d656bd996b68737d5d07643bc57311059038d67"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jan 22 14:20:27 2009 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:07 2009 +0200"
      },
      "message": "KVM: s390: Fix printk on SIGP set arch\n\nKVM on s390 does not support the ESA/390 architecture. We refuse to\nchange the architecture mode and print a warning. This patch removes\nthe printk for several reasons:\n\no A malicious guest can flood host dmesg\no The old message had no newline\no there is no connection between the message and the failing guest\n\nThis patch simply removes the printk. We already set the condition\ncode to 3 - the guest knows that something went wrong.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5d9b8e30f543a9f21a968a4cda71e8f6d1c66a61",
      "tree": "22b44297196aa19f9b4c20c46d525405d3681aa1",
      "parents": [
        "4677a3b693e035f186e2875259b9a0bb94c42fbe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jan 04 18:04:18 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:02 2009 +0200"
      },
      "message": "KVM: Add CONFIG_HAVE_KVM_IRQCHIP\n\nTwo KVM archs support irqchips and two don\u0027t.  Add a Kconfig item to\nmake selecting between the two models easier.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d0bfb940ecabf0b44fb1fd80d8d60594e569e5ec",
      "tree": "b5927d44937a54ec23d2a28d59db06a0262c0412",
      "parents": [
        "8ab2d2e231062814bd89bba2d6d92563190aa2bb"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Mon Dec 15 13:52:10 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:49 2009 +0200"
      },
      "message": "KVM: New guest debug interface\n\nThis rips out the support for KVM_DEBUG_GUEST and introduces a new IOCTL\ninstead: KVM_SET_GUEST_DEBUG. The IOCTL payload consists of a generic\npart, controlling the \"main switch\" and the single-step feature. The\narch specific part adds an x86 interface for intercepting both types of\ndebug exceptions separately and re-injecting them when the host was not\ninterested. Moveover, the foundation for guest debugging via debug\nregisters is layed.\n\nTo signal breakpoint events properly back to userland, an arch-specific\ndata block is now returned along KVM_EXIT_DEBUG. For x86, the arch block\ncontains the PC, the debug exception, and relevant debug registers to\ntell debug events properly apart.\n\nThe availability of this new interface is signaled by\nKVM_CAP_SET_GUEST_DEBUG. Empty stubs for not yet supported archs are\nprovided.\n\nNote that both SVM and VTX are supported, but only the latter was tested\nyet. Based on the experience with all those VTX corner case, I would be\nfairly surprised if SVM will work out of the box.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ad8ba2cd44d4d39fb3fe55d5dcc565b19fc3a7fb",
      "tree": "74dfd501fc541b7d55eecec7b9469f1db8225507",
      "parents": [
        "85db06e514422ae429b5f85742d8111b70bd56f3"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Tue Jan 06 10:03:02 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Feb 15 02:47:36 2009 +0200"
      },
      "message": "KVM: Add kvm_arch_sync_events to sync with asynchronize events\n\nkvm_arch_sync_events is introduced to quiet down all other events may happen\ncontemporary with VM destroy process, like IRQ handler and work struct for\nassigned device.\n\nFor kvm_arch_sync_events is called at the very beginning of kvm_destroy_vm(), so\nthe state of KVM here is legal and can provide a environment to quiet down other\nevents.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "33e1911566183ac32baac35163c0962302e40f5f",
      "tree": "34969583f0d40ceaf5ef2aaa14b72a8093177abe",
      "parents": [
        "19cdd08ba155dd87ebb87bb39ed097dbee671e0e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jan 09 12:14:56 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jan 09 12:15:07 2009 +0100"
      },
      "message": "[S390] Use unsigned long long for u64 on 64bit.\n\nAs requested by Andrew. Same as what sparc did.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "ca9edaee1aea34ebd9adb48910aba0b3d64b1b22",
      "tree": "283e686f8215354fbc5f73dc3366f72c35eca1db",
      "parents": [
        "1a811b6167089bcdb84284f2dc9fd0b4d0f1899d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 08 18:29:29 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:46 2008 +0200"
      },
      "message": "KVM: Consolidate userspace memory capability reporting into common code\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6692cef30b7caf7525ae99670cddbaf28f1f9d40",
      "tree": "956c25e52ef23e7127bef18b8b53d82e5e62220d",
      "parents": [
        "d329c035e754156ffabcb64ff75d05bb8e2ddbf5"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Nov 26 14:51:08 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:03 2008 +0200"
      },
      "message": "KVM: s390: Fix memory leak of vcpu-\u003erun\n\nThe s390 backend of kvm never calls kvm_vcpu_uninit. This causes\na memory leak of vcpu-\u003erun pages.\nLets call kvm_vcpu_uninit in kvm_arch_vcpu_destroy to free\nthe vcpu-\u003erun.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d329c035e754156ffabcb64ff75d05bb8e2ddbf5",
      "tree": "4417fc296c719f23e952076873cdb91a4c3c757d",
      "parents": [
        "6b7ad61ffb9ca110add6f7fb36cc8a4dd89696a4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Nov 26 14:50:27 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:03 2008 +0200"
      },
      "message": "KVM: s390: Fix refcounting and allow module unload\n\nCurrently it is impossible to unload the kvm module on s390.\nThis patch fixes kvm_arch_destroy_vm to release all cpus.\nThis make it possible to unload the module.\n\nIn addition we stop messing with the module refcount in arch code.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3eb77d5116d78cce5b9fa9eb19d012bc636116b6",
      "tree": "45d8ef487464702a2b2c12f8edf08c9f79d3caf6",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Nov 17 14:50:35 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Nov 23 14:34:39 2008 +0200"
      },
      "message": "KVM: s390: Fix problem state handling in guest sigp handler\n\nWe can get an exit for instructions starting with 0xae, even if the guest is\nin userspace. Lets make sure, that the signal processor handler is only called\nin guest supervisor mode. Otherwise, send a program check.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a0046b6db1c514149585e11895cd8434e0eafa79",
      "tree": "df02a1764fcae0bd94b0db8fa3463558cc690bde",
      "parents": [
        "a89c1ad270ca7ad0eec2667bc754362ce7b142be"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Aug 29 13:29:45 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:24 2008 +0200"
      },
      "message": "KVM: s390: Make facility bits future-proof\n\nHeiko Carstens pointed out, that its safer to activate working facilities\ninstead of disabling problematic facilities. The new code uses the host\nfacility bits and masks it with known good ones.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1f4170e12db06fdde5279d665a7e6e2976b2b623",
      "tree": "6e804c79330dc3b93d05c56e66c9d53c461cd0a9",
      "parents": [
        "ed8486243379ef3e6c61363df915882945c0eaec"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Jul 29 23:48:42 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jul 31 11:57:18 2008 +0300"
      },
      "message": "KVM: s390: Fix kvm on IBM System z10\n\nThe z10 system supports large pages, kvm-s390 doesnt.\nMake sure that we dont advertise large pages to avoid the guest crashing as\nsoon as the guest kernel activates DAT.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5a00a5e7a3e013b2323f87c1b69ff9557eae5ec9",
      "tree": "1895de31abc875c5b7d818e9d900a92b6aa507bb",
      "parents": [
        "f5e10b09a5f8fc40666c95fe0cd6bcc2b8f11437"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Jul 25 15:53:12 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:36:20 2008 +0300"
      },
      "message": "KVM: s390: Fix possible host kernel bug on lctl(g) handling\n\nThe lctl(g) instructions require a specific alignment for the parameters.\nThe architecture requires a specification program check if these alignments\nare not used. Enforcing this alignment also removes a possible host BUG,\nsince the get_guest functions check for proper alignment and emits a BUG.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f5e10b09a5f8fc40666c95fe0cd6bcc2b8f11437",
      "tree": "026877547d3f3c873455680d4e61db7a7482817c",
      "parents": [
        "3cd612998f17d5b3588be7f4937720411d247ff6"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Jul 25 15:52:44 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:36:12 2008 +0300"
      },
      "message": "KVM: s390: Fix instruction naming for lctlg\n\nLets fix the name for the lctlg instruction...\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3cd612998f17d5b3588be7f4937720411d247ff6",
      "tree": "2d453cdd9c9f6e83caf404c2982701fb1a91c994",
      "parents": [
        "0096369daa9eaaef1a309e5d8167b023af3f998d"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Jul 25 15:51:54 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:36:05 2008 +0300"
      },
      "message": "KVM: s390: Fix program check on interrupt delivery handling\n\nThe current interrupt handling on s390 misbehaves on an error case. On s390\neach cpu has the prefix area (lowcore) for interrupt delivery. This memory\nmust always be available. If we fail to access the prefix area for a guest\non interrupt delivery the configuration is completely unusable. There is no\npoint in sending another program interrupt to an inaccessible lowcore.\nFurthermore, we should not bug the host kernel, because this can be triggered\nby userspace. I think the guest kernel itself can not trigger the problem, as\nSET PREFIX and SIGNAL PROCESSOR SET PREFIX both check that the memory is\navailable and sane. As this is a userspace bug (e.g. setting the wrong guest\noffset, unmapping guest memory) we should kill the userspace process instead\nof BUGing the host kernel.\nIn the long term we probably should notify the userspace process about this\nproblem.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0096369daa9eaaef1a309e5d8167b023af3f998d",
      "tree": "ccd77da043cbdfa63907f54e10f07ed3452ba338",
      "parents": [
        "99e65c92f2bbf84f43766a8bf701e36817d62822"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jul 25 15:51:00 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:35:57 2008 +0300"
      },
      "message": "KVM: s390: Change guestaddr type in gaccess\n\nAll registers are unsigned long types. This patch changes all occurences\nof guestaddr in gaccess from u64 to unsigned long.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2bd0ac4eb469ef58c3b1746fccd15da871fc55c4",
      "tree": "0ad78fd86d33e2d00b3010c69ff2706b0e440c94",
      "parents": [
        "cab7a1eeeb007be309cd99cf14407261a72d2418"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Jul 25 15:49:13 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 27 11:35:40 2008 +0300"
      },
      "message": "KVM: s390: Advertise KVM_CAP_USER_MEMORY\n\nKVM_CAP_USER_MEMORY is used by s390, therefore, we should advertise it.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "34d4cb8fca1f2a31be152b74797e6cd160ec9de6",
      "tree": "1e8f2c3c4feb54763fd0d8b27ef83ba546215069",
      "parents": [
        "d6e88aec07aa8f6c7e4024f5734ec659fd7c5a40"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jul 10 20:49:31 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:40 2008 +0300"
      },
      "message": "KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction\n\nFlush the shadow mmu before removing regions to avoid stale entries.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "180c12fb22bd17c7187ae1bce023d24a42b2980c",
      "tree": "8dbe8b9bffc369862ea69569fb6fe86d19483bd3",
      "parents": [
        "4da29e909ea8087de09e27476f91f51a070cabe8"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Jun 27 15:05:40 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:37 2008 +0300"
      },
      "message": "KVM: s390: rename private structures\n\nWhile doing some tests with our lcrash implementation I have seen a\nnaming conflict with prefix_info in kvm_host.h vs. addrconf.h\n\nTo avoid future conflicts lets rename private definitions in\nasm/kvm_host.h by adding the kvm_s390 prefix.\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@qumranet.com\u003e\n"
    },
    {
      "commit": "4da29e909ea8087de09e27476f91f51a070cabe8",
      "tree": "e87b67317cc517ea47a897456fd483c8194c9301",
      "parents": [
        "dfdded7c41e5b68c79a9f8a942d41f56bc265ba4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Jun 27 15:05:38 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:37 2008 +0300"
      },
      "message": "KVM: s390: Set guest storage limit and offset to sane values\n\nSome machines do not accept 16EB as guest storage limit. Lets change the\ndefault for the guest storage limit to a sane value. We also should set\nthe guest_origin to what userspace thinks it is. This allows guests\nstarting at an address !\u003d 0.\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@qumranet.com\u003e\n"
    },
    {
      "commit": "dfdded7c41e5b68c79a9f8a942d41f56bc265ba4",
      "tree": "7e5949075ae9e2f47bc953c45cb7c8419d776761",
      "parents": [
        "eff0114ac3d3a20a5c93b31b00134e59bfc75189"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Jun 27 15:05:34 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:37 2008 +0300"
      },
      "message": "KVM: Fix memory leak on guest exit\n\nThis patch fixes a memory leak, we want to free the physmem when destroying\nthe vm.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7cc8883074b040aa8c1ebd3a17463b0ea3a9ef16",
      "tree": "79feae8f0093534317d75f1776bd9f115d62dd91",
      "parents": [
        "543e42436643d68ad007d0bae2f485caac9c8a02"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue May 13 16:29:20 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Jul 20 12:42:25 2008 +0300"
      },
      "message": "KVM: Remove decache_vcpus_on_cpu() and related callbacks\n\nObsoleted by the vmx-specific per-cpu list.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e52b2af541bcb299212a63cfa3e3231618a415be",
      "tree": "745f8d30f645b052cb96909148f4dfe80d952361",
      "parents": [
        "1f0d0f094df9a570dfc26d5eb825986b7e165e1d"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed May 21 13:37:44 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jun 06 21:08:26 2008 +0300"
      },
      "message": "KVM: s390: Fix race condition in kvm_s390_handle_wait\n\nThe call to add_timer was issued before local_int.lock was taken and before\ntimer_due was set to 0. If the timer expires before the lock is being taken,\nthe timer function will set timer_due to 1 and exit before the vcpu falls\nasleep. Depending on other external events, the vcpu might sleep forever.\nThis fix pulls setting timer_due to the beginning of the function before\nadd_timer, which ensures correct behavior.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1f0d0f094df9a570dfc26d5eb825986b7e165e1d",
      "tree": "4f598069f3a17c926deb70bbbd3d088d881efbfc",
      "parents": [
        "0ff318674503ce3787ef62d84f4d948db204b268"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed May 21 13:37:40 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jun 06 21:08:26 2008 +0300"
      },
      "message": "KVM: s390: Send program check on access error\n\nIf the guest accesses non-existing memory, the sie64a function returns\n-EFAULT. We must check the return value and send a program check to the\nguest if the sie instruction faulted, otherwise the guest will loop at\nthe faulting code.\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@qumranet.com\u003e\n"
    },
    {
      "commit": "0ff318674503ce3787ef62d84f4d948db204b268",
      "tree": "7e3f964df1961aa858bbaf28aa2d455d156cdcc9",
      "parents": [
        "71cde5879f10b639506bc0b9f29a89f58b42a17e"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Wed May 21 13:37:37 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jun 06 21:08:26 2008 +0300"
      },
      "message": "KVM: s390: fix interrupt delivery\n\nThe current code delivers pending interrupts before it checks for\nneed_resched. On a busy host, this can lead to a longer interrupt\nlatency if the interrupt is injected while the process is scheduled\naway. This patch moves delivering the interrupt _after_ schedule(),\nwhich makes more sense.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "71cde5879f10b639506bc0b9f29a89f58b42a17e",
      "tree": "5e8e8da042eede41ef4b9b74fd14e959e61f5b4a",
      "parents": [
        "74b6b522ec83f9c44fc7743f2adcb24664aa8f45"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed May 21 13:37:34 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jun 06 21:08:26 2008 +0300"
      },
      "message": "KVM: s390: handle machine checks when guest is running\n\nThe low-level interrupt handler on s390 checks for _TIF_WORK_INT and\nexits the guest context, if work is pending.\nTIF_WORK_INT is defined as_TIF_SIGPENDING | _TIF_NEED_RESCHED |\n _TIF_MCCK_PENDING. Currently the sie loop checks for signals and\nreschedule, but it does not check for machine checks. That means that\nwe exit the guest context if a machine check is pending, but we do not\nhandle the machine check.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCC: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b8cee18cc75d7b9dbe6c6526dfae9ab49e84fa95",
      "tree": "9b058143e7454ced9493b1b229905f8af6d40d25",
      "parents": [
        "33e3885de25148e00595c4dd808d6eb15db2edcf"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed May 21 13:37:16 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jun 06 21:08:26 2008 +0300"
      },
      "message": "KVM: s390: use yield instead of schedule to implement diag 0x44\n\ndiag 0x44 is the common way on s390 to yield the cpu to the hypervisor.\nIt is called by the guest in cpu_relax and in the spinlock code to\nyield to other guest cpus.\n\nThis semantic is similar to yield. Lets replace the call to schedule with\nyield to make sure that current is really yielding.\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@qumranet.com\u003e\n"
    },
    {
      "commit": "0eaeafa10f3b2bd027e95859a6785d4c7fcc174c",
      "tree": "97676107c28393326944bd3d922e7eeaa5caf942",
      "parents": [
        "2688905e6a9b3647bf7b452cb0ff2bdb166bd8fe"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed May 07 09:22:53 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed May 07 09:23:01 2008 +0200"
      },
      "message": "[S390] s390-kvm: leave sie context on work. Removes preemption requirement\n\nFrom: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n\nThis patch fixes a bug with cpu bound guest on kvm-s390. Sometimes it\nwas impossible to deliver a signal to a spinning guest. We used\npreemption as a circumvention. The preemption notifiers called\nvcpu_load, which checked for pending signals and triggered a host\nintercept. But even with preemption, a sigkill was not delivered\nimmediately.\n\nThis patch changes the low level host interrupt handler to check for the\nSIE  instruction, if TIF_WORK is set. In that case we change the\ninstruction pointer of the return PSW to rerun the vcpu_run loop. The kvm\ncode sees an intercept reason 0 if that happens. This patch adds accounting\nfor these types of intercept as well.\n\nThe advantages:\n- works with and without preemption\n- signals are delivered immediately\n- much better host latencies without preemption\n\nAcked-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": "484875b11f355b1b54d508a3f4671888f07e643c",
      "tree": "ff639e4bd108e48f4b3ab7789e1c0e880453b034",
      "parents": [
        "ccf183e469be89e065ed389da9d3f50bd2faa215"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Apr 30 13:38:43 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Apr 30 13:38:46 2008 +0200"
      },
      "message": "[S390] Move stfl to system.h and delete duplicated version.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "62d9f0dbc92d7e398fde53fc6021338393522e68",
      "tree": "028e62807ead3db11f15694323743b90c8211ef8",
      "parents": [
        "a45352908b88d383bc40e1e4d1a6cc5bbcefc895"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 13:24:45 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:16 2008 +0300"
      },
      "message": "KVM: add ioctls to save/store mpstate\n\nSo userspace can save/restore the mpstate during migration.\n\n[avi: export the #define constants describing the value]\n[christian: add s390 stubs]\n[avi: ditto for ia64]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\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@qumranet.com\u003e\n"
    },
    {
      "commit": "3d80840d96127401ba6aeadd813c3a15b84e70fe",
      "tree": "b3e083c651f09fee362d88f0d1fc140194f2431d",
      "parents": [
        "3564990af1b9f77a63692c1079e9c41af229f066"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 14:53:26 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:04:11 2008 +0300"
      },
      "message": "KVM: hlt emulation should take in-kernel APIC/PIT timers into account\n\nTimers that fire between guest hlt and vcpu_block\u0027s add_wait_queue() are\nignored, possibly resulting in hangs.\n\nAlso make sure that atomic_inc and waitqueue_active tests happen in the\nspecified order, otherwise the following race is open:\n\nCPU0                                        CPU1\n                                            if (waitqueue_active(wq))\nadd_wait_queue()\nif (!atomic_read(pit_timer-\u003epending))\n    schedule()\n                                            atomic_inc(pit_timer-\u003epending)\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7732a8d19bdc6ae18f68f9adb47d11c82a3a86cd",
      "tree": "dde426704b4484be957980a58eab527cd169ecef",
      "parents": [
        "2714d1d3d6be882b97cd0125140fccf9976a460a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Apr 11 02:50:40 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:20 2008 +0300"
      },
      "message": "KVM: s390: Stub out kvmtrace\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f603f0731f43421403160f5f8b12e90f2e51f064",
      "tree": "5e8bbc51d2a7be8b58e310689cebee2a6881f128",
      "parents": [
        "7e8e6ab48d78147f69c1ba2d6a362f8d33254468"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Apr 04 15:12:40 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:59 2008 +0300"
      },
      "message": "KVM: s390: rename stfl to kvm_stfl\n\nTemporarily rename this function to avoid merge conflicts and/or\ndependencies. This function will be removed as soon as git-s390\nand kvm.git are finally upstream.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e8e6ab48d78147f69c1ba2d6a362f8d33254468",
      "tree": "760391ea70e033a7b2551663430da3f737e3db59",
      "parents": [
        "bed1d1dfc4a458d82bcd258082638cbba860190d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Apr 04 15:12:35 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:58 2008 +0300"
      },
      "message": "KVM: s390: Fix incorrect return value\n\nkvm_arch_vcpu_ioctl_run currently incorrectly always returns 0.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "77b455f1bcfa0fddb31b8e6f9f2adc246acb4216",
      "tree": "f16f4479739b1de7752c12363efbf82034258a5b",
      "parents": [
        "e28acfea5dd9dbc67c2594cbefc140129dbd0e3f"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:36 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:47 2008 +0300"
      },
      "message": "KVM: s390: add kvm to kconfig on s390\n\nThis patch adds the virtualization submenu and the kvm option to the kernel\nconfig. It also defines HAVE_KVM for 64bit kernels.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\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@qumranet.com\u003e\n"
    },
    {
      "commit": "e28acfea5dd9dbc67c2594cbefc140129dbd0e3f",
      "tree": "2f66c3afcf18fd938bae1460f1c5d35ccbf75550",
      "parents": [
        "5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:34 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:46 2008 +0300"
      },
      "message": "KVM: s390: intercepts for diagnose instructions\n\nThis patch introduces interpretation of some diagnose instruction intercepts.\nDiagnose is our classic architected way of doing a hypercall. This patch\nfeatures the following diagnose codes:\n- vm storage size, that tells the guest about its memory layout\n- time slice end, which is used by the guest to indicate that it waits\n  for a lock and thus cannot use up its time slice in a useful way\n- ipl functions, which a guest can use to reset and reboot itself\n\nIn order to implement ipl functions, we also introduce an exit reason that\ncauses userspace to perform various resets on the virtual machine. All resets\nare described in the principles of operation book, except KVM_S390_RESET_IPL\nwhich causes a reboot of the machine.\n\nAcked-by: Martin Schwidefsky \u003cmartin.schwidefsky@de.ibm.com\u003e\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@qumranet.com\u003e\n"
    },
    {
      "commit": "5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32",
      "tree": "6f81a87294c9026ac91a84e5a94e55e565002d3b",
      "parents": [
        "453423dce2785b8e22077e3b3eeecb4f60fe3470"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:31 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:46 2008 +0300"
      },
      "message": "KVM: s390: interprocessor communication via sigp\n\nThis patch introduces in-kernel handling of _some_ sigp interprocessor\nsignals (similar to ipi).\nkvm_s390_handle_sigp() decodes the sigp instruction and calls individual\nhandlers depending on the operation requested:\n- sigp sense tries to retrieve information such as existence or running state\n  of the remote cpu\n- sigp emergency sends an external interrupt to the remove cpu\n- sigp stop stops a remove cpu\n- sigp stop store status stops a remote cpu, and stores its entire internal\n  state to the cpus lowcore\n- sigp set arch sets the architecture mode of the remote cpu. setting to\n  ESAME (s390x 64bit) is accepted, setting to ESA/S390 (s390, 31 or 24 bit) is\n  denied, all others are passed to userland\n- sigp set prefix sets the prefix register of a remote cpu\n\nFor implementation of this, the stop intercept indication starts to get reused\non purpose: a set of action bits defines what to do once a cpu gets stopped:\nACTION_STOP_ON_STOP  really stops the cpu when a stop intercept is recognized\nACTION_STORE_ON_STOP stores the cpu status to lowcore when a stop intercept is\n                     recognized\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "453423dce2785b8e22077e3b3eeecb4f60fe3470",
      "tree": "afe9d502d7fa07d5b59175dfb990f818e0642720",
      "parents": [
        "ba5c1e9b6ceebdc39343cc03eb39f077abd3c571"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:29 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:45 2008 +0300"
      },
      "message": "KVM: s390: intercepts for privileged instructions\n\nThis patch introduces in-kernel handling of some intercepts for privileged\ninstructions:\n\nhandle_set_prefix()        sets the prefix register of the local cpu\nhandle_store_prefix()      stores the content of the prefix register to memory\nhandle_store_cpu_address() stores the cpu number of the current cpu to memory\nhandle_skey()              just decrements the instruction address and retries\nhandle_stsch()             delivers condition code 3 \"operation not supported\"\nhandle_chsc()              same here\nhandle_stfl()              stores the facility list which contains the\n                           capabilities of the cpu\nhandle_stidp()             stores cpu type/model/revision and such\nhandle_stsi()              stores information about the system topology\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ba5c1e9b6ceebdc39343cc03eb39f077abd3c571",
      "tree": "ab07e763ad7d9aad2ef189def5537e73a50c7503",
      "parents": [
        "8f2abe6a1e525e878bdf58f68ccd146d543fde84"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Mar 25 18:47:26 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:44 2008 +0300"
      },
      "message": "KVM: s390: interrupt subsystem, cpu timer, waitpsw\n\nThis patch contains the s390 interrupt subsystem (similar to in kernel apic)\nincluding timer interrupts (similar to in-kernel-pit) and enabled wait\n(similar to in kernel hlt).\n\nIn order to achieve that, this patch also introduces intercept handling\nfor instruction intercepts, and it implements load control instructions.\n\nThis patch introduces an ioctl KVM_S390_INTERRUPT which is valid for both\nthe vm file descriptors and the vcpu file descriptors. In case this ioctl is\nissued against a vm file descriptor, the interrupt is considered floating.\nFloating interrupts may be delivered to any virtual cpu in the configuration.\n\nThe following interrupts are supported:\nSIGP STOP       - interprocessor signal that stops a remote cpu\nSIGP SET PREFIX - interprocessor signal that sets the prefix register of a\n                  (stopped) remote cpu\nINT EMERGENCY   - interprocessor interrupt, usually used to signal need_reshed\n                  and for smp_call_function() in the guest.\nPROGRAM INT     - exception during program execution such as page fault, illegal\n                  instruction and friends\nRESTART         - interprocessor signal that starts a stopped cpu\nINT VIRTIO      - floating interrupt for virtio signalisation\nINT SERVICE     - floating interrupt for signalisations from the system\n                  service processor\n\nstruct kvm_s390_interrupt, which is submitted as ioctl parameter when injecting\nan interrupt, also carrys parameter data for interrupts along with the interrupt\ntype. Interrupts on s390 usually have a state that represents the current\noperation, or identifies which device has caused the interruption on s390.\n\nkvm_s390_handle_wait() does handle waitpsw in two flavors: in case of a\ndisabled wait (that is, disabled for interrupts), we exit to userspace. In case\nof an enabled wait we set up a timer that equals the cpu clock comparator value\nand sleep on a wait queue.\n\n[christian: change virtio interrupt to 0x2603]\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8f2abe6a1e525e878bdf58f68ccd146d543fde84",
      "tree": "5f52959474a16847c740fb8668ebd9d6cbc75d07",
      "parents": [
        "b0c632db637d68ad39d9f97f452ce176253f5f4e"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:23 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:43 2008 +0300"
      },
      "message": "KVM: s390: sie intercept handling\n\nThis path introduces handling of sie intercepts in three flavors: Intercepts\nare either handled completely in-kernel by kvm_handle_sie_intercept(),\nor passed to userspace with corresponding data in struct kvm_run in case\nkvm_handle_sie_intercept() returns -ENOTSUPP.\nIn case of partial execution in kernel with the need of userspace support,\nkvm_handle_sie_intercept() may choose to set up struct kvm_run and return\n-EREMOTE.\n\nThe trivial intercept reasons are handled in this patch:\nhandle_noop() just does nothing for intercepts that don\u0027t require our support\n  at all\nhandle_stop() is called when a cpu enters stopped state, and it drops out to\n  userland after updating our vcpu state\nhandle_validity() faults in the cpu lowcore if needed, or passes the request\n  to userland\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\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@qumranet.com\u003e\n"
    },
    {
      "commit": "b0c632db637d68ad39d9f97f452ce176253f5f4e",
      "tree": "770d68c17cbcabc1543d1e9125669130fcf4fee4",
      "parents": [
        "8a88ac6183975c73c65b45f365f6f3b875c1348b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Mar 25 18:47:20 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:42 2008 +0300"
      },
      "message": "KVM: s390: arch backend for the kvm kernel module\n\nThis patch contains the port of Qumranet\u0027s kvm kernel module to IBM zSeries\n (aka s390x, mainframe) architecture. It uses the mainframe\u0027s virtualization\ninstruction SIE to run virtual machines with up to 64 virtual CPUs each.\nThis port is only usable on 64bit host kernels, and can only run 64bit guest\nkernels. However, running 31bit applications in guest userspace is possible.\n\nThe following source files are introduced by this patch\narch/s390/kvm/kvm-s390.c    similar to arch/x86/kvm/x86.c, this implements all\n                            arch callbacks for kvm. __vcpu_run calls back into\n                            sie64a to enter the guest machine context\narch/s390/kvm/sie64a.S      assembler function sie64a, which enters guest\n                            context via SIE, and switches world before and after                            that\ninclude/asm-s390/kvm_host.h contains all vital data structures needed to run\n                            virtual machines on the mainframe\ninclude/asm-s390/kvm.h      defines kvm_regs and friends for user access to\n                            guest register content\narch/s390/kvm/gaccess.h     functions similar to uaccess to access guest memory\narch/s390/kvm/kvm-s390.h    header file for kvm-s390 internals, extended by\n                            later patches\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ]
}
