diff options
| author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2014-10-09 08:10:13 -0400 |
|---|---|---|
| committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2015-01-23 07:25:37 -0500 |
| commit | 2444b352c3acf54897b0e2803a7c4e66699f9f43 (patch) | |
| tree | 42490c1860791c4d674fe8c40aaf77c4d0407ab7 /include/uapi/linux | |
| parent | 9fbd80828cef1b1bba5a293609a021047bb86a7e (diff) | |
KVM: s390: forward most SIGP orders to user space
Most SIGP orders are handled partially in kernel and partially in
user space. In order to:
- Get a correct SIGP SET PREFIX handler that informs user space
- Avoid race conditions between concurrently executed SIGP orders
- Serialize SIGP orders per VCPU
We need to handle all "slow" SIGP orders in user space. The remaining
ones to be handled completely in kernel are:
- SENSE
- SENSE RUNNING
- EXTERNAL CALL
- EMERGENCY SIGNAL
- CONDITIONAL EMERGENCY SIGNAL
According to the PoP, they have to be fast. They can be executed
without conflicting to the actions of other pending/concurrently
executing orders (e.g. STOP vs. START).
This patch introduces a new capability that will - when enabled -
forward all but the mentioned SIGP orders to user space. The
instruction counters in the kernel are still updated.
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/kvm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index adc24a3fd23e..37f71c3040c3 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h | |||
| @@ -759,6 +759,7 @@ struct kvm_ppc_smmu_info { | |||
| 759 | #define KVM_CAP_PPC_FIXUP_HCALL 103 | 759 | #define KVM_CAP_PPC_FIXUP_HCALL 103 |
| 760 | #define KVM_CAP_PPC_ENABLE_HCALL 104 | 760 | #define KVM_CAP_PPC_ENABLE_HCALL 104 |
| 761 | #define KVM_CAP_CHECK_EXTENSION_VM 105 | 761 | #define KVM_CAP_CHECK_EXTENSION_VM 105 |
| 762 | #define KVM_CAP_S390_USER_SIGP 106 | ||
| 762 | 763 | ||
| 763 | #ifdef KVM_CAP_IRQ_ROUTING | 764 | #ifdef KVM_CAP_IRQ_ROUTING |
| 764 | 765 | ||
