)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "628eb9b8a8f3ef31d8316112a4596b1a21b38159",
      "tree": "db34c09360a93e0bb888195745f45017abb07f14",
      "parents": [
        "b1d16c495d9e6fe48e7df2e1d18cafc6555a116a"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon May 25 13:40:51 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:42 2009 +0300"
      },
      "message": "KVM: s390: streamline memslot handling\n\nThis patch relocates the variables kvm-s390 uses to track guest mem addr/size.\nAs discussed dropping the variables at struct kvm_arch level allows to use the\ncommon vcpu-\u003erequest based mechanism to reload guest memory if e.g. changes\nvia set_memory_region.\n\nThe kick mechanism introduced in this series is used to ensure running vcpus\nleave guest state to catch the update.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b1d16c495d9e6fe48e7df2e1d18cafc6555a116a",
      "tree": "759aa4b488f4c0874b2561e932b04f018b514463",
      "parents": [
        "9ace903d171db7dc2fed96e44ac62b6f4c3ccb3d"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Wed May 20 15:34:56 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:42 2009 +0300"
      },
      "message": "KVM: s390: fix signal handling\n\nIf signal pending is true we exit without updating kvm_run, userspace\ncurrently just does nothing and jumps to kvm_run again.\nSince we did not set an exit_reason we might end up with a random one\n(whatever was the last exit). Therefore it was possible to e.g. jump to\nthe psw position the last real interruption set.\nSetting the INTR exit reason ensures that no old psw data is swapped\nin on reentry.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ace903d171db7dc2fed96e44ac62b6f4c3ccb3d",
      "tree": "50668cde71950831339d601a3bfeabe49657770e",
      "parents": [
        "3032b925f00ba2653f7695d356d6f8284c82038d"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Wed May 20 15:34:55 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:42 2009 +0300"
      },
      "message": "KVM: s390: infrastructure to kick vcpus out of guest state\n\nTo ensure vcpu\u0027s come out of guest context in certain cases this patch adds a\ns390 specific way to kick them out of guest context. Currently it kicks them\nout to rerun the vcpu_run path in the s390 code, but the mechanism itself is\nexpandable and with a new flag we could also add e.g. kicks to userspace etc.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0ba12d10817a8db1fd7d96d3283ec6c0b294aeab",
      "tree": "e99c7e1193c0b939becf39f440f3364ac3753e81",
      "parents": [
        "787ff73637bbf34ef276cb04a127b421de71cc43"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu May 21 16:45:19 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:41 2009 +0300"
      },
      "message": "KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig\n\nReduce Kconfig code duplication.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "17d11ba14990d2bbaaec9c09a200b803679a968e",
      "tree": "94bf086e93f3f5f625b04eb549178180598cd213",
      "parents": [
        "fb1ee451e64a1c963a149aeccd9ef6a718f545e7",
        "b4a2f5e723e4f7df46731106faf9e2405673c073"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:58:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:58:21 2009 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.31\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.31\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Avoid redelivery of edge interrupt before next edge\n  KVM: MMU: limit rmap chain length\n  KVM: ia64: fix build failures due to ia64/unsigned long mismatches\n  KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc\n  KVM: fix ack not being delivered when msi present\n  KVM: s390: fix wait_queue handling\n  KVM: VMX: Fix locking imbalance on emulation failure\n  KVM: VMX: Fix locking order in handle_invalid_guest_state\n  KVM: MMU: handle n_free_mmu_pages \u003e n_alloc_mmu_pages in kvm_mmu_change_mmu_pages\n  KVM: SVM: force new asid on vcpu migration\n  KVM: x86: verify MTRR/PAT validity\n  KVM: PIT: fix kpit_elapsed division by zero\n  KVM: Fix KVM_GET_MSR_INDEX_LIST\n"
    },
    {
      "commit": "53cb780adbe69df90c8dc23e992ce40455e687c3",
      "tree": "cf6958d7b3f37eb5c89eadf97e2eecd4248814d6",
      "parents": [
        "677c1dd706d9cc384730cbd52baf821923d8be9b"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Aug 07 10:39:25 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 07 10:40:40 2009 +0200"
      },
      "message": "[S390] KVM: Read buffer overflow\n\nCheck whether index is within bounds before testing the element.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d3bc2f91b4761a8d9f96bea167fef2f8c00dea54",
      "tree": "dced4891f47175b6a394201410d3685805b4b730",
      "parents": [
        "263799a3616242201e20fd2025fe84047b1379b1"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jul 16 17:17:37 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 05 13:59:46 2009 +0300"
      },
      "message": "KVM: s390: fix wait_queue handling\n\nThere are two waitqueues in kvm for wait handling:\nvcpu-\u003ewq for virt/kvm/kvm_main.c and\nvpcu-\u003earch.local_int.wq for the s390 specific wait code.\n\nthe wait handling in kvm_s390_handle_wait was broken by using different\nwait_queues for add_wait queue and remove_wait_queue.\n\nThere are two options to fix the problem:\no  move all the s390 specific code to vcpu-\u003ewq and remove\n   vcpu-\u003earch.local_int.wq\no  move all the s390 specific code to vcpu-\u003earch.local_int.wq\n\nThis patch chooses the 2nd variant for two reasons:\no  s390 does not use kvm_vcpu_block but implements its own enabled wait\n   handling.\n   Having a separate wait_queue make it clear, that our wait mechanism is\n   different\no  the patch is much smaller\n\nReport-by:  Julia Lawall \u003cjulia@diku.dk\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"
    },
    {
      "commit": "ef50f7ac7e234f9696555e41eab3de69c3d86166",
      "tree": "d7455e080646902480a85d5608ce9df0aaf5fff5",
      "parents": [
        "a3f9d3981cd82d65232b733eb792382237d686bd"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Jun 23 17:24:07 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 28 14:10:30 2009 +0300"
      },
      "message": "KVM: s390: Allow stfle instruction in the guest\n\n2.6.31-rc introduced an architecture level set checker based on facility\nbits. e.g. if the kernel is compiled to run only on z9, several facility\nbits are checked very early and the kernel refuses to boot if a z9 specific\nfacility is missing.\nUntil now kvm on s390 did not implement the store facility extended (STFLE)\ninstruction. A 2.6.31-rc kernel that was compiled for z9 or higher did not\nboot in kvm. This patch implements stfle.\n\nThis patch should go in before 2.6.31.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "dab4079d5b5ac421208499d5e554a07f9beb16e4",
      "tree": "e606a64c14ebaa1c78b695abeaf4ad664a6789ea",
      "parents": [
        "205d7ab9c9af6847dda30650a0b8f98555a20654"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jun 12 10:26:32 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jun 12 10:27:33 2009 +0200"
      },
      "message": "[S390] uaccess: use might_fault() instead of might_sleep()\n\nAdds more checking in case lockdep is turned on.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "51e4d5ab28c75d819b3840da11559ad5c1429135",
      "tree": "e4d706b1efa810e60354b8e8d6dc10179df4bbba",
      "parents": [
        "3edbcff9bfe2ed632e518b3cfe807d062cee8269"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue May 12 17:21:53 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:57 2009 +0300"
      },
      "message": "KVM: s390: Verify memory in kvm run\n\nThis check verifies that the guest we\u0027re trying to run in KVM_RUN\nhas some memory assigned to it. It enters an endless exception\nloop if this is not the case.\n\nReported-by: Mijo Safradin \u003cmijo@linux.vnet.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3edbcff9bfe2ed632e518b3cfe807d062cee8269",
      "tree": "da0f137814c3918bff991190197f3aadc69ea97d",
      "parents": [
        "abf4a71ed95ff29d696bf04633958b2068ed2e0b"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue May 12 17:21:52 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:56 2009 +0300"
      },
      "message": "KVM: s390: Sanity check on validity intercept\n\nThis patch adds a sanity check for the content of the guest\nprefix register content before faulting in the cpu lowcore\nthat it refers to. The guest might end up in an endless loop\nwhere SIE complains about missing lowcore with incorrect\ncontent of the prefix register without this fix.\n\nReported-by: Mijo Safradin \u003cmijo@linux.vnet.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "abf4a71ed95ff29d696bf04633958b2068ed2e0b",
      "tree": "5a4a819da281ab9ac33de188ddd21cbfc4e8ef74",
      "parents": [
        "b037a4f34ec51b6c8ccb352a04056c04a4bfc269"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue May 12 17:21:51 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:56 2009 +0300"
      },
      "message": "KVM: s390: Unlink vcpu on destroy - v2\n\nThis patch makes sure we do unlink a vcpu\u0027s sie control block\nfrom the system control area in kvm_arch_vcpu_destroy. This\nprevents illegal accesses to the sie control block from other\nvirtual cpus after free.\n\nReported-by: Mijo Safradin \u003cmijo@linux.vnet.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b037a4f34ec51b6c8ccb352a04056c04a4bfc269",
      "tree": "9ae7a04c170ecfca9ac2973c69383454c0aa8e60",
      "parents": [
        "ca8723023f25c9a70d76cbd6101f8fb4ffec2fa0"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue May 12 17:21:50 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:56 2009 +0300"
      },
      "message": "KVM: s390: optimize float int lock: spin_lock_bh --\u003e spin_lock\n\nThe floating interrupt lock is only taken in process context. We can\nreplace all spin_lock_bh with standard spin_lock calls.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ca8723023f25c9a70d76cbd6101f8fb4ffec2fa0",
      "tree": "ef753d244a55271279b5b2cf29b28db5b35b454c",
      "parents": [
        "2668dab794272f0898491acaf1e77e9a005abc0f"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue May 12 17:21:49 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:55 2009 +0300"
      },
      "message": "KVM: s390: use hrtimer for clock wakeup from idle - v2\n\nThis patch reworks the s390 clock comparator wakeup to hrtimer. The clock\ncomparator is a per-cpu value that is compared against the TOD clock. If\nckc \u003c\u003d TOD an external interrupt 1004 is triggered. Since the clock comparator\nand the TOD clock have a much higher resolution than jiffies we should use\nhrtimers to trigger the wakeup. This speeds up guest nanosleep for small\nvalues.\n\nSince hrtimers callbacks run in hard-irq context, I added a tasklet to do\nthe actual work with enabled interrupts.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2668dab794272f0898491acaf1e77e9a005abc0f",
      "tree": "aeb223675bed96f0b5fc15bc3f9474381fe28364",
      "parents": [
        "58f8ac279a8c46eb0a3193edd521ed2e41c4f914"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue May 12 17:21:48 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:55 2009 +0300"
      },
      "message": "KVM: s390: Fix memory slot versus run - v3\n\nThis patch fixes an incorrectness in the kvm backend for s390.\nIn case virtual cpus are being created before the corresponding\nmemory slot is being registered, we need to update the sie\ncontrol blocks for the virtual cpus.\n\n*updates in v3*\nIn consideration of the s390 memslot constraints locking was changed\nto trylock. These locks should never be held, as vcpu\u0027s can\u0027t run without\nthe single memslot we just assign when running this code. To ensure this\nnever deadlocks in case other code changes the code uses trylocks and bail\nout if it can\u0027t get all locks.\n\nAdditionally most of the discussed special conditions for s390 like\nonly one memslot and no user_alloc are now checked for validity in\nkvm_arch_set_memory_region.\n\nReported-by: Mijo Safradin \u003cmijo@linux.vnet.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "78646121e9a2fcf7977cc15966420e572a450bc3",
      "tree": "55aeac260f4a43bef8e1bc1147f93a3f7e867ec7",
      "parents": [
        "09cec754885f900f6aab23801878c0cd217ee1d6"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Mar 23 12:12:11 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:33 2009 +0300"
      },
      "message": "KVM: Fix interrupt unhalting a vcpu when it shouldn\u0027t\n\nkvm_vcpu_block() unhalts vpu on an interrupt/timer without checking\nif interrupt window is actually opened.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "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"
    }
  ]
}
