]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: s390: intercepts for diagnose instructions
authorChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 25 Mar 2008 17:47:34 +0000 (18:47 +0100)
committerAvi Kivity <avi@qumranet.com>
Sun, 27 Apr 2008 09:00:46 +0000 (12:00 +0300)
commitf4fe3abe1a3877911051ee694b2c4d7681b305e2
tree2f66c3afcf18fd938bae1460f1c5d35ccbf75550
parent673217e44eb1761caf293cbf761cfe1002ec82d2
KVM: s390: intercepts for diagnose instructions

This patch introduces interpretation of some diagnose instruction intercepts.
Diagnose is our classic architected way of doing a hypercall. This patch
features the following diagnose codes:
- vm storage size, that tells the guest about its memory layout
- time slice end, which is used by the guest to indicate that it waits
  for a lock and thus cannot use up its time slice in a useful way
- ipl functions, which a guest can use to reset and reboot itself

In order to implement ipl functions, we also introduce an exit reason that
causes userspace to perform various resets on the virtual machine. All resets
are described in the principles of operation book, except KVM_S390_RESET_IPL
which causes a reboot of the machine.

Acked-by: Martin Schwidefsky <martin.schwidefsky@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/s390/kvm/Makefile
arch/s390/kvm/diag.c [new file with mode: 0644]
arch/s390/kvm/intercept.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h
include/asm-s390/kvm_host.h
include/linux/kvm.h