yeahuh / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone
Pablo Greco e6a3ae
From 5bb9f99d9dbe71424f656f597b650d5088faca23 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:35 +0000
Pablo Greco e6a3ae
Subject: [PATCH 1/7] s390x/cpumodel: mepochptff: warn when no mepoch and
Pablo Greco e6a3ae
 re-align group init
Pablo Greco e6a3ae
Pablo Greco e6a3ae
RH-Author: Thomas Huth <thuth@redhat.com>
Pablo Greco e6a3ae
Message-id: <1553858017-376-2-git-send-email-thuth@redhat.com>
Pablo Greco e6a3ae
Patchwork-id: 85237
Pablo Greco e6a3ae
O-Subject: [RHEL-8.1.0 qemu-kvm PATCH 1/3] s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
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
From: Collin Walling <walling@linux.ibm.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
The extended PTFF features (qsie, qtoue, stoe, stoue) are dependent
Pablo Greco e6a3ae
on the multiple-epoch facility (mepoch). Let's print a warning if these
Pablo Greco e6a3ae
features are enabled without mepoch.
Pablo Greco e6a3ae
Pablo Greco e6a3ae
While we're at it, let's move the FEAT_GROUP_INIT for mepochptff down
Pablo Greco e6a3ae
the s390_feature_groups list so it can be properly indexed with its
Pablo Greco e6a3ae
generated S390FeatGroup enum.
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Pablo Greco e6a3ae
Message-Id: <20190212011657.18324-1-walling@linux.ibm.com>
Pablo Greco e6a3ae
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Pablo Greco e6a3ae
Reviewed-by: David Hildenbrand <david@redhat.com>
Pablo Greco e6a3ae
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Pablo Greco e6a3ae
(cherry picked from commit ddf5d18af3ce3029d5b93222af5a9e8160d4c34b)
Pablo Greco e6a3ae
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Pablo Greco e6a3ae
---
Pablo Greco e6a3ae
 target/s390x/cpu_features.c | 2 +-
Pablo Greco e6a3ae
 target/s390x/cpu_models.c   | 4 ++++
Pablo Greco e6a3ae
 2 files changed, 5 insertions(+), 1 deletion(-)
Pablo Greco e6a3ae
Pablo Greco e6a3ae
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
Pablo Greco e6a3ae
index 0fbee27..91e40c2 100644
Pablo Greco e6a3ae
--- a/target/s390x/cpu_features.c
Pablo Greco e6a3ae
+++ b/target/s390x/cpu_features.c
Pablo Greco e6a3ae
@@ -457,7 +457,6 @@ static S390FeatGroupDef s390_feature_groups[] = {
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("plo", PLO, "Perform-locked-operation facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("tods", TOD_CLOCK_STEERING, "Tod-clock-steering facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("gen13ptff", GEN13_PTFF, "PTFF enhancements introduced with z13"),
Pablo Greco e6a3ae
-    FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("msa", MSA, "Message-security-assist facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("msa1", MSA_EXT_1, "Message-security-assist-extension 1 facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("msa2", MSA_EXT_2, "Message-security-assist-extension 2 facility"),
Pablo Greco e6a3ae
@@ -467,6 +466,7 @@ static S390FeatGroupDef s390_feature_groups[] = {
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("msa6", MSA_EXT_6, "Message-security-assist-extension 6 facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("msa7", MSA_EXT_7, "Message-security-assist-extension 7 facility"),
Pablo Greco e6a3ae
     FEAT_GROUP_INIT("msa8", MSA_EXT_8, "Message-security-assist-extension 8 facility"),
Pablo Greco e6a3ae
+    FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
Pablo Greco e6a3ae
 };
Pablo Greco e6a3ae
 
Pablo Greco e6a3ae
 const S390FeatGroupDef *s390_feat_group_def(S390FeatGroup group)
Pablo Greco e6a3ae
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
Pablo Greco e6a3ae
index 3856104..43f16a7 100644
Pablo Greco e6a3ae
--- a/target/s390x/cpu_models.c
Pablo Greco e6a3ae
+++ b/target/s390x/cpu_models.c
Pablo Greco e6a3ae
@@ -776,6 +776,10 @@ static void check_consistency(const S390CPUModel *model)
Pablo Greco e6a3ae
         { S390_FEAT_SIE_KSS, S390_FEAT_SIE_F2 },
Pablo Greco e6a3ae
         { S390_FEAT_AP_QUERY_CONFIG_INFO, S390_FEAT_AP },
Pablo Greco e6a3ae
         { S390_FEAT_AP_FACILITIES_TEST, S390_FEAT_AP },
Pablo Greco e6a3ae
+        { S390_FEAT_PTFF_QSIE, S390_FEAT_MULTIPLE_EPOCH },
Pablo Greco e6a3ae
+        { S390_FEAT_PTFF_QTOUE, S390_FEAT_MULTIPLE_EPOCH },
Pablo Greco e6a3ae
+        { S390_FEAT_PTFF_STOE, S390_FEAT_MULTIPLE_EPOCH },
Pablo Greco e6a3ae
+        { S390_FEAT_PTFF_STOUE, S390_FEAT_MULTIPLE_EPOCH },
Pablo Greco e6a3ae
     };
Pablo Greco e6a3ae
     int i;
Pablo Greco e6a3ae
 
Pablo Greco e6a3ae
-- 
Pablo Greco e6a3ae
1.8.3.1
Pablo Greco e6a3ae