Pablo Greco e6a3ae
From c2c11da318c64a43bb0ed7d07f329d2f1816eb3f Mon Sep 17 00:00:00 2001
Pablo Greco e6a3ae
From: Thomas Huth <thuth@redhat.com>
Pablo Greco e6a3ae
Date: Fri, 29 Mar 2019 11:13:37 +0000
Pablo Greco e6a3ae
Subject: [PATCH 3/7] redhat: s390x/cpumodel: enable mepoch by default for z14
Pablo Greco e6a3ae
 GA2
Pablo Greco e6a3ae
Pablo Greco e6a3ae
RH-Author: Thomas Huth <thuth@redhat.com>
Pablo Greco e6a3ae
Message-id: <1553858017-376-4-git-send-email-thuth@redhat.com>
Pablo Greco e6a3ae
Patchwork-id: 85240
Pablo Greco e6a3ae
O-Subject: [RHEL-8.1.0 qemu-kvm PATCH 3/3] redhat: s390x/cpumodel: enable mepoch by default for z14 GA2
Pablo Greco e6a3ae
Bugzilla: 1664371
Pablo Greco e6a3ae
RH-Acked-by: David Hildenbrand <david@redhat.com>
Pablo Greco e6a3ae
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
Pablo Greco e6a3ae
RH-Acked-by: Jens Freimann <jfreimann@redhat.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Upstream-status: n/a (downstream only)
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Enable the mepoch feature for the new z14 GA2 CPU model. In upstream
Pablo Greco e6a3ae
QEMU, this feature has already been enabled by default for the GA1
Pablo Greco e6a3ae
CPU model in new machine types, too:
Pablo Greco e6a3ae
Pablo Greco e6a3ae
    84176c7906ffaf59457bd7dff25a3ea32e00c3d8
Pablo Greco e6a3ae
    "s390x/cpumodel: default enable mepoch for z14 and later"
Pablo Greco e6a3ae
Pablo Greco e6a3ae
But since we do not have new machine types in RHEL8 qemu-kvm yet,
Pablo Greco e6a3ae
we can not play the trick with the machine type here and thus can
Pablo Greco e6a3ae
only enable mepoch for the new z14 GA2 CPU. Users of the z14 GA1
Pablo Greco e6a3ae
CPU will have to enable this feature manually.
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Signed-off-by: Thomas Huth <thuth@redhat.com>
Pablo Greco e6a3ae
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Pablo Greco e6a3ae
---
Pablo Greco e6a3ae
 target/s390x/gen-features.c | 10 +++++++++-
Pablo Greco e6a3ae
 1 file changed, 9 insertions(+), 1 deletion(-)
Pablo Greco e6a3ae
Pablo Greco e6a3ae
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
Pablo Greco e6a3ae
index dee8375..739d5f1 100644
Pablo Greco e6a3ae
--- a/target/s390x/gen-features.c
Pablo Greco e6a3ae
+++ b/target/s390x/gen-features.c
Pablo Greco e6a3ae
@@ -556,7 +556,15 @@ static uint16_t default_GEN14_GA1[] = {
Pablo Greco e6a3ae
     S390_FEAT_GROUP_MSA_EXT_8,
Pablo Greco e6a3ae
 };
Pablo Greco e6a3ae
 
Pablo Greco e6a3ae
-#define default_GEN14_GA2 EmptyFeat
Pablo Greco e6a3ae
+/*
Pablo Greco e6a3ae
+ * Red Hat only: We enable the MULTIPLE_EPOCH features only for z14 GA2 and
Pablo Greco e6a3ae
+ * not for GA1 already, since we do not have a new s390-ccw-virtio-rhel8.y.0
Pablo Greco e6a3ae
+ * machine type for applying upstream commit 84176c7906ffaf59457bd7 correctly.
Pablo Greco e6a3ae
+ */
Pablo Greco e6a3ae
+static uint16_t default_GEN14_GA2[] = {
Pablo Greco e6a3ae
+    S390_FEAT_MULTIPLE_EPOCH,
Pablo Greco e6a3ae
+    S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF,
Pablo Greco e6a3ae
+};
Pablo Greco e6a3ae
 
Pablo Greco e6a3ae
 /* QEMU (CPU model) features */
Pablo Greco e6a3ae
 
Pablo Greco e6a3ae
-- 
Pablo Greco e6a3ae
1.8.3.1
Pablo Greco e6a3ae