Commit b8a16e88 authored by Martin Wilck's avatar Martin Wilck Committed by Linus Torvalds

[PATCH] skip sync_arb_IDs on P4/Xeon

The "Synchronize Arbitration IDs with APIC IDs" IPI does not make sense
on Pentium 4 and Xeon because they don't have an APIC bus where
arbitration IDs would be needed. 

The Intel Developers manual (Vol.  3, Ch.  8.6.1) says this IPI is
unsupported on P4/Xeon.  Using it may, according to Intel, lead to
unpredictable results.
Signed-off-by: default avatarMartin Wilck <martin.wilck@fujitsu-siemens.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c9cb187f
...@@ -300,6 +300,10 @@ int __init verify_local_APIC(void) ...@@ -300,6 +300,10 @@ int __init verify_local_APIC(void)
void __init sync_Arb_IDs(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. * Wait for idle.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment