unexpected IO-APIC

Juergen Rose
2002-09-16T13:54:00Z

Hi,

I am working with linux-2.4.20-pre7 an a PC with an
ABIT-KX7-333-Motherboard. If I enable APIC and IOAPIC in the linux
configuration (in .config I found:
...
CONFIG_X86_GOOD_APIC=y
...
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
...), the IRQ distribution looks nice
0: 249823 IO-APIC-edge timer
1: 10200 IO-APIC-edge keyboard
2: 0 XT-PIC cascade
8: 13 IO-APIC-edge rtc
9: 0 IO-APIC-edge acpi
12: 5206 IO-APIC-edge PS/2 Mouse
14: 9521 IO-APIC-edge ide0
15: 7 IO-APIC-edge ide1
17: 190 IO-APIC-level aic7xxx
18: 8 IO-APIC-level ide2
19: 8819 IO-APIC-level es1371, eth0
21: 0 IO-APIC-level usb-uhci, usb-uhci
NMI: 0
LOC: 249762
ERR: 0
MIS: 0
but I get problems (´mke2fs -c /dev/hde1´ gives endless 'lost
interrups') with the additional IDE controller (ide2,ide3) and the
following messages during booting:

enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
IO-APIC (apicid-pin) 2-0, 2-5, 2-11, 2-20, 2-22, 2-23 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 22.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................

IO APIC #2......
.... register #00: 02000000
....... : physical APIC id: 02
.... register #01: 00178002
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0002
WARNING: unexpected IO-APIC, please mail
to linux-smp@vger.kernel.org
.... 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 001 01 0 0 0 0 0 1 1 39
02 001 01 0 0 0 0 0 1 1 31
03 001 01 0 0 0 0 0 1 1 41
04 001 01 0 0 0 0 0 1 1 49
05 000 00 1 0 0 0 0 0 0 00
06 001 01 0 0 0 0 0 1 1 51
07 001 01 0 0 0 0 0 1 1 59
08 001 01 0 0 0 0 0 1 1 61
09 001 01 0 0 0 0 0 1 1 69
0a 001 01 1 1 0 1 0 1 1 71
0b 000 00 1 0 0 0 0 0 0 00
0c 001 01 0 0 0 0 0 1 1 79
0d 001 01 0 0 0 0 0 1 1 81
0e 001 01 0 0 0 0 0 1 1 89
0f 001 01 0 0 0 0 0 1 1 91
10 001 01 1 1 0 1 0 1 1 99
11 001 01 1 1 0 1 0 1 1 A1
12 001 01 1 1 0 1 0 1 1 A9
13 001 01 1 1 0 1 0 1 1 B1
14 000 00 1 0 0 0 0 0 0 00
15 001 01 1 1 0 1 0 1 1 B9
16 000 00 1 0 0 0 0 0 0 00
17 000 00 1 0 0 0 0 0 0 00
IRQ to pin mappings:
IRQ0 -> 0:2
IRQ1 -> 0:1
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ9 -> 0:9
IRQ10 -> 0:10
IRQ12 -> 0:12
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
IRQ16 -> 0:16
IRQ17 -> 0:17
IRQ18 -> 0:18
IRQ19 -> 0:19
IRQ21 -> 0:21
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1534.0355 MHz.
..... host bus clock speed is 266.7888 MHz.
cpu: 0, clocks: 2667888, slice: 1333944
CPU0<T0:2667888,T1:1333936,D:8,S:1333944,C:2667888>

If I disable APIC and IOAPIC, I have five devices (iac7xxx, usb-uhci,
usb-uhci, es1371, eth0) controlled by by IRQ11, but everythings seems to
work perfectly.

With best regards
Juergen