From 7599c95dd79251d0337860a407b1e049a29cc0e6 Mon Sep 17 00:00:00 2001 From: mikael Date: Sun, 16 May 2021 11:10:24 +0200 Subject: [PATCH] Fix build on FreeBSD aarch64 --- src/backend/cpu/platform/BasicCpuInfo_arm.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/backend/cpu/platform/BasicCpuInfo_arm.cpp b/src/backend/cpu/platform/BasicCpuInfo_arm.cpp index 318928cd..4eb9864a 100644 --- a/src/backend/cpu/platform/BasicCpuInfo_arm.cpp +++ b/src/backend/cpu/platform/BasicCpuInfo_arm.cpp @@ -26,11 +26,14 @@ #include -#if __ARM_FEATURE_CRYPTO && !defined(__APPLE__) +#if __ARM_FEATURE_CRYPTO && !(defined(__APPLE__) || defined(__FreeBSD__)) # include # include #endif +#if defined (__FreeBSD__) +#include +#endif #include "backend/cpu/platform/BasicCpuInfo.h" #include "3rdparty/rapidjson/document.h" @@ -62,8 +65,14 @@ xmrig::BasicCpuInfo::BasicCpuInfo() : # endif # if __ARM_FEATURE_CRYPTO -# if !defined(__APPLE__) +# if !(defined(__APPLE__) || defined(__FreeBSD__)) m_flags.set(FLAG_AES, getauxval(AT_HWCAP) & HWCAP_AES); +# elif defined(__FreeBSD__) + uint64_t id_aa64isar0; + id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); + if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_BASE) { + m_flags.set(FLAG_AES, true); + } # else m_flags.set(FLAG_AES, true); # endif