123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- From 577ae0352d191fa604f861ea2f0847e7c5eda617 Mon Sep 17 00:00:00 2001
- From: Frank Denis <github@pureftpd.org>
- Date: Wed, 1 Jul 2020 22:51:43 +0200
- Subject: [PATCH] Add support for Apple silicon
- [Retrieved from:
- https://github.com/angt/aegis256/commit/577ae0352d191fa604f861ea2f0847e7c5eda617]
- Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
- ---
- aegis256.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
- diff --git a/mud/aegis256/aegis256.c b/mud/aegis256/aegis256.c
- index 9a580bf..75a772c 100644
- --- a/mud/aegis256/aegis256.c
- +++ b/mud/aegis256/aegis256.c
- @@ -36,7 +36,7 @@ typedef __m128i x128;
- #define store128(X,Y) _mm_storeu_si128((x128 *)(X), (Y))
- #define set2x64(X,Y) _mm_set_epi64x((long long)(X), (long long)(Y))
-
- -#elif defined(__linux__) && (defined(__ARM_NEON_FP) || defined(__aarch64__))
- +#elif (defined(__APPLE__) || defined(__linux__)) && (defined(__ARM_NEON_FP) || defined(__aarch64__))
-
- #ifdef __clang__
- #pragma clang attribute push (__attribute__((target("crypto"))),apply_to=function)
- @@ -48,7 +48,9 @@ typedef __m128i x128;
- #endif
-
- #ifdef __ARM_FEATURE_CRYPTO
- +#ifdef __linux__
- #include <sys/auxv.h>
- +#endif
- #include <arm_neon.h>
-
- typedef uint8x16_t x128;
- @@ -62,11 +64,15 @@ typedef uint8x16_t x128;
- int
- aegis256_is_available(void)
- {
- +#ifdef __linux__
- return (getauxval(AT_HWCAP) & HWCAP_AES)
- #ifdef HWCAP2_AES
- || (getauxval(AT_HWCAP2) & HWCAP2_AES)
- #endif
- ;
- +#else // __APPLE__
- + return 1;
- +#endif
- }
-
- #endif // __ARM_FEATURE_CRYPTO
|