linux/arch/x86/include/asm/uv
Dimitri Sivanich 8191c9f692 x86: UV: Address interrupt/IO port operation conflict
This patch for SGI UV systems addresses a problem whereby
interrupt transactions being looped back from a local IOH,
through the hub to a local CPU can (erroneously) conflict with
IO port operations and other transactions.

To workaound this we set a high bit in the APIC IDs used for
interrupts. This bit appears to be ignored by the sockets, but
it avoids the conflict in the hub.

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
LKML-Reference: <20101116222352.GA8155@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
___

 arch/x86/include/asm/uv/uv_hub.h   |    4 ++++
 arch/x86/include/asm/uv/uv_mmrs.h  |   19 ++++++++++++++++++-
 arch/x86/kernel/apic/x2apic_uv_x.c |   25 +++++++++++++++++++++++--
 arch/x86/platform/uv/tlb_uv.c      |    2 +-
 arch/x86/platform/uv/uv_time.c     |    4 +++-
 5 files changed, 49 insertions(+), 5 deletions(-)
2010-11-18 10:41:25 +01:00
..
bios.h Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 11:00:55 -08:00
uv_bau.h x86, UV: Modularize BAU send and wait 2010-06-08 21:13:48 +02:00
uv_hub.h x86: UV: Address interrupt/IO port operation conflict 2010-11-18 10:41:25 +01:00
uv_irq.h x86, apic: Move SGI UV functionality out of generic IO-APIC code 2009-10-14 09:17:09 +02:00
uv_mmrs.h x86: UV: Address interrupt/IO port operation conflict 2010-11-18 10:41:25 +01:00
uv.h x86: Enable NMI on all cpus on UV 2010-02-27 12:34:21 +01:00