Subject: Trying to understand initsenses and pci_irq_table

From: Richard Danter <[email-masked]>
Date: Tue, 22 Nov 2005 10:20:34 +0000

Hi all,

I am trying to port a 2.6.14.2 kernel to a 74xx/107 board and am having 
some problems which I think may be interrupt related. I have based my 
board support on the Sandpoint but realise that I do not really 
understand the initsenses or pci_irq_table structures and was hoping 
someone could either explain it or point me in the direction of some docs.

So far the kernel does boot and mount a NFS root filesystem, but crashes 
soon after. Whilst it boots the serial is very slow. It is at 9600 baud 
as expected, but it seems the characters are being spaced out in time 
which makes me think the serial is running in a polled mode rather than 
interrupt driven.

The board is very simple. There are several versions and the one I am 
working on now has a 7400 CPU, a 107 mem controller, a couple of PCI 
slots, serial port and some LED's.

Interrupts A, B, C and D from the PCI slots are connected to IRQ 0..3 on 
the 107. The serial port chip (16550 compatible) is wired directly to 
IRQ 4. There are no other PIC's or any other logic to confuse things.

U-Boot is running just fine and shows the following when I use the "pci" 
command:

Scanning PCI devices on bus 0
BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
_____________________________________________________________
00.00.00   0x1057     0x0004     Bridge device           0x00
00.10.00   0x8086     0x1030     Network controller      0x00
00.12.00   0x1011     0x0026     Bridge device           0x04

How should these be mapped with the structures in the kernel?

The fact that NFS seems to be working and that the network card 
(EEPRO100) says it is using IRQ 16 is just pure luck I think!

The kernel crashes after starting init. I see some random characters on 
the serial and then nothing. Looking in the log buffer via JTAG I can 
see that the init process exited with signal 11. I assume this is 
unrelated to the above, but any suggestions where I should look?

Many thanks,
Rich