Fix x86 cpu_phys_address_size
authorKyösti Mälkki <kyosti.malkki@gmail.com>
Wed, 29 Feb 2012 19:17:18 +0000 (21:17 +0200)
committerSven Schnelle <svens@stackframe.org>
Wed, 29 Feb 2012 19:58:14 +0000 (20:58 +0100)
After CPUID, requested feature flag is in edx, not eax.

Change-Id: I9ce27c22186f17cc64986be342d7d1ac78a79898
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/688
Tested-by: build bot (Jenkins)
Reviewed-by: Sven Schnelle <svens@stackframe.org>
src/arch/x86/lib/cpu.c

index ada57e22fe3cffc9777e27c09571790f6795639d..8aacaac1962f107a0de6a9a990e08c28365be7d4 100644 (file)
@@ -147,7 +147,7 @@ int cpu_phys_address_size(void)
        if (cpu_cpuid_extended_level() >= 0x80000008)
                return cpuid_eax(0x80000008) & 0xff;
 
-       if (cpuid_eax(1) & (CPUID_FEATURE_PAE | CPUID_FEATURE_PSE36))
+       if (cpuid_edx(1) & (CPUID_FEATURE_PAE | CPUID_FEATURE_PSE36))
                return 36;
        return 32;
 }