[PATCH] i386 io_apic.c: Memorize at bootup where the i8259 is connected
authorEric W. Biederman <ebiederm@xmission.com>
Sun, 30 Oct 2005 22:59:39 +0000 (14:59 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 31 Oct 2005 01:37:12 +0000 (17:37 -0800)
commitfcfd636a728fe2b8fb8c8fd8c557302059580577
treef210e59393a9439875f5e65ff4b92c5a7fe7b9bb
parent9338316c9323682d32270d83b106472a50ab6da4
[PATCH] i386 io_apic.c: Memorize at bootup where the i8259 is connected

Currently we attempt to restore virtual wire mode on reboot, which only
works if we can figure out where the i8259 is connected.  This is very
useful when we kexec another kernel and likely helpful when dealing with a
BIOS that make assumptions about how the system is setup.

Since the acpi MADT table does not provide the location where the i8259 is
connected we have to look at the hardware to figure it out.

Most systems have the i8259 connected the local apic of the cpu so won't be
affected but people running Opteron and some serverworks chipsets should be
able to use kexec now.

In addition this patch removes the hard coded assumption that the io_apic
that delivers isa interrups is always known to the kernel as io_apic 0.  As
there does not appear to be anything to guarantee that assumption is true.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/io_apic.c