mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 01:32:21 +02:00
KVM: s390: Add KVM capability for ESA mode guests
Now that all the bits are properly addressed, provide a mechanism for testing ESA mode guests in nested configurations. Signed-off-by: Hendrik Brueckner <brueckner@linux.ibm.com> [farman@us.ibm.com: Updated commit message] Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Signed-off-by: Eric Farman <farman@linux.ibm.com> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
This commit is contained in:
parent
c0dcada088
commit
4aebd7d5c7
|
|
@ -9428,6 +9428,14 @@ KVM exits with the register state of either the L1 or L2 guest
|
|||
depending on which executed at the time of an exit. Userspace must
|
||||
take care to differentiate between these cases.
|
||||
|
||||
8.47 KVM_CAP_S390_VSIE_ESAMODE
|
||||
------------------------------
|
||||
|
||||
:Architectures: s390
|
||||
|
||||
The presence of this capability indicates that the nested KVM guest can
|
||||
start in ESA mode.
|
||||
|
||||
9. Known KVM API problems
|
||||
=========================
|
||||
|
||||
|
|
|
|||
|
|
@ -629,6 +629,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
|
|||
case KVM_CAP_IRQFD_RESAMPLE:
|
||||
case KVM_CAP_S390_USER_OPEREXEC:
|
||||
case KVM_CAP_S390_KEYOP:
|
||||
case KVM_CAP_S390_VSIE_ESAMODE:
|
||||
r = 1;
|
||||
break;
|
||||
case KVM_CAP_SET_GUEST_DEBUG2:
|
||||
|
|
@ -926,6 +927,11 @@ int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap)
|
|||
icpt_operexc_on_all_vcpus(kvm);
|
||||
r = 0;
|
||||
break;
|
||||
case KVM_CAP_S390_VSIE_ESAMODE:
|
||||
VM_EVENT(kvm, 3, "%s", "ENABLE: CAP_S390_VSIE_ESAMODE");
|
||||
kvm->arch.allow_vsie_esamode = 1;
|
||||
r = 0;
|
||||
break;
|
||||
default:
|
||||
r = -EINVAL;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -985,6 +985,7 @@ struct kvm_enable_cap {
|
|||
#define KVM_CAP_ARM_SEA_TO_USER 245
|
||||
#define KVM_CAP_S390_USER_OPEREXEC 246
|
||||
#define KVM_CAP_S390_KEYOP 247
|
||||
#define KVM_CAP_S390_VSIE_ESAMODE 248
|
||||
|
||||
struct kvm_irq_routing_irqchip {
|
||||
__u32 irqchip;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user