Trying to understand initsenses and pci_irq_table

3 messages, 2 authors, 2005-11-30 · open the first message on its own page

Trying to understand initsenses and pci_irq_table

From: Richard Danter <hidden>
Date: 2005-11-22 12:07:44

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

Re: Trying to understand initsenses and pci_irq_table

From: Richard Danter <hidden>
Date: 2005-11-22 19:44:04

Richard Danter wrote:
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?
I managed to fix this problem, so I am now booted and running busybox from NFS :)

I'd still like a pointer to any docs explaining the PCI and interrupt stuff if possible.

Thanks!
Rich

Re: Trying to understand initsenses and pci_irq_table

From: Kumar Gala <hidden>
Date: 2005-11-30 07:11:54

On Nov 22, 2005, at 1:43 PM, Richard Danter wrote:
Richard Danter wrote:
quoted
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?
I managed to fix this problem, so I am now booted and running busybox from NFS :)

I'd still like a pointer to any docs explaining the PCI and interrupt stuff if possible.
Well the PCI SIG has specs.  If your talking about the code, its a simple lookup table.  The key is realizing that PCI_IRQ_TABLE_LOOKUP is a macro.

- kumar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help