Merge of xmrig v6.5.3

This commit is contained in:
MoneroOcean 2020-11-15 17:25:37 +00:00
commit 2a6e64ca7d
6 changed files with 24 additions and 5 deletions

View file

@ -47,6 +47,7 @@ if (WITH_HWLOC)
src/backend/cpu/platform/HwlocCpuInfo.h
)
elseif (WITH_LIBCPUID)
message(WARNING, "libcpuid support is deprecated and will be removed in future versions.")
set(WITH_HWLOC OFF)
add_subdirectory(src/3rdparty/libcpuid)

View file

@ -55,6 +55,8 @@ public:
MSR_MOD_MAX
};
# define MSR_NAMES_LIST "none", "ryzen_17h", "ryzen_19h", "intel", "custom"
enum Flag : uint32_t {
FLAG_AES,
FLAG_AVX2,

View file

@ -52,8 +52,16 @@
namespace xmrig {
static const std::array<const char *, ICpuInfo::FLAG_MAX> flagNames = { "aes", "avx2", "avx512f", "bmi2", "osxsave", "pdpe1gb", "sse2", "ssse3", "sse4.1", "xop", "popcnt", "cat_l3" };
static const std::array<const char *, ICpuInfo::MSR_MOD_MAX> msrNames = { "none", "ryzen", "intel", "custom" };
constexpr size_t kCpuFlagsSize = 12;
static const std::array<const char *, kCpuFlagsSize> flagNames = { "aes", "avx2", "avx512f", "bmi2", "osxsave", "pdpe1gb", "sse2", "ssse3", "sse4.1", "xop", "popcnt", "cat_l3" };
static_assert(kCpuFlagsSize == ICpuInfo::FLAG_MAX, "kCpuFlagsSize and FLAG_MAX mismatch");
#ifdef XMRIG_FEATURE_MSR
constexpr size_t kMsrArraySize = 5;
static const std::array<const char *, kMsrArraySize> msrNames = { MSR_NAMES_LIST };
static_assert(kMsrArraySize == ICpuInfo::MSR_MOD_MAX, "kMsrArraySize and MSR_MOD_MAX mismatch");
#endif
static inline void cpuid(uint32_t level, int32_t output[4])
@ -353,7 +361,12 @@ rapidjson::Value xmrig::BasicCpuInfo::toJSON(rapidjson::Document &doc) const
out.AddMember("packages", static_cast<uint64_t>(packages()), allocator);
out.AddMember("nodes", static_cast<uint64_t>(nodes()), allocator);
out.AddMember("backend", StringRef(backend()), allocator);
# ifdef XMRIG_FEATURE_MSR
out.AddMember("msr", StringRef(msrNames[msrMod()]), allocator);
# else
out.AddMember("msr", "none", allocator);
# endif
# ifdef XMRIG_FEATURE_ASM
out.AddMember("assembly", StringRef(Assembly(assembly()).toString()), allocator);