aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-01-11 01:50:38 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-01-11 01:50:38 -0800
commitc2cc6280f832dee7efff479a7938a8086d420522 (patch)
tree23330047fa855c48f48275b767a12e513267e635 /arch
parentf9e78f69a9e7649b668545aa4ee91559e01e571a (diff)
downloadhistory-c2cc6280f832dee7efff479a7938a8086d420522.tar.gz
[PATCH] x86_64: Don't sync APIC ARBs on P4s.
Merged from i386 Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/kernel/apic.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c
index cd37a0aa66f3e5..dbccec4894c0b1 100644
--- a/arch/x86_64/kernel/apic.c
+++ b/arch/x86_64/kernel/apic.c
@@ -225,6 +225,11 @@ int __init verify_local_APIC(void)
void __init sync_Arb_IDs(void)
{
+ /* Unsupported on P4 - see Intel Dev. Manual Vol. 3, Ch. 8.6.1 */
+ unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
+ if (ver >= 0x14) /* P4 or higher */
+ return;
+
/*
* Wait for idle.
*/