Changeset View
Changeset View
Standalone View
Standalone View
crypto/openssl/crypto/armcap.c
Show First 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | |||||
# include <sys/auxv.h> | # include <sys/auxv.h> | ||||
# define OSSL_IMPLEMENT_GETAUXVAL | # define OSSL_IMPLEMENT_GETAUXVAL | ||||
# endif | # endif | ||||
/* | /* | ||||
* ARM puts the feature bits for Crypto Extensions in AT_HWCAP2, whereas | * ARM puts the feature bits for Crypto Extensions in AT_HWCAP2, whereas | ||||
* AArch64 used AT_HWCAP. | * AArch64 used AT_HWCAP. | ||||
*/ | */ | ||||
# if defined(__arm__) || defined (__arm) | # if defined(__arm__) || defined (__arm) | ||||
jhb: I would be tempted to stick these fallbacks under an #ifdef __linux. | |||||
# if defined(__FreeBSD__) | |||||
# define HWCAP AT_HWCAP | |||||
# else | |||||
# define HWCAP 16 | # define HWCAP 16 | ||||
/* AT_HWCAP */ | /* AT_HWCAP */ | ||||
# endif | |||||
# define HWCAP_NEON (1 << 12) | # define HWCAP_NEON (1 << 12) | ||||
# define HWCAP_CE 26 | # define HWCAP_CE 26 | ||||
impUnsubmitted Not Done Inline ActionsI think this should be AT_HWCAP2 on FreeBSD imp: I think this should be AT_HWCAP2 on FreeBSD | |||||
/* AT_HWCAP2 */ | /* AT_HWCAP2 */ | ||||
# define HWCAP_CE_AES (1 << 0) | # define HWCAP_CE_AES (1 << 0) | ||||
# define HWCAP_CE_PMULL (1 << 1) | # define HWCAP_CE_PMULL (1 << 1) | ||||
# define HWCAP_CE_SHA1 (1 << 2) | # define HWCAP_CE_SHA1 (1 << 2) | ||||
# define HWCAP_CE_SHA256 (1 << 3) | # define HWCAP_CE_SHA256 (1 << 3) | ||||
# elif defined(__aarch64__) | # elif defined(__aarch64__) | ||||
# if defined(__FreeBSD__) | |||||
# define HWCAP AT_HWCAP | |||||
# else | |||||
# define HWCAP 16 | # define HWCAP 16 | ||||
/* AT_HWCAP */ | /* AT_HWCAP */ | ||||
# endif | |||||
# define HWCAP_NEON (1 << 1) | # define HWCAP_NEON (1 << 1) | ||||
# define HWCAP_CE HWCAP | # define HWCAP_CE HWCAP | ||||
# define HWCAP_CE_AES (1 << 3) | # define HWCAP_CE_AES (1 << 3) | ||||
# define HWCAP_CE_PMULL (1 << 4) | # define HWCAP_CE_PMULL (1 << 4) | ||||
# define HWCAP_CE_SHA1 (1 << 5) | # define HWCAP_CE_SHA1 (1 << 5) | ||||
# define HWCAP_CE_SHA256 (1 << 6) | # define HWCAP_CE_SHA256 (1 << 6) | ||||
# define HWCAP_CE_SHA512 (1 << 21) | # define HWCAP_CE_SHA512 (1 << 21) | ||||
▲ Show 20 Lines • Show All 116 Lines • Show Last 20 Lines |
I would be tempted to stick these fallbacks under an #ifdef __linux.