From 3910cf9e6901214ded3e959a1c7e7b116ccc3dc9 Mon Sep 17 00:00:00 2001 From: XMRig Date: Sun, 1 Nov 2020 12:06:35 +0700 Subject: [PATCH] Added vendor to ARM CPUs name and added "arch" field. --- src/backend/cpu/platform/BasicCpuInfo.cpp | 17 +++++++++-------- src/backend/cpu/platform/BasicCpuInfo_arm.cpp | 10 ++++++++-- src/backend/cpu/platform/lscpu_arm.cpp | 12 +++++++----- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/backend/cpu/platform/BasicCpuInfo.cpp b/src/backend/cpu/platform/BasicCpuInfo.cpp index dac1a4fa..00422af0 100644 --- a/src/backend/cpu/platform/BasicCpuInfo.cpp +++ b/src/backend/cpu/platform/BasicCpuInfo.cpp @@ -1,12 +1,7 @@ /* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2019 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig + * Copyright (c) 2017-2019 XMR-Stak , + * Copyright (c) 2018-2020 SChernykh + * Copyright (c) 2016-2020 XMRig * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -337,6 +332,12 @@ rapidjson::Value xmrig::BasicCpuInfo::toJSON(rapidjson::Document &doc) const out.AddMember("assembly", "none", allocator); # endif +# if defined(__x86_64__) || defined(_M_AMD64) + out.AddMember("arch", "x86_64", allocator); +# else + out.AddMember("arch", "x86", allocator); +# endif + Value flags(kArrayType); for (size_t i = 0; i < flagNames.size(); ++i) { diff --git a/src/backend/cpu/platform/BasicCpuInfo_arm.cpp b/src/backend/cpu/platform/BasicCpuInfo_arm.cpp index b35fdf68..41e8d2f4 100644 --- a/src/backend/cpu/platform/BasicCpuInfo_arm.cpp +++ b/src/backend/cpu/platform/BasicCpuInfo_arm.cpp @@ -1,6 +1,6 @@ /* XMRig - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig + * Copyright (c) 2018-2020 SChernykh + * Copyright (c) 2016-2020 XMRig * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -103,6 +103,12 @@ rapidjson::Value xmrig::BasicCpuInfo::toJSON(rapidjson::Document &doc) const out.AddMember("msr", "none", allocator); out.AddMember("assembly", "none", allocator); +# ifdef XMRIG_ARMv8 + out.AddMember("arch", "aarch64", allocator); +# else + out.AddMember("arch", "aarch32", allocator); +# endif + Value flags(kArrayType); if (hasAES()) { diff --git a/src/backend/cpu/platform/lscpu_arm.cpp b/src/backend/cpu/platform/lscpu_arm.cpp index 60349d52..2aa4b12a 100644 --- a/src/backend/cpu/platform/lscpu_arm.cpp +++ b/src/backend/cpu/platform/lscpu_arm.cpp @@ -1,7 +1,7 @@ /* XMRig - * Copyright 2018 Riku Voipio - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig + * Copyright (c) 2018 Riku Voipio + * Copyright (c) 2018-2020 SChernykh + * Copyright (c) 2016-2020 XMRig * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,6 +19,7 @@ #include "base/tools/String.h" +#include "3rdparty/fmt/core.h" #include @@ -289,7 +290,8 @@ static bool arm_cpu_decode(lscpu_desc *desc) for (size_t i = 0; impl.parts[i].id != -1; ++i) { if (impl.parts[i].id == model) { - desc->model = impl.parts[i].name; + desc->vendor = impl.name; + desc->model = impl.parts[i].name; return true; } @@ -304,7 +306,7 @@ String cpu_name_arm() { lscpu_desc desc; if (read_basicinfo(&desc) && arm_cpu_decode(&desc)) { - return desc.model; + return fmt::format("{} {}", desc.vendor, desc.model).c_str(); } return {};