diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-08-24 06:25:44 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-24 06:25:54 -0400 |
commit | 5f9ece02401116b29eb04396b99ea092acb75dd8 (patch) | |
tree | e10386e2dc63c275646b4eb0bed857da7bf86c6a /arch/x86/kernel/cpu/amd.c | |
parent | 9f51e24ee8b5a1595b6a5ac0c2be278a16488e75 (diff) | |
parent | 422bef879e84104fee6dc68ded0e371dbeb5f88e (diff) |
Merge commit 'v2.6.31-rc7' into x86/cleanups
Merge reason: we were on -rc1 before - go up to -rc7
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/cpu/amd.c')
-rw-r--r-- | arch/x86/kernel/cpu/amd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index c6eb02e69875..83b217c7225f 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c | |||
@@ -358,7 +358,7 @@ static void __cpuinit early_init_amd(struct cpuinfo_x86 *c) | |||
358 | #endif | 358 | #endif |
359 | #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PCI) | 359 | #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PCI) |
360 | /* check CPU config space for extended APIC ID */ | 360 | /* check CPU config space for extended APIC ID */ |
361 | if (c->x86 >= 0xf) { | 361 | if (cpu_has_apic && c->x86 >= 0xf) { |
362 | unsigned int val; | 362 | unsigned int val; |
363 | val = read_pci_config(0, 24, 0, 0x68); | 363 | val = read_pci_config(0, 24, 0, 0x68); |
364 | if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18))) | 364 | if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18))) |
@@ -402,6 +402,13 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c) | |||
402 | level = cpuid_eax(1); | 402 | level = cpuid_eax(1); |
403 | if ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58) | 403 | if ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58) |
404 | set_cpu_cap(c, X86_FEATURE_REP_GOOD); | 404 | set_cpu_cap(c, X86_FEATURE_REP_GOOD); |
405 | |||
406 | /* | ||
407 | * Some BIOSes incorrectly force this feature, but only K8 | ||
408 | * revision D (model = 0x14) and later actually support it. | ||
409 | */ | ||
410 | if (c->x86_model < 0x14) | ||
411 | clear_cpu_cap(c, X86_FEATURE_LAHF_LM); | ||
405 | } | 412 | } |
406 | if (c->x86 == 0x10 || c->x86 == 0x11) | 413 | if (c->x86 == 0x10 || c->x86 == 0x11) |
407 | set_cpu_cap(c, X86_FEATURE_REP_GOOD); | 414 | set_cpu_cap(c, X86_FEATURE_REP_GOOD); |