Added support for AMD specific MSR registers.

This commit is contained in:
XMRig 2019-12-11 19:37:13 +07:00
parent 4fb3086c1c
commit de7ed2b968
No known key found for this signature in database
GPG key ID: 446A53638BE94409
2 changed files with 10 additions and 4 deletions

View file

@ -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;
}
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());
}
}

View file

@ -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"