diff options
author | Yinghai Lu <yhlu.kernel.send@gmail.com> | 2008-03-25 02:24:34 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:41:20 -0400 |
commit | 9307cacad0dfe3749f00303125c6f7f0523e5616 (patch) | |
tree | bc28bf08dc18dacbb2654a9a368f4e09c580dfab /arch/x86/kernel/setup_64.c | |
parent | a7c7d0e91daebd7c5e51f9416d612b6a15e7e79a (diff) |
x86: pat cpu feature bit setting for known cpus
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup_64.c')
-rw-r--r-- | arch/x86/kernel/setup_64.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 20034493b5ad..c6fe1e4bc7c2 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c | |||
@@ -962,12 +962,19 @@ static void __cpuinit early_identify_cpu(struct cpuinfo_x86 *c) | |||
962 | if (c->extended_cpuid_level >= 0x80000007) | 962 | if (c->extended_cpuid_level >= 0x80000007) |
963 | c->x86_power = cpuid_edx(0x80000007); | 963 | c->x86_power = cpuid_edx(0x80000007); |
964 | 964 | ||
965 | |||
966 | clear_cpu_cap(c, X86_FEATURE_PAT); | ||
967 | |||
965 | switch (c->x86_vendor) { | 968 | switch (c->x86_vendor) { |
966 | case X86_VENDOR_AMD: | 969 | case X86_VENDOR_AMD: |
967 | early_init_amd(c); | 970 | early_init_amd(c); |
971 | if (c->x86 >= 0xf && c->x86 <= 0x11) | ||
972 | set_cpu_cap(c, X86_FEATURE_PAT); | ||
968 | break; | 973 | break; |
969 | case X86_VENDOR_INTEL: | 974 | case X86_VENDOR_INTEL: |
970 | early_init_intel(c); | 975 | early_init_intel(c); |
976 | if (c->x86 == 0xF || (c->x86 == 6 && c->x86_model >= 15)) | ||
977 | set_cpu_cap(c, X86_FEATURE_PAT); | ||
971 | break; | 978 | break; |
972 | } | 979 | } |
973 | 980 | ||