diff --git a/src/crypto/rx/Rx_linux.cpp b/src/crypto/rx/Rx_linux.cpp index a513d38aa..df39b78bf 100644 --- a/src/crypto/rx/Rx_linux.cpp +++ b/src/crypto/rx/Rx_linux.cpp @@ -88,7 +88,7 @@ static bool wrmsr_on_all_cpus(uint32_t reg, uint64_t value) free(namelist); if (errors) { - LOG_WARN(CLEAR "%s" YELLOW_BOLD_S "cannot set MSR 0x%04" PRIx32 " to 0x%04" PRIx64, rx_tag(), reg, value); + LOG_WARN(CLEAR "%s" YELLOW_BOLD_S "cannot set MSR 0x%08" PRIx32 " to 0x%08" PRIx64, rx_tag(), reg, value); } return errors == 0; @@ -100,7 +100,7 @@ static bool wrmsr_on_all_cpus(uint32_t reg, uint64_t value) void xmrig::Rx::osInit(const RxConfig &config) { - if (config.wrmsr() < 0 || Cpu::info()->vendor() != ICpuInfo::VENDOR_INTEL) { + if (config.wrmsr() < 0) { return; } @@ -110,5 +110,11 @@ void xmrig::Rx::osInit(const RxConfig &config) return; } - wrmsr_on_all_cpus(0x1a4, config.wrmsr()); + if (Cpu::info()->vendor() == ICpuInfo::VENDOR_AMD) { + wrmsr_on_all_cpus(0xC0011022, 0x510000); + wrmsr_on_all_cpus(0xC001102b, 0x1808cc16); + } + else if (Cpu::info()->vendor() == ICpuInfo::VENDOR_INTEL) { + wrmsr_on_all_cpus(0x1a4, config.wrmsr()); + } } diff --git a/src/version.h b/src/version.h index a17ed41ee..ef7efff7c 100644 --- a/src/version.h +++ b/src/version.h @@ -28,7 +28,7 @@ #define APP_ID "xmrig" #define APP_NAME "XMRig" #define APP_DESC "XMRig miner" -#define APP_VERSION "5.2.1" +#define APP_VERSION "5.2.1-dev" #define APP_DOMAIN "xmrig.com" #define APP_SITE "www.xmrig.com" #define APP_COPYRIGHT "Copyright (C) 2016-2019 xmrig.com"