[coreboot] H8QME-2+ IRQ assignment and AMD 8132

2010-01-08 Thread Knut Kujat
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
   ||
AMD8132MCP55
   |--  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 0x1 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 0x 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: 0x []
  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,

Re: [coreboot] H8QME-2+ IRQ assignment and AMD 8132

2010-01-11 Thread Knut Kujat
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
>||
> AMD8132MCP55
>|--  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 0x1 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 0x 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: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot


Re: [coreboot] H8QME-2+ IRQ assignment and AMD 8132

2010-01-11 Thread Peter Stuge
Knut Kujat wrote:
> I fixed the 2 cpu and just 8 GB ram issues,

How?


//Peter

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot


Re: [coreboot] H8QME-2+ IRQ assignment and AMD 8132

2010-01-11 Thread Knut Kujat
Peter Stuge escribió:
> Knut Kujat wrote:
>   
>> I fixed the 2 cpu and just 8 GB ram issues,
>> 
>
> How?
>
>
> //Peter
>
>   
The board I'm porting from has only 2 CPUs and 8 memory slots so I had
spd_addr.h configured only for those 8 memory slots. The H8QME-2+ has 4
CPUs and 16 memory slots so I had to add those extra 8 slots for 2 new
nodes to that file.

THX,
Knut Kujat.

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Re: [coreboot] H8QME-2+ IRQ assignment and AMD 8132

2010-01-12 Thread Peter Stuge
Knut Kujat wrote:
> >> I fixed the 2 cpu and just 8 GB ram issues,
> >
> > How?
> 
> The board I'm porting from has only 2 CPUs and 8 memory slots so I had
> spd_addr.h configured only for those 8 memory slots. The H8QME-2+ has 4
> CPUs and 16 memory slots so I had to add those extra 8 slots for 2 new
> nodes to that file.

Aha! Thanks for the explanation! :)


//Peter

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot