[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-arm: add support for v8 SHA1 and SHA256
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH] target-arm: add support for v8 SHA1 and SHA256 instructions |
Date: |
Tue, 25 Mar 2014 17:46:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
Am 25.03.2014 17:27, schrieb Ard Biesheuvel:
> This adds support for the SHA1 and SHA256 instructions that are available
> on some v8 implementations of Aarch32.
>
> Signed-off-by: Ard Biesheuvel <address@hidden>
> ---
> target-arm/cpu.c | 2 +
> target-arm/cpu.h | 2 +
> target-arm/crypto_helper.c | 257
> +++++++++++++++++++++++++++++++++++++++++++--
> target-arm/helper.h | 9 ++
> target-arm/translate.c | 81 ++++++++++++++
> 5 files changed, 344 insertions(+), 7 deletions(-)
>
> diff --git a/target-arm/cpu.c b/target-arm/cpu.c
> index c32d8c4855b4..58c4584ac3bc 100644
> --- a/target-arm/cpu.c
> +++ b/target-arm/cpu.c
> @@ -291,6 +291,8 @@ static void arm_cpu_realizefn(DeviceState *dev, Error
> **errp)
> set_feature(env, ARM_FEATURE_ARM_DIV);
> set_feature(env, ARM_FEATURE_LPAE);
> set_feature(env, ARM_FEATURE_V8_AES);
> + set_feature(env, ARM_FEATURE_V8_SHA1);
> + set_feature(env, ARM_FEATURE_V8_SHA256);
> }
> if (arm_feature(env, ARM_FEATURE_V7)) {
> set_feature(env, ARM_FEATURE_VAPA);
> diff --git a/target-arm/cpu.h b/target-arm/cpu.h
> index bf37cd60d0a2..f5039d8b0177 100644
> --- a/target-arm/cpu.h
> +++ b/target-arm/cpu.h
> @@ -630,6 +630,8 @@ enum arm_features {
> ARM_FEATURE_V8_AES, /* implements AES part of v8 Crypto Extensions */
> ARM_FEATURE_CBAR, /* has cp15 CBAR */
> ARM_FEATURE_CRC, /* ARMv8 CRC instructions */
> + ARM_FEATURE_V8_SHA1, /* implements SHA1 part of v8 Crypto Extensions */
> + ARM_FEATURE_V8_SHA256, /* implements SHA256 part of v8 Crypto Extensions
> */
> };
Do these really need to be separate features? We only have 32 feature
bits. Maybe even an ARM_FEATURE_CRYPTO for AES, SHA1, SHA256 would do?
Regards,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg