Re: [PATCH] i386 io_apic.c: Memorize at bootup where the i8259 isconnected

From: Linus Torvalds
Date: Fri Jul 29 2005 - 15:12:16 EST




On Fri, 29 Jul 2005, Eric W. Biederman wrote:
>
> 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.

I'm not really happy with this.

First off, it kind of assumes that extINT is always the 8259. Maybe that's
true, maybe it's not. Maybe there is hardware out there that has a
specialty interrupt controller that also uses extInt? Secondly, why always
just on IO-APIC 0? This would make a lot more sense to do inside the
loop-over-apics in enable_IO_APIC, no?

Especially since that one already calculates the number of entries, and
does it a lot more nicely than you do.. (ie no shifting and masking with
magic constants).

Finally, the third issue I have is that _if_ the MP table is correct,
we'll never know. Wouldn't it be better to query the MP table regardless,
and see if it agrees with what we found, and if it doesn't, at least print
a message so that it is easier to debug things if sh*t happens?

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