aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/gen-features.c
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2019-04-29 05:02:45 -0400
committerCornelia Huck <cohuck@redhat.com>2019-05-21 16:59:16 +0200
commit5dacbe23d23c7f0395fa0e65ff1698f632846714 (patch)
tree5271e6323619eae59302b0247386ec497fcb81df /target/s390x/gen-features.c
parent2ec038836fa03103596023e4a1ad7e6eb50ee7c7 (diff)
s390x/cpumodel: msa9 facility
Provide the MSA9 facility (stfle.155). This also contains pckmo subfunctions for key wrapping. Keep them in a separate group to disable those as a block if necessary. This is for example needed when disabling key wrapping via the HMC. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <20190429090250.7648-5-borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/gen-features.c')
-rw-r--r--target/s390x/gen-features.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index e4739a6b9f..a2f9e2b43f 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -213,6 +213,38 @@
S390_FEAT_KMA_GCM_EAES_192, \
S390_FEAT_KMA_GCM_EAES_256
+#define S390_FEAT_GROUP_MSA_EXT_9 \
+ S390_FEAT_MSA_EXT_9, \
+ S390_FEAT_ECDSA_VERIFY_P256, \
+ S390_FEAT_ECDSA_VERIFY_P384, \
+ S390_FEAT_ECDSA_VERIFY_P512, \
+ S390_FEAT_ECDSA_SIGN_P256, \
+ S390_FEAT_ECDSA_SIGN_P384, \
+ S390_FEAT_ECDSA_SIGN_P512, \
+ S390_FEAT_EECDSA_SIGN_P256, \
+ S390_FEAT_EECDSA_SIGN_P384, \
+ S390_FEAT_EECDSA_SIGN_P512, \
+ S390_FEAT_EDDSA_VERIFY_ED25519, \
+ S390_FEAT_EDDSA_VERIFY_ED448, \
+ S390_FEAT_EDDSA_SIGN_ED25519, \
+ S390_FEAT_EDDSA_SIGN_ED448, \
+ S390_FEAT_EEDDSA_SIGN_ED25519, \
+ S390_FEAT_EEDDSA_SIGN_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_P256, \
+ S390_FEAT_PCC_SCALAR_MULT_P384, \
+ S390_FEAT_PCC_SCALAR_MULT_P512, \
+ S390_FEAT_PCC_SCALAR_MULT_ED25519, \
+ S390_FEAT_PCC_SCALAR_MULT_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_X25519, \
+ S390_FEAT_PCC_SCALAR_MULT_X448
+
+#define S390_FEAT_GROUP_MSA_EXT_9_PCKMO \
+ S390_FEAT_PCKMO_ECC_P256, \
+ S390_FEAT_PCKMO_ECC_P384, \
+ S390_FEAT_PCKMO_ECC_P521, \
+ S390_FEAT_PCKMO_ECC_ED25519, \
+ S390_FEAT_PCKMO_ECC_ED448
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -254,6 +286,14 @@ static uint16_t group_MSA_EXT_8[] = {
S390_FEAT_GROUP_MSA_EXT_8,
};
+static uint16_t group_MSA_EXT_9[] = {
+ S390_FEAT_GROUP_MSA_EXT_9,
+};
+
+static uint16_t group_MSA_EXT_9_PCKMO[] = {
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -709,6 +749,8 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_6),
FEAT_GROUP_INITIALIZER(MSA_EXT_7),
FEAT_GROUP_INITIALIZER(MSA_EXT_8),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_9),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
};