diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2022-09-22 17:38:20 +0200 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2022-09-23 15:18:52 +0200 |
commit | 9f17bfdab422887807cbd5260ed6b0b6e54ddb33 (patch) | |
tree | 405ec2df8f668a3d5d9acf973c45af27b4f039b2 /target/s390x/gen-features.c | |
parent | ab9ccfa8502435502c74fc55cec8ae6eda879919 (diff) | |
download | qemu-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.c | 9 |
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), }; |