Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Hendrik Brueckner and committed by
Janosch Frank
4aebd7d5 c0dcada0

+15
+8
Documentation/virt/kvm/api.rst
··· 9428 9428 depending on which executed at the time of an exit. Userspace must 9429 9429 take care to differentiate between these cases. 9430 9430 9431 + 8.47 KVM_CAP_S390_VSIE_ESAMODE 9432 + ------------------------------ 9433 + 9434 + :Architectures: s390 9435 + 9436 + The presence of this capability indicates that the nested KVM guest can 9437 + start in ESA mode. 9438 + 9431 9439 9. Known KVM API problems 9432 9440 ========================= 9433 9441
+6
arch/s390/kvm/kvm-s390.c
··· 629 629 case KVM_CAP_IRQFD_RESAMPLE: 630 630 case KVM_CAP_S390_USER_OPEREXEC: 631 631 case KVM_CAP_S390_KEYOP: 632 + case KVM_CAP_S390_VSIE_ESAMODE: 632 633 r = 1; 633 634 break; 634 635 case KVM_CAP_SET_GUEST_DEBUG2: ··· 925 924 VM_EVENT(kvm, 3, "%s", "ENABLE: CAP_S390_USER_OPEREXEC"); 926 925 kvm->arch.user_operexec = 1; 927 926 icpt_operexc_on_all_vcpus(kvm); 927 + r = 0; 928 + break; 929 + case KVM_CAP_S390_VSIE_ESAMODE: 930 + VM_EVENT(kvm, 3, "%s", "ENABLE: CAP_S390_VSIE_ESAMODE"); 931 + kvm->arch.allow_vsie_esamode = 1; 928 932 r = 0; 929 933 break; 930 934 default:
+1
include/uapi/linux/kvm.h
··· 985 985 #define KVM_CAP_ARM_SEA_TO_USER 245 986 986 #define KVM_CAP_S390_USER_OPEREXEC 246 987 987 #define KVM_CAP_S390_KEYOP 247 988 + #define KVM_CAP_S390_VSIE_ESAMODE 248 988 989 989 990 struct kvm_irq_routing_irqchip { 990 991 __u32 irqchip;