aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/gen-features.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2022-09-22 17:38:20 +0200
committerThomas Huth <thuth@redhat.com>2022-09-23 15:18:52 +0200
commit9f17bfdab422887807cbd5260ed6b0b6e54ddb33 (patch)
tree405ec2df8f668a3d5d9acf973c45af27b4f039b2 /target/s390x/gen-features.c
parentab9ccfa8502435502c74fc55cec8ae6eda879919 (diff)
downloadqemu-9f17bfdab422887807cbd5260ed6b0b6e54ddb33.zip
qemu-9f17bfdab422887807cbd5260ed6b0b6e54ddb33.tar.gz
qemu-9f17bfdab422887807cbd5260ed6b0b6e54ddb33.tar.bz2
target/s390x: support SHA-512 extensions
In order to fully support MSA_EXT_5, we have to support the SHA-512 special instructions. So implement those. The implementation began as something TweetNacl-like, and then was adjusted to be useful here. It's not very beautiful, but it is quite short and compact, which is what we're going for. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> [ restructure, add missing exception, add comments, fixup CPU model ] Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20220922153820.221811-1-david@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'target/s390x/gen-features.c')
-rw-r--r--target/s390x/gen-features.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 1558c52..baadbf4 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -744,13 +744,19 @@ static uint16_t qemu_V7_0[] = {
S390_FEAT_MISC_INSTRUCTION_EXT3,
};
+static uint16_t qemu_V7_1[] = {
+ S390_FEAT_VECTOR_ENH2,
+};
+
/*
* Features for the "qemu" CPU model of the latest QEMU machine and the "max"
* CPU model under TCG. Don't include features that are not part of the full
* feature set of the current "max" CPU model generation.
*/
static uint16_t qemu_MAX[] = {
- S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_MSA_EXT_5,
+ S390_FEAT_KIMD_SHA_512,
+ S390_FEAT_KLMD_SHA_512,
};
/****** END FEATURE DEFS ******/
@@ -873,6 +879,7 @@ static FeatGroupDefSpec QemuFeatDef[] = {
QEMU_FEAT_INITIALIZER(V6_0),
QEMU_FEAT_INITIALIZER(V6_2),
QEMU_FEAT_INITIALIZER(V7_0),
+ QEMU_FEAT_INITIALIZER(V7_1),
QEMU_FEAT_INITIALIZER(MAX),
};