]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commit
[PATCH] x86: convert bigsmp to use flat physical mode
authorAshok Raj <ashok.raj@intel.com>
Fri, 6 Jan 2006 08:12:08 +0000 (00:12 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:33:37 +0000 (08:33 -0800)
commit1855a2c4ce708b823b8b824f8b12937b45f5462a
tree2aeed2e32d792652e43ae086d2522210715c9992
parentc898ec16e83331abde39118e22e9e38335bbb950
[PATCH] x86: convert bigsmp to use flat physical mode

When we bring up a new CPU via INIT/startup IPI messages, the CPU that's
coming up sends a xTPR message to the chipset.  Intel chipsets (at least)
don't provide any architectural guarantee on what the chipset will do with
this message.  For example, the E850x chipsets uses this xTPR message to
interpret the interrupt operating mode of the platform.  When the CPU
coming online sends this message, it always indicates that it is in logical
flat mode.  For the CPU hotplug case, the platform may already be
functioning in cluster APIC mode at this time, the chipset can get confused
and mishandle I/O device and IPI interrupt routing.

The situation eventually gets corrected when the new CPU sends another xTPR
update when we switch it to cluster mode, but there's a window during which
the chipset may be in an inconsistent state.  This patch avoids this
problem by using the flat physical interrupt delivery mode instead of
cluster mode for bigsmp (>8 cpu) support.

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-i386/mach-bigsmp/mach_apic.h
include/asm-i386/mach-bigsmp/mach_apicdef.h