diff options
author | David Carlier <devnexen@gmail.com> | 2021-01-09 14:17:29 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2021-01-14 08:31:03 +0000 |
commit | fc4ca443c7b999bb47bec6b8ea828973e3c4c7e1 (patch) | |
tree | 172dceda6ba5339fde755f939474232cc5a11443 | |
parent | 6e3ba20dc49ccbf12ff4c27a4d8b84dcbeb71654 (diff) |
OPENSSL_cpuid_setup FreeBSD PowerPC update
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13821)
(cherry picked from commit b57ec7394aace731c460b509aa84039274337600)
-rw-r--r-- | crypto/ppccap.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crypto/ppccap.c b/crypto/ppccap.c index b12cd949cc..1d62226965 100644 --- a/crypto/ppccap.c +++ b/crypto/ppccap.c @@ -214,6 +214,24 @@ size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t max) # endif #endif +#if defined(__FreeBSD__) +# include <sys/param.h> +# if __FreeBSD_version >= 1200000 +# include <sys/auxv.h> +# define OSSL_IMPLEMENT_GETAUXVAL + +static unsigned long getauxval(unsigned long key) +{ + unsigned long val = 0ul; + + if (elf_aux_info((int)key, &val, sizeof(val)) != 0) + return 0ul; + + return val; +} +# endif +#endif + /* I wish <sys/auxv.h> was universally available */ #define HWCAP 16 /* AT_HWCAP */ #define HWCAP_PPC64 (1U << 30) |