diff options
author | Andreas Herrmann <andreas.herrmann3@amd.com> | 2008-06-10 10:05:18 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-12 04:14:22 -0400 |
commit | 97cfab6ac4ddfda0d722393bbf46cc40bc332107 (patch) | |
tree | 699f95483b968bfad891bca59ad46f74949543bc /arch/x86/mm/pat.c | |
parent | ee863ba7ab3d3ed8a9585d378aae69d1e3e9f1b4 (diff) |
x86: PAT: fix ambiguous paranoia check in pat_init()
Starting with commit 8d4a4300854f3971502e81dacd930704cb88f606 (x86:
cleanup PAT cpu validation) the PAT CPU feature flag is not cleared
anymore. Now the error message
"PAT enabled, but CPU feature cleared"
in pat_init() is misleading.
Furthermore the current code does not check for existence of the PAT
CPU feature flag if a CPU is whitelisted in validate_pat_support.
This patch clears pat_wc_enabled if boot CPU has no PAT feature flag
and adapts the paranoia check.
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/pat.c')
-rw-r--r-- | arch/x86/mm/pat.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 320d644a8107..65105b1195a3 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
@@ -76,14 +76,15 @@ void pat_init(void) | |||
76 | return; | 76 | return; |
77 | 77 | ||
78 | /* Paranoia check. */ | 78 | /* Paranoia check. */ |
79 | if (!cpu_has_pat) { | 79 | if (!cpu_has_pat && boot_pat_state) { |
80 | printk(KERN_ERR "PAT enabled, but CPU feature cleared\n"); | ||
81 | /* | 80 | /* |
82 | * Panic if this happens on the secondary CPU, and we | 81 | * If this happens we are on a secondary CPU, but |
83 | * switched to PAT on the boot CPU. We have no way to | 82 | * switched to PAT on the boot CPU. We have no way to |
84 | * undo PAT. | 83 | * undo PAT. |
85 | */ | 84 | */ |
86 | BUG_ON(boot_pat_state); | 85 | printk(KERN_ERR "PAT enabled, " |
86 | "but not supported by secondary CPU\n"); | ||
87 | BUG(); | ||
87 | } | 88 | } |
88 | 89 | ||
89 | /* Set PWT to Write-Combining. All other bits stay the same */ | 90 | /* Set PWT to Write-Combining. All other bits stay the same */ |