On 12/17/21 11:58 AM, Christian Borntraeger wrote:
Am 17.12.21 um 16:19 schrieb Matthew Rosato:
On 12/17/21 10:05 AM, Christian Borntraeger wrote:
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@xxxxxxxxxxxxx>
---
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.
Right, so this currently sets the facility bits but we don't set the
associated guest SCLP bits. I guess since we are not enabling for
VSIE now it would make sense to not set either.
So then just to confirm we are on the same page: I will drop these
patches 16-18 and leave the kvm facilities unset until we wish to
enable VSIE. And then also make sure we are checking sclp bits (e.g.
patch 19). OK?
Right drop these patches and change patch 19. When we later enable VSIE
we need QEMU to set the sclp bits. Not sure, does this work as of today
or do we need additional vsie changes (I would assume so)?
No, we will need some additional work to be able to enable for VSIE
(e.g. adapter interrupt source ID)