X86: fix cpu_phys_address_size()
CPUs with CPUID level >= 0x80000008 can return the number of physical address bits. Change-Id: I1c0523b6a091c476af838d173ed9030280360d7f Signed-off-by: Sven Schnelle <svens@stackframe.org> Reviewed-on: http://review.coreboot.org/599 Tested-by: build bot (Jenkins)
This commit is contained in:
parent
bba0346ef5
commit
7363ca35f0
|
@ -144,7 +144,7 @@ int cpu_phys_address_size(void)
|
||||||
if (!(have_cpuid_p()))
|
if (!(have_cpuid_p()))
|
||||||
return 32;
|
return 32;
|
||||||
|
|
||||||
if (cpu_cpuid_extended_level() > 0x80000008)
|
if (cpu_cpuid_extended_level() >= 0x80000008)
|
||||||
return cpuid_eax(0x80000008) & 0xff;
|
return cpuid_eax(0x80000008) & 0xff;
|
||||||
|
|
||||||
if (cpuid_eax(1) & (CPUID_FEATURE_PAE | CPUID_FEATURE_PSE36))
|
if (cpuid_eax(1) & (CPUID_FEATURE_PAE | CPUID_FEATURE_PSE36))
|
||||||
|
|
Loading…
Reference in New Issue