mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 02:03:35 +08:00
Correct Intel processor level type mask from CPUID
Intel CPUID with EAX == 11 returns: ECX Bits 07 - 00: Level number. Same value in ECX input. Bits 15 - 08: Level type. ^^^^^^^^^^^^^^^^^^^^^^^^ This is level type. Bits 31 - 16: Reserved. Intel processor level type mask should be 0xff00, not 0xff0. [BZ #20119] * sysdeps/x86/cacheinfo.c (init_cacheinfo): Correct Intel processor level type mask for CPUID with EAX == 11.
This commit is contained in:
parent
7c08d791ee
commit
de71e0421b
@ -1,3 +1,9 @@
|
||||
2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
[BZ #20119]
|
||||
* sysdeps/x86/cacheinfo.c (init_cacheinfo): Correct Intel
|
||||
processor level type mask for CPUID with EAX == 11.
|
||||
|
||||
2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/x86/cacheinfo.c (init_cacheinfo): Skip counting
|
||||
|
@ -552,7 +552,7 @@ init_cacheinfo (void)
|
||||
__cpuid_count (11, i++, eax, ebx, ecx, edx);
|
||||
|
||||
int shipped = ebx & 0xff;
|
||||
int type = ecx & 0xff0;
|
||||
int type = ecx & 0xff00;
|
||||
if (shipped == 0 || type == 0)
|
||||
break;
|
||||
else if (type == 0x200)
|
||||
|
Loading…
Reference in New Issue
Block a user