Messages in this thread | | | Date | Thu, 17 Apr 2003 23:03:26 -0400 | From | Chuck Ebbert <> | Subject | Re: x86 IO-APIC and IRQ questions |
| |
Chuck Ebbert wrote:
> And why are the IRQ entry points (in 2.4.20) not 16-byte aligned? > Up until IRQ0x0b everything is OK because the actual stubs are only > 7+1 bytes long, but after that the jmp instruction needs a 32-bit > offset and they are 10+2 bytes. This puts IRQ #15 and #19 four > bytes from the end of a 16-byte cache line, and their first > instructions are 5 bytes long.
This should help:
--- linux-2.4.20aa1/arch/i386/kernel/i8259.c Tue Sep 18 02:03:09 2001 +++ linux-2.4.20irq/arch/i386/kernel/i8259.c Thu Apr 17 22:22:12 2003 @ -35,8 +35,6 @ * interrupt-controller happy. */ -BUILD_COMMON_IRQ() - #define BI(x,y) \ BUILD_IRQ(x##y) @ -52,6 +50,8 @ */ BUILD_16_IRQS(0x0) +BUILD_COMMON_IRQ() + #ifdef CONFIG_X86_IO_APIC /* * The IO-APIC gives us many more interrupt sources. Most of these
-- Chuck - 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/
| |