]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Add support for Arm V3_AE platform
authorPaul Elliott <paul.elliott@arm.com>
Thu, 25 Sep 2025 10:41:33 +0000 (11:41 +0100)
committerTomas Mraz <tomas@openssl.org>
Mon, 10 Nov 2025 20:19:04 +0000 (21:19 +0100)
Add cpu MIDR and ensure relevant optimisations are enabled.

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29044)

crypto/arm_arch.h
crypto/armcap.c

index 21bb0698f7b666df7a960008699124e07a64accf..fc780a7080a05538eaf5c467e8af4f84ab51cd22 100644 (file)
@@ -114,6 +114,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
 # define HISI_CPU_PART_KP920       0xD01
 # define ARM_CPU_PART_V2           0xD4F
 # define ARM_CPU_PART_N3           0xD8E
+# define ARM_CPU_PART_V3_AE        0xD83
 # define ARM_CPU_PART_V3           0xD84
 
 # define QCOM_CPU_PART_ORYON_X1    0x001
index e294b1d44cd3fb622ed5b803cb5528da628e646a..9831162244af7dbaa4121af1d1ffba74d17f83fd 100644 (file)
@@ -420,12 +420,14 @@ void OPENSSL_cpuid_setup(void)
          MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_COBALT_100) ||
          MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2) ||
          MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_N3) ||
+         MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V3_AE) ||
          MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V3) ||
          MIDR_IMPLEMENTER(OPENSSL_arm_midr) == ARM_CPU_IMP_AMPERE) &&
         (OPENSSL_armcap_P & ARMV8_SHA3))
         OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3;
     if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1) ||
          MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2) ||
+         MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V3_AE) ||
          MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V3) ||
          MIDR_IMPLEMENTER(OPENSSL_arm_midr) == ARM_CPU_IMP_AMPERE) &&
         (OPENSSL_armcap_P & ARMV8_SHA3))