Blame SOURCES/kvm-s390x-cpumodel-default-enable-bpb-and-ppa15-for-z196.patch

383d26
From 11637f33d743a928b6e05f4475f3f840715f33c6 Mon Sep 17 00:00:00 2001
383d26
From: Cornelia Huck <cohuck@redhat.com>
383d26
Date: Tue, 3 Jul 2018 10:55:10 +0200
383d26
Subject: [PATCH 56/57] s390x/cpumodel: default enable bpb and ppa15 for z196
383d26
 and later
383d26
383d26
RH-Author: Cornelia Huck <cohuck@redhat.com>
383d26
Message-id: <20180703105510.30555-1-cohuck@redhat.com>
383d26
Patchwork-id: 81191
383d26
O-Subject: [RHEL-7.6 qemu-kvm-ma PATCH] s390x/cpumodel: default enable bpb and ppa15 for z196 and later
383d26
Bugzilla: 1595715
383d26
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
383d26
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
383d26
RH-Acked-by: David Hildenbrand <david@redhat.com>
383d26
383d26
Most systems and host kernels provide the necessary building blocks for
383d26
bpb and ppa15. We can reverse the logic and default enable those
383d26
features, while still allowing to disable it via cpu model.
383d26
383d26
So let us add bpb and ppa15 to z196 and later default CPU model for the
383d26
qemu rhel7.6.0 machine. (like -cpu z13).  Older machine types (i.e.
383d26
s390-ccw-virtio-rhel7.5.0) will retain the old value and not provide those
383d26
bits in the default model.
383d26
383d26
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
383d26
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
383d26
---
383d26
 hw/s390x/s390-virtio-ccw.c  | 4 ++++
383d26
 target/s390x/gen-features.c | 2 ++
383d26
 2 files changed, 6 insertions(+)
383d26
383d26
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
383d26
index 64e2a3b..bf039a1 100644
383d26
--- a/hw/s390x/s390-virtio-ccw.c
383d26
+++ b/hw/s390x/s390-virtio-ccw.c
383d26
@@ -912,6 +912,10 @@ static void ccw_machine_rhel750_instance_options(MachineState *machine)
383d26
     /* before 2.12 we emulated the very first z900, and RHEL 7.5 is
383d26
        based on 2.10 */
383d26
     s390_set_qemu_cpu_model(0x2064, 7, 1, qemu_cpu_feat);
383d26
+
383d26
+    /* bpb and ppa15 were only in the full model in RHEL 7.5 */
383d26
+    s390_cpudef_featoff_greater(11, 1, S390_FEAT_PPA15);
383d26
+    s390_cpudef_featoff_greater(11, 1, S390_FEAT_BPB);
383d26
 }
383d26
 
383d26
 static void ccw_machine_rhel750_class_options(MachineClass *mc)
383d26
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
383d26
index 0cdbc15..6626b6f 100644
383d26
--- a/target/s390x/gen-features.c
383d26
+++ b/target/s390x/gen-features.c
383d26
@@ -512,6 +512,8 @@ static uint16_t default_GEN11_GA1[] = {
383d26
     S390_FEAT_IPTE_RANGE,
383d26
     S390_FEAT_ACCESS_EXCEPTION_FS_INDICATION,
383d26
     S390_FEAT_GROUP_MSA_EXT_4,
383d26
+    S390_FEAT_PPA15,
383d26
+    S390_FEAT_BPB,
383d26
 };
383d26
 
383d26
 #define default_GEN11_GA2 EmptyFeat
383d26
-- 
383d26
1.8.3.1
383d26