[LinuxBIOS] More MCP55 hacking

Lu, Yinghai yinghai.lu at amd.com
Tue Dec 12 20:24:00 CET 2006


-----Original Message-----
From: linuxbios-bounces at linuxbios.org
[mailto:linuxbios-bounces at linuxbios.org] On Behalf Of Ed Swierk
Sent: Tuesday, December 12, 2006 10:51 AM
To: LinuxBIOS
Subject: [LinuxBIOS] More MCP55 hacking

>I've resumed hacking on LinuxBIOS on an Athlon socket AM2 board with
>an nVidia MCP55 southbridge and a C51XE between the two. I'm using the
>CK804 southbridge code with updated PCI IDs, and Yinghai's socket AM2
>code.

That is called 590 by Nvidia. (C51+MCP55)

>I've gotten a Linux kernel to boot, but I am stuck on a few issues:

>1. I haven't gotten interrupt routing to work yet, and the IRQ routing
>table I extract from the factory BIOS seems broken. When I boot with
>the factory BIOS, however, Linux uses ACPI for interrupt routing,
>which I think bypasses the routing table altogether. Should I try to
>fix the routing table or try to get ACPI working? Linux searches for a
>device to act as an interrupt router; which device on my board would
>play that role?

Forget about ACPI for irq routing, They said dsdt is under IBV
copyright. I don't think you can prove to implement one dsdt in clean
room. (If you can access the system with BIOS, you are contaminated.)

>3. I'm not sure whether HT unitid assignment is correct; the meanings
>of HT_CHAIN_UNITID_BASE, HT_CHAIN_END_UNITID_BASE, SB_HT_CHAIN_ON_BUS0
>and SB_HT_CHAIN_UNITID_OFFSET_ONLY are very unclear despite comments
>in the code.

>4. The PCI device IDs assigned during HyperTransport device
>enumeration don't match up with those assigned by the factory BIOS,
>e.g. the southbridge HT interface (device 10de:0369) is assigned to
>device 1 on LinuxBIOS but device 8 on the factory BIOS. I'm not sure
>whether this is a big deal, but is there some way to get them assigned
>in the same way?

##HT Unit ID offset, default is 1, the typical one
default HT_CHAIN_UNITID_BASE=0x06

##real SB Unit ID, default is 0x20, mean dont touch it at last
default HT_CHAIN_END_UNITID_BASE=0x01

(it will put c51 on unitid 6, and mcp55 on unitid 1), there will be some
device overlap.

===>

##HT Unit ID offset, default is 1, the typical one
#default HT_CHAIN_UNITID_BASE=0x06

##real SB Unit ID, default is 0x20, mean dont touch it at last
#default HT_CHAIN_END_UNITID_BASE=0x01

(it will put c51 on unitid 1, and mcp55 on unitid ?)

YH






More information about the coreboot mailing list