aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/gen-features.c
diff options
context:
space:
mode:
authorJason J. Herne <jjherne@linux.vnet.ibm.com>2017-04-13 10:28:41 -0400
committerChristian Borntraeger <borntraeger@de.ibm.com>2017-07-14 12:29:49 +0200
commit6da5c593bb2c27cef5fbfc4b37342bbf66133cc1 (patch)
treef9656dcebf461b0a263e27b5b98a387356b95787 /target/s390x/gen-features.c
parente7be8d499700f1ebdbfe8094aa19237998c0e1e3 (diff)
s390x/cpumodel: wire up new hardware features
Some new guest features have been introduced recently. Let's wire them up in the CPU model. Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> [split patch]
Diffstat (limited to 'target/s390x/gen-features.c')
-rw-r--r--target/s390x/gen-features.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 622ee2492c..33404e4b07 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -182,6 +182,33 @@
S390_FEAT_MSA_EXT_5, \
S390_FEAT_PPNO_SHA_512_DRNG
+#define S390_FEAT_GROUP_MSA_EXT_6 \
+ S390_FEAT_KIMD_SHA3_224, \
+ S390_FEAT_KIMD_SHA3_256, \
+ S390_FEAT_KIMD_SHA3_384, \
+ S390_FEAT_KIMD_SHA3_512, \
+ S390_FEAT_KIMD_SHAKE_128, \
+ S390_FEAT_KIMD_SHAKE_256, \
+ S390_FEAT_KLMD_SHA3_224, \
+ S390_FEAT_KLMD_SHA3_256, \
+ S390_FEAT_KLMD_SHA3_384, \
+ S390_FEAT_KLMD_SHA3_512, \
+ S390_FEAT_KLMD_SHAKE_128, \
+ S390_FEAT_KLMD_SHAKE_256
+
+#define S390_FEAT_GROUP_MSA_EXT_7 \
+ S390_FEAT_PRNO_TRNG_QRTCR, \
+ S390_FEAT_PRNO_TRNG
+
+#define S390_FEAT_GROUP_MSA_EXT_8 \
+ S390_FEAT_MSA_EXT_8, \
+ S390_FEAT_KMA_GCM_AES_128, \
+ S390_FEAT_KMA_GCM_AES_192, \
+ S390_FEAT_KMA_GCM_AES_256 , \
+ S390_FEAT_KMA_GCM_EAES_128, \
+ S390_FEAT_KMA_GCM_EAES_192, \
+ S390_FEAT_KMA_GCM_EAES_256
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -210,6 +237,15 @@ static uint16_t group_MSA_EXT_4[] = {
static uint16_t group_MSA_EXT_5[] = {
S390_FEAT_GROUP_MSA_EXT_5,
};
+static uint16_t group_MSA_EXT_6[] = {
+ S390_FEAT_GROUP_MSA_EXT_6,
+};
+static uint16_t group_MSA_EXT_7[] = {
+ S390_FEAT_GROUP_MSA_EXT_7,
+};
+static uint16_t group_MSA_EXT_8[] = {
+ S390_FEAT_GROUP_MSA_EXT_8,
+};
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
@@ -548,6 +584,9 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_3),
FEAT_GROUP_INITIALIZER(MSA_EXT_4),
FEAT_GROUP_INITIALIZER(MSA_EXT_5),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_6),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_7),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_8),
};
static void set_bits(uint64_t list[], BitSpec bits)