Added basic system reader.

This commit is contained in:
XMRig 2021-01-20 00:43:01 +07:00
parent 24c290963a
commit dea5be0a57
No known key found for this signature in database
GPG key ID: 446A53638BE94409
4 changed files with 13 additions and 4 deletions

View file

@ -142,6 +142,8 @@ static void print_memory()
return;
}
const bool vm = Cpu::info()->isVM();
for (const auto &memory : reader.memory()) {
if (!memory.isValid()) {
continue;
@ -151,12 +153,14 @@ static void print_memory()
Log::print(WHITE_BOLD(" %-13s") "%s: " CYAN_BOLD("%" PRIu64) CYAN(" GB ") WHITE_BOLD("%s @ %" PRIu64 " MHz ") BLACK_BOLD("%s"),
"", memory.slot().data(), memory.size() / oneGiB, memory.type(), memory.speed() / 1000000ULL, memory.product().data());
}
else if (!Cpu::info()->isVM()) {
else if (!vm) {
Log::print(WHITE_BOLD(" %-13s") "%s: " BLACK_BOLD("<empty>"), "", memory.slot().data());
}
}
if (reader.board().isValid()) {
const auto &board = vm ? reader.system() : reader.board();
if (board.isValid()) {
Log::print(GREEN_BOLD(" * ") WHITE_BOLD("%-13s") WHITE_BOLD("%s") " - " WHITE_BOLD("%s"), "MOTHERBOARD", reader.board().vendor().data(), reader.board().product().data());
}
# endif

View file

@ -23,7 +23,6 @@
#include "hw/dmi/DmiTools.h"
void xmrig::DmiBoard::decode(dmi_header *h)
{
if (h->length < 0x08) {

View file

@ -82,6 +82,10 @@ bool xmrig::DmiReader::decode(uint8_t *buf)
}
switch (h.type) {
case 1:
m_system.decode(&h);
break;
case 2:
m_board.decode(&h);
break;

View file

@ -38,6 +38,7 @@ public:
DmiReader() = default;
inline const DmiBoard &board() const { return m_board; }
inline const DmiBoard &system() const { return m_system; }
inline const std::vector<DmiMemory> &memory() const { return m_memory; }
inline uint32_t size() const { return m_size; }
inline uint32_t version() const { return m_version; }
@ -51,9 +52,10 @@ private:
bool decode(uint8_t *buf);
DmiBoard m_board;
DmiBoard m_system;
std::vector<DmiMemory> m_memory;
uint32_t m_size = 0;
uint32_t m_version = 0;
std::vector<DmiMemory> m_memory;
};