1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2024-11-10 22:59:13 +00:00

Disable cpuid_identify_purpose_amd()

Related to #187
This commit is contained in:
The Tumultuous Unicorn Of Darkness 2023-04-01 18:08:42 +02:00
parent 3bcb6fb72b
commit 52dbcb0493
No known key found for this signature in database
GPG key ID: 1E55EE2EFF18BC1A

View file

@ -649,6 +649,10 @@ void cpuid_get_list_amd(struct cpu_list_t* list)
cpu_purpose_t cpuid_identify_purpose_amd(struct cpu_raw_data_t* raw) cpu_purpose_t cpuid_identify_purpose_amd(struct cpu_raw_data_t* raw)
{ {
//FIXME: ext_cpuid[0x26] => index 38 is past the end of the array (which contains 32 elements)
//TODO: leaf CPUID_Fn80000026 needs to be added in cpu_raw_data_t
(void)(raw);
#if 0
/* Check for hybrid architecture /* Check for hybrid architecture
From Processor Programming Reference (PPR) for AMD Family 19h Model 70h, Revision A0 Processors From Processor Programming Reference (PPR) for AMD Family 19h Model 70h, Revision A0 Processors
Available at https://www.amd.com/system/files/TechDocs/57019-A0-PUB_3.00.zip Available at https://www.amd.com/system/files/TechDocs/57019-A0-PUB_3.00.zip
@ -659,7 +663,6 @@ cpu_purpose_t cpuid_identify_purpose_amd(struct cpu_raw_data_t* raw)
- CPUID_Fn80000026_EBX [Extended CPU Topology][31:28] is CoreType. - CPUID_Fn80000026_EBX [Extended CPU Topology][31:28] is CoreType.
Only valid while LevelType=Core. Only valid while LevelType=Core.
*/ */
//FIXME: leaf CPUID_Fn80000026 needs to be added in cpu_raw_data_t
if (EXTRACTS_BITS(raw->ext_cpuid[0x26][ECX], 15, 8) == 0x1) { if (EXTRACTS_BITS(raw->ext_cpuid[0x26][ECX], 15, 8) == 0x1) {
debugf(3, "Detected AMD CPU hybrid architecture\n"); debugf(3, "Detected AMD CPU hybrid architecture\n");
switch (EXTRACTS_BITS(raw->ext_cpuid[0x26][EBX], 31, 28)) { switch (EXTRACTS_BITS(raw->ext_cpuid[0x26][EBX], 31, 28)) {
@ -668,6 +671,6 @@ cpu_purpose_t cpuid_identify_purpose_amd(struct cpu_raw_data_t* raw)
default: return PURPOSE_GENERAL; default: return PURPOSE_GENERAL;
} }
} }
#endif
return PURPOSE_GENERAL; return PURPOSE_GENERAL;
} }