qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]