diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2016-07-14 17:55:28 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2016-07-14 17:55:28 +0300 |
commit | eee78f6e1fbce7d54c43fb7efc5aa8be9f52755f (patch) | |
tree | 2c4a87ba0258d237c845144ebb0a7883988cfb1a /src/g10lib.h | |
parent | 62642c4be0653a94fdec0c0b1f9d38673250a156 (diff) | |
download | libgcrypt-eee78f6e1fbce7d54c43fb7efc5aa8be9f52755f.tar.gz |
Add HW feature check for ARMv8 AArch64 and crypto extensions
* configure.ac: Add '--disable-arm-crypto-support'; enable hwf-arm
module on 64-bit ARM.
(armcryptosupport, gcry_cv_gcc_inline_aarch32_crypto)
(gcry_cv_inline_asm_aarch64_neon)
(gcry_cv_gcc_inline_asm_aarch64_crypto): New.
* src/g10lib.h (HWF_ARM_AES, HWF_ARM_SHA1, HWF_ARM_SHA2)
(HWF_ARM_PMULL): New.
* src/hwf-arm.c [__aarch64__]: Enable building in AArch64 mode.
(feature_map_s): New.
[__arm__] (AT_HWCAP, AT_HWCAP2, HWCAP2_AES, HWCAP2_PMULL)
(HWCAP2_SHA1, HWCAP2_SHA2, arm_features): New.
[__aarch64__] (AT_HWCAP, AT_HWCAP2, HWCAP_ASIMD, HWCAP_AES)
(HWCAP_PMULL, HWCAP_SHA1, HWCAP_SHA2, arm_features): New.
(get_hwcap): Add reading of 'AT_HWCAP2'; Change auxv use
'unsigned long'.
(detect_arm_at_hwcap): Add mapping of HWCAP/HWCAP2 to HWF flags.
(detect_arm_proc_cpuinfo): Add mapping of CPU features to HWF flags.
(_gcry_hwf_detect_arm): Use __ARM_NEON instead of legacy __ARM_NEON__.
* src/hwfeatures.c (hwflist): Add 'arm-aes', 'arm-sha1', 'arm-sha2'
and 'arm-pmull'.
--
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'src/g10lib.h')
-rw-r--r-- | src/g10lib.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/g10lib.h b/src/g10lib.h index 170ffa16..444c8685 100644 --- a/src/g10lib.h +++ b/src/g10lib.h @@ -211,6 +211,10 @@ char **_gcry_strtokenize (const char *string, const char *delim); #define HWF_INTEL_AVX2 (1 << 13) #define HWF_ARM_NEON (1 << 14) +#define HWF_ARM_AES (1 << 15) +#define HWF_ARM_SHA1 (1 << 16) +#define HWF_ARM_SHA2 (1 << 17) +#define HWF_ARM_PMULL (1 << 18) gpg_err_code_t _gcry_disable_hw_feature (const char *name); |