kernel-ark/include/asm-i386
Ashok Raj 1855a2c4ce [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>
2006-01-06 08:33:37 -08:00
..
mach-bigsmp [PATCH] x86: convert bigsmp to use flat physical mode 2006-01-06 08:33:37 -08:00
mach-default [PATCH] x86_64: Reduce number of retries for reset through keyboard controller 2005-11-14 19:55:16 -08:00
mach-es7000 [PATCH] ES7000 platform update 2005-10-30 17:37:12 -08:00
mach-generic
mach-numaq
mach-summit [PATCH] USB: Always do usb-handoff 2005-10-28 16:47:49 -07:00
mach-visws Revert "i386: move apic init in init_IRQs" 2005-10-31 19:16:17 -08:00
mach-voyager
8253pit.h
a.out.h
acpi.h
agp.h
apic.h Revert "i386: move apic init in init_IRQs" 2005-10-31 19:16:17 -08:00
apicdef.h
arch_hooks.h
atomic.h [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bitops.h [PATCH] x86: handle -Wsign-compare in bitops 2006-01-06 08:33:36 -08:00
boot.h
bug.h
bugs.h [PATCH] i386: move SIMD initialization 2006-01-06 08:33:34 -08:00
byteorder.h
cache.h
cacheflush.h [PATCH] x86/x86_64: mark rodata section read only: x86 parts 2006-01-06 08:33:36 -08:00
checksum.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h [PATCH] x86: GDT alignment fix 2006-01-06 08:33:33 -08:00
div64.h [PATCH] include/asm-i386/: "extern inline" -> "static inline" 2005-09-10 10:06:34 -07:00
dma-mapping.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dma.h
e820.h
elf.h [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
emergency-restart.h
errno.h
fcntl.h [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
fixmap.h
floppy.h
futex.h [PATCH] uml: adapt asm/futex.h to our arch 2005-09-21 16:16:29 -07:00
genapic.h
hardirq.h
highmem.h
hpet.h
hw_irq.h Revert "i386: move apic init in init_IRQs" 2005-10-31 19:16:17 -08:00
i387.h
i8253.h
i8259.h
ide.h [PATCH] ide: explain the PCI bus test we do in <asm-i386/ide.h> 2005-11-10 00:10:37 +01:00
io_apic.h
io.h
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq.h
ist.h
kdebug.h
kexec.h
kmap_types.h
kprobes.h [PATCH] Kprobes: Track kprobe on a per_cpu basis - i386 changes 2005-11-07 07:53:45 -08:00
ldt.h
linkage.h
local.h
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mman.h [PATCH] madvise(MADV_REMOVE): remove pages from tmpfs shm backing store 2006-01-06 08:33:22 -08:00
mmu_context.h
mmu.h
mmx.h
mmzone.h [PATCH] mm: kvaddr_to_nid not used in common code 2006-01-06 08:33:23 -08:00
module.h
mpspec_def.h
mpspec.h Merge linux-2.6 with linux-acpi-2.6 2005-09-08 01:45:47 -04:00
msgbuf.h
msi.h [PATCH] PCI: Change MSI to use physical delivery mode always 2005-11-10 16:09:18 -08:00
msr.h
mtrr.h
namei.h
nmi.h
node.h
numa.h [PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments 2005-09-12 10:49:57 -07:00
numaq.h
numnodes.h
page.h
param.h [PATCH] Avoid namespace pollution in <asm/param.h> 2006-01-02 08:38:38 -08:00
parport.h
pci-direct.h
pci.h
percpu.h
pgalloc.h
pgtable-2level-defs.h
pgtable-2level.h [PATCH] i386: little pgtable.h consolidation vs 2/3level 2005-10-30 17:37:12 -08:00
pgtable-3level-defs.h
pgtable-3level.h [PATCH] i386: little pgtable.h consolidation vs 2/3level 2005-10-30 17:37:12 -08:00
pgtable.h [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
poll.h
posix_types.h
processor.h Merge x86-64 update from Andi 2005-11-14 19:56:02 -08:00
ptrace.h
resource.h
rtc.h
rwlock.h
rwsem.h [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
scatterlist.h
seccomp.h
sections.h
segment.h [PATCH] x86: Pnp segments in segment h 2006-01-06 08:33:34 -08:00
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h x86: Fix silly typo in recent <asm/signal.h> fixes 2005-11-17 10:04:31 -08:00
smp.h [PATCH] PCI: Change MSI to use physical delivery mode always 2005-11-10 16:09:18 -08:00
socket.h
sockios.h
sparsemem.h
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
srat.h
stat.h
statfs.h
string.h
suspend.h
system.h [PATCH] x86: Pnp byte granularity 2006-01-06 08:33:35 -08:00
termbits.h
termios.h
thread_info.h kbuild: full dependency check on asm-offsets.h 2005-09-09 19:28:28 +02:00
timer.h
timex.h
tlb.h
tlbflush.h
topology.h [PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments 2005-09-12 10:49:57 -07:00
types.h
uaccess.h [PATCH] remove verify_area(): remove verify_area() from various uaccess.h headers 2005-09-07 16:57:35 -07:00
ucontext.h
unaligned.h
unistd.h [PATCH] kill last zone_reclaim() bits 2006-01-06 08:33:26 -08:00
user.h
vga.h
vic.h
vm86.h
voyager.h
xor.h