[PATCH] I/O APIC confusion

Hugh Dickins (hugh@veritas.com)
Fri, 3 Jan 2003 17:48:44 +0000 (GMT)


Dell 2600 could not bring up its MPT Fusion and hung there:
I/O APIC #7 at 0xFEC82000 was muddled with #8 at 0xFEC82800,
because the IO_APIC_BASE fixmap macro assumed page boundary.

No longer do I think all those I/O APIC messages at startup
a waste of log buffer! Patch against 2.5.54: first appeared
in 2.4.18, then 2.5-dj: please apply.

Hugh

--- 2.5.54/include/asm-i386/io_apic.h Wed Nov 27 23:48:16 2002
+++ linux/include/asm-i386/io_apic.h Fri Jan 3 14:29:44 2003
@@ -16,7 +16,8 @@
#define APIC_MISMATCH_DEBUG

#define IO_APIC_BASE(idx) \
- ((volatile int *)__fix_to_virt(FIX_IO_APIC_BASE_0 + idx))
+ ((volatile int *)(__fix_to_virt(FIX_IO_APIC_BASE_0 + idx) \
+ + (mp_ioapics[idx].mpc_apicaddr & ~PAGE_MASK)))

/*
* The structure of the IO-APIC:

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/