Messages in this thread Patch in this message | | | Date | Wed, 30 Sep 1998 15:24:12 -0700 | From | "Eastep, Tom" <> | Subject | IO-APIC and 2.1.123/2.1.124pre1 |
| |
I've been unable to boot 2.1.123 or 2.1.124pre1 unless I use the 2.1.122 version of arch/i386/kernel/io_apic.c and there have been several other reports of this type of problem on linux-kernel.
I now have some additional information.
Under 2.1.122, I see the following during boot:
ENABLING IO-APIC IRQs init IO_APIC IRQs IO-APIC pin 0broken BIOS, changing pin 10 to edge broken BIOS, changing pin 11 to edge broken BIOS, changing pin 15 to edge not connected. number of MP IRQ sources: 15. number of IO-APIC registers: 16. testing the IO APIC....................... .... register #00: 00000000 ....... : physical APIC id: 00 .... register #01: 000F0011 ....... : max redirection entries: 000F ....... [IO-APIC cannot route PCI PIRQ 0-3] ....... : IO APIC version: 0011 .... register #02: 00000000 ....... : arbitration: 00 .... IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 000 00 0 0 0 0 0 1 1 59 02 0FF 0F 0 0 0 0 0 1 1 51 03 000 00 0 0 0 0 0 1 1 61 04 000 00 0 0 0 0 0 1 1 69 05 000 00 0 0 0 0 0 1 1 71 06 000 00 0 0 0 0 0 1 1 79 07 000 00 0 0 0 0 0 1 1 81 08 000 00 0 0 0 0 0 1 1 89 09 000 00 0 0 0 0 0 1 1 91 0a 000 00 0 0 0 0 0 1 1 99 0b 000 00 0 0 0 0 0 1 1 A1 0c 000 00 0 0 0 0 0 1 1 A9 0d 000 00 1 0 0 0 0 0 0 00 0e 000 00 0 0 0 0 0 1 1 B1 0f 000 00 0 0 0 0 0 1 1 B9
In particular, notice that irqs 10,11 and 15 are reported with broken bios. These irqs correspond to my three PCI cards:
[eastep@hozomeen eastep]$ cat /proc/interrupts CPU0 CPU1 0: 15839 22265 IO-APIC-edge timer 1: 234 358 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 5: 110 184 IO-APIC-edge soundblaster 7: 0 0 IO-APIC-edge parport0 10: 2833 3061 IO-APIC-edge aic7xxx 11: 13 17 IO-APIC-edge HP J2585A 12: 3345 4990 IO-APIC-edge PS/2 Mouse 13: 1 0 XT-PIC fpu 15: 74 128 IO-APIC-edge Intel EtherExpress Pro 10/100 Ethern et NMI: 0 IPI: 0
With 2.1.123, I do not see the broken BIOS messages but the IRQ redirection table looks as follows (hope this is correct as it flys by rather quickly):
NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 000 00 0 0 0 0 0 1 1 59 02 0FF 0F 0 0 0 0 0 1 1 51 03 000 00 0 0 0 0 0 1 1 61 04 000 00 0 0 0 0 0 1 1 69 05 000 00 0 0 0 0 0 1 1 71 06 000 00 0 0 0 0 0 1 1 79 07 000 00 0 0 0 0 0 1 1 81 08 000 00 0 0 0 0 0 1 1 89 09 000 00 0 0 0 0 0 1 1 91 0a 0FF 0F 1 1 0 1 0 1 1 99 0b 0FF 0F 1 1 0 1 0 1 1 A1 0c 000 00 0 0 0 0 0 1 1 A9 0d 000 00 1 0 0 0 0 0 0 00 0e 000 00 0 0 0 0 0 1 1 B1 0f 0FF 0F 1 1 0 1 0 1 1 B9
Since irq 10 is disabled (mask = 1), the aic7880 repeatedly times out during unit detection.
I've discovered that the following patch will cause 2.1.124pre1 to work like 2.1.122:
--- linux/arch/i386/kernel/orig.io_apic.c Wed Sep 30 15:01:38 1998 +++ linux/arch/i386/kernel/io_apic.c Wed Sep 30 15:02:06 1998 @@ -351,7 +351,7 @@ { case MP_BUS_ISA: /* ISA pin */ { - polarity = default_ISA_polarity(idx); + polarity = 0; break; } case MP_BUS_PCI: /* PCI pin */
Again, the hardware is:
HP Vectra XU 6/150 (dual ppro 150, KX chipset)
Hope this helps...
-Tom -- Tom Eastep COMPAQ Computer Corporation Enterprise Computing Group Tandem Division tom.eastep@compaq.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |