From 9269bf16c4ca06496840473ec842dfcbc2d9020f Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Tue, 7 Aug 2018 09:05:54 +0000 Subject: [PATCH 19/21] s390x/cpumodel: default enable bpb and ppa15 for z196 and later RH-Author: Cornelia Huck Message-id: <20180807100554.29643-3-cohuck@redhat.com> Patchwork-id: 81660 O-Subject: [qemu-kvm RHEL8/virt212 PATCH 2/2] s390x/cpumodel: default enable bpb and ppa15 for z196 and later Bugzilla: 1595718 RH-Acked-by: David Hildenbrand RH-Acked-by: Thomas Huth RH-Acked-by: Jens Freimann Upstream: downstream version of 8727315111 ("s390x/cpumodel: default enable bpb and ppa15 for z196 and later"); downstream does not have the upstream machine types, instead we need to turn off the bits for the RHEL 7.5 machine Most systems and host kernels provide the necessary building blocks for bpb and ppa15. We can reverse the logic and default enable those features, while still allowing to disable it via cpu model. So let us add bpb and ppa15 to z196 and later default CPU model for the qemu rhel7.6.0 machine. (like -cpu z13). Older machine types (i.e. s390-ccw-virtio-rhel7.5.0) will retain the old value and not provide those bits in the default model. Signed-off-by: Cornelia Huck --- hw/s390x/s390-virtio-ccw.c | 4 ++++ target/s390x/gen-features.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 64e2a3b..bf039a1 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -912,6 +912,10 @@ static void ccw_machine_rhel750_instance_options(MachineState *machine) /* before 2.12 we emulated the very first z900, and RHEL 7.5 is based on 2.10 */ s390_set_qemu_cpu_model(0x2064, 7, 1, qemu_cpu_feat); + + /* bpb and ppa15 were only in the full model in RHEL 7.5 */ + s390_cpudef_featoff_greater(11, 1, S390_FEAT_PPA15); + s390_cpudef_featoff_greater(11, 1, S390_FEAT_BPB); } static void ccw_machine_rhel750_class_options(MachineClass *mc) diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c index 0cdbc15..6626b6f 100644 --- a/target/s390x/gen-features.c +++ b/target/s390x/gen-features.c @@ -512,6 +512,8 @@ static uint16_t default_GEN11_GA1[] = { S390_FEAT_IPTE_RANGE, S390_FEAT_ACCESS_EXCEPTION_FS_INDICATION, S390_FEAT_GROUP_MSA_EXT_4, + S390_FEAT_PPA15, + S390_FEAT_BPB, }; #define default_GEN11_GA2 EmptyFeat -- 1.8.3.1