Hi,
I use Linuxbios with my VIA Epia MII-12000 board. I installed a dual pci riser card in the one and only PCI slot. Now the problem is: the bios only assigns an IRQ to PCI device number 0x13 an 0x14. -> 0x14 is the first slot on the riser card -> second slot on the riser card is configurable between 0x04 .. 0x11 (or something). Obviously the device in the second slot on the riser card does not work, regardless which DN# I configure, because it gets no IRQ assigned.
So I decided to configure the second slot to be 0x05 and change the BIOS accordingly. Therefore I changed the following files:
src/mainboard/via/epia-m/irq_tables.c
{0x00,(0x13<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
{0x00,(0x05<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
src/mainboard/via/epia-m/dsdt.asl
Package () {0x0013FFFF, 0x00, LNKA, 0x00}, // Riser slot LinkA
Package () {0x0013FFFF, 0x01, LNKB, 0x00}, // Riser slot LinkB
Package () {0x0013FFFF, 0x02, LNKC, 0x00}, // Riser slot LinkC
Package () {0x0013FFFF, 0x03, LNKD, 0x00}, // Riser slot LinkD
Package () {0x0005FFFF, 0x00, LNKA, 0x00}, // Riser slot LinkA
Package () {0x0005FFFF, 0x01, LNKB, 0x00}, // Riser slot LinkB
Package () {0x0005FFFF, 0x02, LNKC, 0x00}, // Riser slot LinkC
Package () {0x0005FFFF, 0x03, LNKD, 0x00}, // Riser slot LinkD
(recompiled to dsdt.c)
src/southbridge/via/epia-m/vt8235.c
pci_assign_irqs(0, 0x13, pin_to_irq(riserPins));
pci_assign_irqs(0, 0x05, pin_to_irq(riserPins));
But my device in the 2nd riser card slot still does not get am IRQ assigned :-( If I use get_pir with the changed bios to generate an irq_tables.c it has still the old lines in it.
What am I doing wrong?
Best regards, Arnd Hannemann
* Arnd Hannemann arnd@arndnet.de [070422 12:23]:
src/mainboard/via/epia-m/irq_tables.c
{0x00,(0x13<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
{0x00,(0x05<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
If I use get_pir with the changed bios to generate an irq_tables.c it has still the old lines in it.
What am I doing wrong?
For some reason your changes did not get compiled into your bios. You should delete the object directory and recompile it from scratch.
Stefan
Hi Stefan,
Stefan Reinauer schrieb:
- Arnd Hannemann arnd@arndnet.de [070422 12:23]:
src/mainboard/via/epia-m/irq_tables.c
{0x00,(0x13<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
{0x00,(0x05<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
If I use get_pir with the changed bios to generate an irq_tables.c it has still the old lines in it.
What am I doing wrong?
For some reason your changes did not get compiled into your bios. You should delete the object directory and recompile it from scratch.
Well obviously. I thought about this earlier and just deleted irq_tables.o and saw it rebuilding, but it seems it got not linked into the ROM. So I deleted the whole folder as you suggested and now it works :-) Thanks for your advise!
I'm really happy the LinuxBios project exists. Thanks for this great piece of software to all developers!
Stefan
Greetings Arnd