Re: [PATCH 16/32] KVM: s390: expose the guest zPCI interpretation facility

Christian Borntraeger
2021-12-17T15:05:43Z

Am 07.12.21 um 21:57 schrieb Matthew Rosato:
> This facility will be used to enable interpretive execution of zPCI
> instructions.
>
> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
> ---
> arch/s390/kvm/kvm-s390.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index c8fe9b7c2395..09991d05c871 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -2751,6 +2751,10 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
> set_kvm_facility(kvm->arch.model.fac_mask, 147);
> set_kvm_facility(kvm->arch.model.fac_list, 147);
> }
> + if (sclp.has_zpci_interp && test_facility(69)) {
> + set_kvm_facility(kvm->arch.model.fac_mask, 69);
> + set_kvm_facility(kvm->arch.model.fac_list, 69);
> + }

Do we need the setting of these stfle bits somewhere? I think QEMU sets them as well for the guest.
We only need this when the kernel probes for this (test_kvm_facility) But then the question is, shouldnt
we then simply check for sclp bits in those places?
See also patch 19. We need to build it in a way that allows VSIE support later on.

>
> if (css_general_characteristics.aiv && test_facility(65))
> set_kvm_facility(kvm->arch.model.fac_mask, 65);
>