[PATCH] skip sync_arb_IDs on P4/Xeon
From: Martin Wilck
Date: Mon Oct 04 2004 - 10:50:46 EST
Hi,
I recently came across an Intel statement saying that the "INIT Level
deassert" IPI used by sync_arb_IDs() (arch/i386/kernel/apic.c) should
not be used on P4 and Xeon which don't have APIC bus arbitration anyway.
See Intel IA32 architecture software developers manual vol. 3, 8.6.1
(p.8-23), 8.7 (p. 8.31).
The patch below skips the unsupported IPI on P4/Xeon.
The same thing should probably be done for x86_64.
Regards,
Martin
--
Martin Wilck Phone: +49 5251 8 15113
Fujitsu Siemens Computers Fax: +49 5251 8 20409
Heinz-Nixdorf-Ring 1 mailto:Martin.Wilck@xxxxxxxxxxxxxxxxxxx
D-33106 Paderborn http://www.fujitsu-siemens.com/primergy
--- arch/i386/kernel/apic.c.orig 2004-10-04 14:54:27.000000000 +0200
+++ arch/i386/kernel/apic.c 2004-10-04 14:56:20.000000000 +0200
@@ -269,6 +269,9 @@ 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 */
+ if (boot_cpu_data.x86 == 15)
+ return;
/*
* Wait for idle.
*/