Hello,
over this week I've tried to do a proper IRQ assignment on the H8QME-2+ I've got here. So opened mp_tables.c and started changing the irq routing values with those I got form the board booting with a factory bios. Then I started giving the devices the irq they have when boot with factory bios and it booted without any problems except for two things first of all the two NICs still have irq 0 and thats because they are not pending on the mcp55 as they are on the "donator" board but on a AMD 8132 tunnel devices that is hanging on a different node:
socketF(node3) ----------- socketF(node2) | | socketF(node1) ----------- socketF(node0) | | |ht |ht | | AMD8132 MCP55 |-- LAN | |-- SCSI |-- SATA |-- ATI ES 1000 |-- USB |-- PCI | lpc SIO I started adding the AMD8132 to the get_bus_conf.c code, by adding I mean stealing code from other boards pasting it to get_bus_conf and trying to make it work ;). So the problem there is that coreboot won't boot with the new code but not because the code is incorrect because it wasn't even executed, I know that because coreboot soft resets in middle of cpu initialization. I already increased Stack size up to 0x10000 more makes the boot sequence fail.
My second problem is the, irq_tables.c code I tried to customize for this board. I first tried the handy tool that comes with coreboot that auto-generates the irq_tables.c file but it doesn't compile with my board but I at least was able to use the information to modify the already existing irq_tables.c. So before doing changes the dump_irq output look like that:
Interrupt routing table found at address 0xf55bb: Version 106.117, size 0x8366 Interrupt router is device 3d:17.4 PCI exclusive interrupt mask: 0x0fde [1,2,3,4,6,7,8,9,10,11] Compatible router: vendor 0x0000 device 0x6075
Device d2:00.2 (slot 106): INTA: link 0x54, irq mask 0x0005 [0,2] INTB: link 0x40, irq mask 0xc839 [0,3,4,5,11,14,15] INTC: link 0x72, irq mask 0x84f7 [0,1,2,4,5,6,7,10,15] INTD: link 0xd2, irq mask 0x4275 [0,2,4,5,6,9,14]
Device 83:19.2 (slot 195): INTA: link 0xff, irq mask 0x74b8 [3,4,5,7,10,12,13,14] INTB: link 0x74, irq mask 0x000f [0,1,2,3] INTC: link 0xe8, irq mask 0x9f77 [0,1,2,4,5,6,8,9,10,11,12,15] INTD: link 0xff, irq mask 0x89ff [0,1,2,3,4,5,6,7,8,11,15] .... Interrupt router at 3d:17.4: Could not read router info from /proc/bus/pci/3d/17.4.
and after compiling with the new irq_tables.c I've got the exact same output! So no changes were applied, I cleaned everything before compiling so no doubt I compiled the correct file. So why is it still the same? (I attached a dump_irq output from the board with factory bios).
And last but not least, at linux bootup it complains to find only 2 cpus but 16 cores later doing a lspci I can see all 4 cpus (18.0, 19,0 1a.0, 1b.0) and Linux only recognizes 8GB of ram but there are 16GB installed!
Thanks in advanced and have a nice weekend, Knut Kujat.
Interrupt routing table found at address 0xf4e30: Version 1.0, size 0x01b0 Interrupt router is device 00:01.0 PCI exclusive interrupt mask: 0x0000 [] Compatible router: vendor 0x10de device 0x0364
Device 00:01.0 (slot 0): ISA bridge INTA: link 0x02, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x05, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:02.0 (slot 0): USB Controller INTA: link 0x08, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x03, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:08.0 (slot 0): INTA: link 0x0a, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:09.0 (slot 0): INTA: link 0x09, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:05.0 (slot 0): IDE interface INTA: link 0x07, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x06, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x0f, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:06.0 (slot 0): PCI bridge INTB: link 0x0b, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:0f.0 (slot 0): PCI bridge INTA: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x84, irq mask 0x4ca0 [5,7,10,11,14]
Device 07:00.0 (slot 32): INTA: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x84, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:0e.0 (slot 0): PCI bridge INTA: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x85, irq mask 0x4ca0 [5,7,10,11,14]
Device 06:00.0 (slot 33): INTA: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x85, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:0d.0 (slot 0): PCI bridge INTA: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x86, irq mask 0x4ca0 [5,7,10,11,14]
Device 05:00.0 (slot 34): INTA: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x86, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:0c.0 (slot 0): PCI bridge INTA: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x87, irq mask 0x4ca0 [5,7,10,11,14]
Device 04:00.0 (slot 35): INTA: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x87, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:0b.0 (slot 0): PCI bridge INTA: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x84, irq mask 0x4ca0 [5,7,10,11,14]
Device 03:00.0 (slot 36): INTA: link 0x85, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x84, irq mask 0x4ca0 [5,7,10,11,14]
Device 00:0a.0 (slot 0): PCI bridge INTA: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x85, irq mask 0x4ca0 [5,7,10,11,14]
Device 02:00.0 (slot 37): INTA: link 0x86, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x87, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x84, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x85, irq mask 0x4ca0 [5,7,10,11,14]
Device 01:01.0 (slot 0): VGA compatible controller INTA: link 0x82, irq mask 0x4ca0 [5,7,10,11,14]
Device 09:01.0 (slot 1): INTA: link 0x80, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x81, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x82, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x83, irq mask 0x4ca0 [5,7,10,11,14]
Device 09:02.0 (slot 2): INTA: link 0x81, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x82, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x83, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x80, irq mask 0x4ca0 [5,7,10,11,14]
Device 09:03.0 (slot 0): INTA: link 0x82, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x83, irq mask 0x4ca0 [5,7,10,11,14]
Device 0a:01.0 (slot 3): INTA: link 0x80, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x81, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x82, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x83, irq mask 0x4ca0 [5,7,10,11,14]
Device 0a:02.0 (slot 4): INTA: link 0x81, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x82, irq mask 0x4ca0 [5,7,10,11,14] INTC: link 0x83, irq mask 0x4ca0 [5,7,10,11,14] INTD: link 0x80, irq mask 0x4ca0 [5,7,10,11,14]
Device 0a:03.0 (slot 0): Ethernet controller INTA: link 0x80, irq mask 0x4ca0 [5,7,10,11,14] INTB: link 0x81, irq mask 0x4ca0 [5,7,10,11,14]
Interrupt router at 00:01.0: unknown vendor 0x10de device 0x0364 PIRQ? (link 0x0a): unrouted? PIRQ? (link 0x0b): unrouted? PIRQ? (link 0x80): irq 5 PIRQ? (link 0x81): irq 11 PIRQ? (link 0x82): irq 10 PIRQ? (link 0x83): unrouted? PIRQ? (link 0x84): unrouted? PIRQ? (link 0x85): unrouted? PIRQ? (link 0x86): unrouted? PIRQ? (link 0x87): unrouted? PIRQ? (link 0x0f): irq 10 PIRQ? (link 0x02): irq 5 PIRQ? (link 0x03): irq 10 PIRQ? (link 0x05): unrouted? PIRQ? (link 0x06): irq 10 PIRQ? (link 0x07): irq 5 PIRQ? (link 0x08): irq 11 PIRQ? (link 0x09): unrouted?