Also detect Armv8.2 SHA-512 extensions on FreeBSD. A small follow-up to https://boringssl-review.googlesource.com/c/boringssl/+/54105, to bring it up to feature parity with the other aarch64 backends. ID_AA64ISAR0_SHA2_512 seems to be present in FreeBSD 12.0, so I don't believe this needs any compatibility ifdefs. Bug: 505 Change-Id: I44891cf635adfd2ae26d4113fdc910549cf89193 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/54725 Auto-Submit: David Benjamin <davidben@google.com> Commit-Queue: Bob Beck <bbe@google.com> Reviewed-by: Robert Clausecker <fuzxxl@gmail.com> Reviewed-by: Bob Beck <bbe@google.com>
diff --git a/crypto/cpu_aarch64_freebsd.c b/crypto/cpu_aarch64_freebsd.c index 462a0be..42d8afa 100644 --- a/crypto/cpu_aarch64_freebsd.c +++ b/crypto/cpu_aarch64_freebsd.c
@@ -54,6 +54,9 @@ if (ID_AA64ISAR0_SHA2_VAL(id_aa64isar0) >= ID_AA64ISAR0_SHA2_BASE) { OPENSSL_armcap_P |= ARMV8_SHA256; } + if (ID_AA64ISAR0_SHA2_VAL(id_aa64isar0) >= ID_AA64ISAR0_SHA2_512) { + OPENSSL_armcap_P |= ARMV8_SHA512; + } } #endif // OPENSSL_AARCH64 && OPENSSL_FREEBSD && !OPENSSL_STATIC_ARMCAP