OpenCloudOS-Kernel/arch/x86/platform
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
..
efi x86: Move efi to platform 2010-10-27 14:30:01 +02:00
mrst x86: Move mrst to platform 2010-10-27 14:30:01 +02:00
olpc x86: Move olpc to platform 2010-10-27 17:22:16 +02:00
scx200 x86: Move scx200 to platform 2010-10-27 14:30:01 +02:00
sfi x86: Move sfi to platform 2010-10-27 14:30:01 +02:00
uv x86: UV: Address interrupt/IO port operation conflict 2010-11-18 10:41:25 +01:00
visws x86: Move visws to platform 2010-10-27 14:30:01 +02:00
Makefile x86: Move olpc to platform 2010-10-27 17:22:16 +02:00