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

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