/* XMRig * Copyright 2010 Jeff Garzik * Copyright 2012-2014 pooler * Copyright 2014 Lucas Jones * Copyright 2014-2016 Wolf9466 * Copyright 2016 Jay D Dee * Copyright 2017-2019 XMR-Stak , * Copyright 2018-2019 SChernykh * Copyright 2016-2019 XMRig * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #if __ARM_FEATURE_CRYPTO && !defined(__APPLE__) # include # include #endif #include "backend/cpu/platform/BasicCpuInfo.h" xmrig::BasicCpuInfo::BasicCpuInfo() : m_aes(false), m_brand(), m_avx2(false), m_threads(std::thread::hardware_concurrency()) { # ifdef XMRIG_ARMv8 memcpy(m_brand, "ARMv8", 5); # else memcpy(m_brand, "ARMv7", 5); # endif # if __ARM_FEATURE_CRYPTO # if !defined(__APPLE__) m_aes = getauxval(AT_HWCAP) & HWCAP_AES; # else m_aes = true; # endif # endif } const char *xmrig::BasicCpuInfo::backend() const { return "basic_arm"; } xmrig::CpuThreads xmrig::BasicCpuInfo::threads(const Algorithm &) const { return CpuThreads(threads()); }