diff --git a/xbmc/platform/linux/CPUInfoLinux.cpp b/xbmc/platform/linux/CPUInfoLinux.cpp index a60051dcde92c..e5e6ac249f84c 100644 --- a/xbmc/platform/linux/CPUInfoLinux.cpp +++ b/xbmc/platform/linux/CPUInfoLinux.cpp @@ -13,6 +13,7 @@ #include "utils/Temperature.h" #include +#include #include #include @@ -182,6 +183,37 @@ CCPUInfoLinux::CCPUInfoLinux() m_cpuFeatures |= CPU_FEATURE_3DNOWEXT; } } +#else + std::ifstream cpuinfo("/proc/cpuinfo"); + std::regex re(".*: (.*)$"); + + for (std::string line; std::getline(cpuinfo, line);) + { + std::smatch match; + + if (std::regex_match(line, match, re)) + { + if (match.size() == 2) + { + std::ssub_match value = match[1]; + + if (line.find("model name") != std::string::npos) + m_cpuModel = value.str(); + + if (line.find("BogoMIPS") != std::string::npos) + m_cpuBogoMips = value.str(); + + if (line.find("Hardware") != std::string::npos) + m_cpuHardware = value.str(); + + if (line.find("Serial") != std::string::npos) + m_cpuSerial = value.str(); + + if (line.find("Revision") != std::string::npos) + m_cpuRevision = value.str(); + } + } + } #endif #if defined(HAS_NEON) && defined(__arm__)