aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/virtual/kvm/api.txt
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2015-01-23 08:33:36 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2015-01-23 08:33:36 -0500
commit8fff5e374a2f6047d1bb52288af7da119bc75765 (patch)
tree723d105441d2bed7a0b6290557a7c89d3787b1fe /Documentation/virtual/kvm/api.txt
parent1c6007d59a20762052cc92c0a2889ff11030d23a (diff)
parent0eb135ff9f19b8336e96fa12c599a8f412e7f0c0 (diff)
Merge tag 'kvm-s390-next-20150122' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next
KVM: s390: fixes and features for kvm/next (3.20) 1. Generic - sparse warning (make function static) - optimize locking - bugfixes for interrupt injection - fix MVPG addressing modes 2. hrtimer/wakeup fun A recent change can cause KVM hangs if adjtime is used in the host. The hrtimer might wake up too early or too late. Too early is fatal as vcpu_block will see that the wakeup condition is not met and sleep again. This CPU might never wake up again. This series addresses this problem. adjclock slowing down the host clock will result in too late wakeups. This will require more work. In addition to that we also change the hrtimer from REALTIME to MONOTONIC to avoid similar problems with timedatectl set-time. 3. sigp rework We will move all "slow" sigps to QEMU (protected with a capability that can be enabled) to avoid several races between concurrent SIGP orders. 4. Optimize the shadow page table Provide an interface to announce the maximum guest size. The kernel will use that to make the pagetable 2,3,4 (or theoretically) 5 levels. 5. Provide an interface to set the guest TOD We now use two vm attributes instead of two oneregs, as oneregs are vcpu ioctl and we don't want to call them from other threads. 6. Protected key functions The real HMC allows to enable/disable protected key CPACF functions. Lets provide an implementation + an interface for QEMU to activate this the protected key instructions.
Diffstat (limited to 'Documentation/virtual/kvm/api.txt')
-rw-r--r--Documentation/virtual/kvm/api.txt22
1 files changed, 21 insertions, 1 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index f4b19d78782b..b112efc816f1 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -2315,7 +2315,7 @@ struct kvm_s390_interrupt {
2315 2315
2316type can be one of the following: 2316type can be one of the following:
2317 2317
2318KVM_S390_SIGP_STOP (vcpu) - sigp restart 2318KVM_S390_SIGP_STOP (vcpu) - sigp stop; optional flags in parm
2319KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm 2319KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm
2320KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm 2320KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm
2321KVM_S390_RESTART (vcpu) - restart 2321KVM_S390_RESTART (vcpu) - restart
@@ -3228,3 +3228,23 @@ userspace from doing that.
3228If the hcall number specified is not one that has an in-kernel 3228If the hcall number specified is not one that has an in-kernel
3229implementation, the KVM_ENABLE_CAP ioctl will fail with an EINVAL 3229implementation, the KVM_ENABLE_CAP ioctl will fail with an EINVAL
3230error. 3230error.
3231
32327.2 KVM_CAP_S390_USER_SIGP
3233
3234Architectures: s390
3235Parameters: none
3236
3237This capability controls which SIGP orders will be handled completely in user
3238space. With this capability enabled, all fast orders will be handled completely
3239in the kernel:
3240- SENSE
3241- SENSE RUNNING
3242- EXTERNAL CALL
3243- EMERGENCY SIGNAL
3244- CONDITIONAL EMERGENCY SIGNAL
3245
3246All other orders will be handled completely in user space.
3247
3248Only privileged operation exceptions will be checked for in the kernel (or even
3249in the hardware prior to interception). If this capability is not enabled, the
3250old way of handling SIGP orders is used (partially in kernel and user space).