Added RxMsr class.
This commit is contained in:
@@ -55,6 +55,24 @@ std::shared_ptr<xmrig::Msr> xmrig::Msr::get()
|
||||
}
|
||||
|
||||
|
||||
bool xmrig::Msr::write(uint32_t reg, uint64_t value, int32_t cpu, uint64_t mask, bool verbose)
|
||||
{
|
||||
if (mask != MsrItem::kNoMask) {
|
||||
uint64_t old_value;
|
||||
if (rdmsr(reg, cpu, old_value)) {
|
||||
value = MsrItem::maskedValue(old_value, value, mask);
|
||||
}
|
||||
}
|
||||
|
||||
const bool result = wrmsr(reg, value, cpu);
|
||||
if (!result && verbose) {
|
||||
LOG_WARN("%s " YELLOW_BOLD("cannot set MSR 0x%08" PRIx32 " to 0x%016" PRIx64), tag(), reg, value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
xmrig::MsrItem xmrig::Msr::read(uint32_t reg, int32_t cpu, bool verbose) const
|
||||
{
|
||||
uint64_t value = 0;
|
||||
|
||||
Reference in New Issue
Block a user