Browse Source

KVM: s390: we are always in czam mode

Independent of the underlying hardware, kvm will now always handle
SIGP SET ARCHITECTURE as if czam were enabled. Therefore, let's not
only forward that bit but always set it.

While at it, add a comment regarding STHYI.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20170829143108.14703-1-david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
David Hildenbrand 8 years ago
parent
commit
1935222dc2
2 changed files with 4 additions and 1 deletions
  1. 4 0
      arch/s390/kvm/kvm-s390.c
  2. 0 1
      arch/s390/tools/gen_facilities.c

+ 4 - 0
arch/s390/kvm/kvm-s390.c

@@ -1927,6 +1927,10 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 	memcpy(kvm->arch.model.fac_list, kvm->arch.model.fac_mask,
 	memcpy(kvm->arch.model.fac_list, kvm->arch.model.fac_mask,
 	       S390_ARCH_FAC_LIST_SIZE_BYTE);
 	       S390_ARCH_FAC_LIST_SIZE_BYTE);
 
 
+	/* we are always in czam mode - even on pre z14 machines */
+	set_kvm_facility(kvm->arch.model.fac_mask, 138);
+	set_kvm_facility(kvm->arch.model.fac_list, 138);
+	/* we emulate STHYI in kvm */
 	set_kvm_facility(kvm->arch.model.fac_mask, 74);
 	set_kvm_facility(kvm->arch.model.fac_mask, 74);
 	set_kvm_facility(kvm->arch.model.fac_list, 74);
 	set_kvm_facility(kvm->arch.model.fac_list, 74);
 	if (MACHINE_HAS_TLB_GUEST) {
 	if (MACHINE_HAS_TLB_GUEST) {

+ 0 - 1
arch/s390/tools/gen_facilities.c

@@ -80,7 +80,6 @@ static struct facility_def facility_defs[] = {
 			78, /* enhanced-DAT 2 */
 			78, /* enhanced-DAT 2 */
 			130, /* instruction-execution-protection */
 			130, /* instruction-execution-protection */
 			131, /* enhanced-SOP 2 and side-effect */
 			131, /* enhanced-SOP 2 and side-effect */
-			138, /* configuration z/architecture mode (czam) */
 			139, /* multiple epoch facility */
 			139, /* multiple epoch facility */
 			146, /* msa extension 8 */
 			146, /* msa extension 8 */
 			-1  /* END */
 			-1  /* END */