Knut Kujat escribió: > 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. > Hello,
I fixed the 2 cpu and just 8 GB ram issues, now linux finds all 4 cpus and 16 GB. But I'm still having trouble adding AMD 8132 for giving the NICs IRQ. THX, Knut Kujat. -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

