Merge pull request #6583 from lioncash/enum-class
CPUDetect: Make CPUVendor enum an enum class
This commit is contained in:
commit
9d1c4401e5
|
@ -57,7 +57,7 @@ void CPUInfo::Detect()
|
||||||
OS64bit = true;
|
OS64bit = true;
|
||||||
CPU64bit = true;
|
CPU64bit = true;
|
||||||
Mode64bit = true;
|
Mode64bit = true;
|
||||||
vendor = VENDOR_ARM;
|
vendor = CPUVendor::ARM;
|
||||||
|
|
||||||
// Get the information about the CPU
|
// Get the information about the CPU
|
||||||
num_cores = sysconf(_SC_NPROCESSORS_CONF);
|
num_cores = sysconf(_SC_NPROCESSORS_CONF);
|
||||||
|
|
|
@ -7,17 +7,17 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
enum CPUVendor
|
enum class CPUVendor
|
||||||
{
|
{
|
||||||
VENDOR_INTEL = 0,
|
Intel,
|
||||||
VENDOR_AMD = 1,
|
AMD,
|
||||||
VENDOR_ARM = 2,
|
ARM,
|
||||||
VENDOR_OTHER = 3,
|
Other,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CPUInfo
|
struct CPUInfo
|
||||||
{
|
{
|
||||||
CPUVendor vendor = VENDOR_INTEL;
|
CPUVendor vendor = CPUVendor::Intel;
|
||||||
|
|
||||||
char cpu_string[0x41] = {};
|
char cpu_string[0x41] = {};
|
||||||
char brand_string[0x21] = {};
|
char brand_string[0x21] = {};
|
||||||
|
|
|
@ -84,11 +84,11 @@ void CPUInfo::Detect()
|
||||||
__cpuid(cpu_id, 0x80000000);
|
__cpuid(cpu_id, 0x80000000);
|
||||||
u32 max_ex_fn = cpu_id[0];
|
u32 max_ex_fn = cpu_id[0];
|
||||||
if (!strcmp(brand_string, "GenuineIntel"))
|
if (!strcmp(brand_string, "GenuineIntel"))
|
||||||
vendor = VENDOR_INTEL;
|
vendor = CPUVendor::Intel;
|
||||||
else if (!strcmp(brand_string, "AuthenticAMD"))
|
else if (!strcmp(brand_string, "AuthenticAMD"))
|
||||||
vendor = VENDOR_AMD;
|
vendor = CPUVendor::AMD;
|
||||||
else
|
else
|
||||||
vendor = VENDOR_OTHER;
|
vendor = CPUVendor::Other;
|
||||||
|
|
||||||
// Set reasonable default brand string even if brand string not available.
|
// Set reasonable default brand string even if brand string not available.
|
||||||
strcpy(cpu_string, brand_string);
|
strcpy(cpu_string, brand_string);
|
||||||
|
@ -198,7 +198,7 @@ void CPUInfo::Detect()
|
||||||
if (ht)
|
if (ht)
|
||||||
{
|
{
|
||||||
// New mechanism for modern Intel CPUs.
|
// New mechanism for modern Intel CPUs.
|
||||||
if (vendor == VENDOR_INTEL)
|
if (vendor == CPUVendor::Intel)
|
||||||
{
|
{
|
||||||
__cpuidex(cpu_id, 0x00000004, 0x00000000);
|
__cpuidex(cpu_id, 0x00000004, 0x00000000);
|
||||||
int cores_x_package = ((cpu_id[0] >> 26) & 0x3F) + 1;
|
int cores_x_package = ((cpu_id[0] >> 26) & 0x3F) + 1;
|
||||||
|
|
Loading…
Reference in New Issue