Hello, Working on a new CK804 board and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804. It seems to be working fine for K8 and SuperIO but not the Southbridge. I just get a "missing read_resources" on all CK804 devices. This is my first AMD board so any help/direction/clues/hints would be much appreciated. Attached is the bootlog.
On Thu, Jan 27, 2011 at 5:29 AM, Joseph Smith joe@settoplinux.org wrote:
Hello, Working on a new CK804 board
Which board did you base it on? What are the differences?
and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804.
It fails before resource allocation, at device enumeration. It's hard to tell from the log why it went south, but are you sure that the Southbridge is on HT link 1? Here's a snippet from my log showing the CK804 being found.
PCI: Using configuration type 1 PCI: 00:00.0 [10de/005e] ops PCI: 00:00.0 [10de/005e] enabled Capability: type 0x08 @ 0x44 flags: 0x01e0 PCI: 00:00.0 count: 000f static_count: 000f PCI: 00:00.0 [10de/005e] enabled next_unitid: 000f PCI: pci_scan_bus for bus 00 PCI: 00:00.0 [10de/005e] enabled PCI: 00:01.0 [10de/0051] bus ops PCI: 00:01.0 [10de/0051] enabled PCI: 00:01.1 [10de/0052] bus ops PCI: 00:01.1 [10de/0052] enabled PCI: 00:02.0 [10de/005a] ops
Here's roughly the same point in your log:
PCI: 00:18.3 [1022/1103] ops PCI: 00:18.3 [1022/1103] enabled PCI: pci_scan_bus returning with max=000 PCI_DOMAIN: 0000 passpw: enabled scan_static_bus for Root Device done done
Thanks, Myles
On Thu, 27 Jan 2011 06:15:34 -0700, Myles Watson mylesgw@gmail.com wrote:
On Thu, Jan 27, 2011 at 5:29 AM, Joseph Smith joe@settoplinux.org
wrote:
Hello, Working on a new CK804 board
Which board did you base it on? What are the differences?
I based it on the Asus A8N-E. The only differences are:
1. A8N-E supports 1 Athlon64 dualcore CPU, My board (Asus K8N-DRE) supports 2 Opteron dualcore CPU's 2. SuperIO's are different.
But besides that, all the rest of the hardware is the same as far as I can tell.
and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804.
It fails before resource allocation, at device enumeration. It's hard to tell from the log why it went south, but are you sure that the Southbridge is on HT link 1?
I have no idea how can I tell? Is there a way to tell what HT link it is on with the factory bios?
Here's a snippet from my log showing the CK804 being found.
PCI: Using configuration type 1 PCI: 00:00.0 [10de/005e] ops PCI: 00:00.0 [10de/005e] enabled Capability: type 0x08 @ 0x44 flags: 0x01e0 PCI: 00:00.0 count: 000f static_count: 000f PCI: 00:00.0 [10de/005e] enabled next_unitid: 000f PCI: pci_scan_bus for bus 00 PCI: 00:00.0 [10de/005e] enabled PCI: 00:01.0 [10de/0051] bus ops PCI: 00:01.0 [10de/0051] enabled PCI: 00:01.1 [10de/0052] bus ops PCI: 00:01.1 [10de/0052] enabled PCI: 00:02.0 [10de/005a] ops
Here's roughly the same point in your log:
PCI: 00:18.3 [1022/1103] ops PCI: 00:18.3 [1022/1103] enabled PCI: pci_scan_bus returning with max=000 PCI_DOMAIN: 0000 passpw: enabled scan_static_bus for Root Device done done
Wow mine looks very wrong....
If you would like to take alook at the code I have so far, let me know I can email it to you. Thanks for help Myles.
On Thu, Jan 27, 2011 at 6:38 AM, Joseph Smith joe@settoplinux.org wrote:
On Thu, 27 Jan 2011 06:15:34 -0700, Myles Watson mylesgw@gmail.com wrote:
On Thu, Jan 27, 2011 at 5:29 AM, Joseph Smith joe@settoplinux.org
wrote:
Hello, Working on a new CK804 board
Which board did you base it on? What are the differences?
I based it on the Asus A8N-E. The only differences are:
- A8N-E supports 1 Athlon64 dualcore CPU, My board (Asus K8N-DRE) supports
2 Opteron dualcore CPU's 2. SuperIO's are different.
I would think that there is a board that's more similar, then, but I'm not sure.
But besides that, all the rest of the hardware is the same as far as I can tell.
and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804.
It fails before resource allocation, at device enumeration. It's hard to tell from the log why it went south, but are you sure that the Southbridge is on HT link 1?
I have no idea how can I tell? Is there a way to tell what HT link it is on with the factory bios?
There are a couple of ways. lspci from the factory BIOS is probably the easiest. There are a couple of registers that would tell you.
Try: sudo lspci -xxx -s 18.0
Then look at the line that starts with e0:
mine is: e0: 03 00 00 03 03 01 40 40 ...
From the BKDG:
Configuration Base and Limit 0–3 Registers Function 1: Offset E0h, E4h, E8h, ECh
Remember that the byte order is little endian, and my registers are:
e0 03000003 - bus 0-3 on node 0 link 0 rw enabled e4 40400103 - bus 40-40 on node 0 link 1 rw enabled
If you would like to take alook at the code I have so far, let me know I can email it to you. Thanks for help Myles.
The patch shouldn't be too big, you could just send it to the list.
Thanks, Myles
On Thu, 27 Jan 2011 07:02:04 -0700, Myles Watson mylesgw@gmail.com wrote:
On Thu, Jan 27, 2011 at 6:38 AM, Joseph Smith joe@settoplinux.org
wrote:
On Thu, 27 Jan 2011 06:15:34 -0700, Myles Watson mylesgw@gmail.com
wrote:
On Thu, Jan 27, 2011 at 5:29 AM, Joseph Smith joe@settoplinux.org
wrote:
Hello, Working on a new CK804 board
Which board did you base it on? What are the differences?
I based it on the Asus A8N-E. The only differences are:
- A8N-E supports 1 Athlon64 dualcore CPU, My board (Asus K8N-DRE)
supports
2 Opteron dualcore CPU's 2. SuperIO's are different.
I would think that there is a board that's more similar, then, but I'm
not
sure.
But besides that, all the rest of the hardware is the same as far as I
can
tell.
and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804.
It fails before resource allocation, at device enumeration. It's hard to tell from the log why it went south, but are you sure that the Southbridge is on HT link 1?
I have no idea how can I tell? Is there a way to tell what HT link it is on with the factory bios?
There are a couple of ways. lspci from the factory BIOS is probably the easiest. There are a couple of registers that would tell you.
Try: sudo lspci -xxx -s 18.0
Then look at the line that starts with e0:
mine is: e0: 03 00 00 03 03 01 40 40 ...
From the BKDG:
Configuration Base and Limit 0–3 Registers Function 1: Offset E0h, E4h, E8h, ECh
Remember that the byte order is little endian, and my registers are:
e0 03000003 - bus 0-3 on node 0 link 0 rw enabled e4 40400103 - bus 40-40 on node 0 link 1 rw enabled
It is acually device 18.1. Factory bios 0xe0=0x5000103, 0xe4=0,0xe8=0,0xec=0.
So that means I have - bus 0-5 on node 0 link 1 rw enabled And that is it. So now do we tell coreboot about it?
On 01/27/2011 10:26 AM, Joseph Smith wrote:
On Thu, 27 Jan 2011 07:02:04 -0700, Myles Watsonmylesgw@gmail.com wrote:
On Thu, Jan 27, 2011 at 6:38 AM, Joseph Smithjoe@settoplinux.org
wrote:
On Thu, 27 Jan 2011 06:15:34 -0700, Myles Watsonmylesgw@gmail.com
wrote:
On Thu, Jan 27, 2011 at 5:29 AM, Joseph Smithjoe@settoplinux.org
wrote:
Hello, Working on a new CK804 board
Which board did you base it on? What are the differences?
I based it on the Asus A8N-E. The only differences are:
- A8N-E supports 1 Athlon64 dualcore CPU, My board (Asus K8N-DRE)
supports
2 Opteron dualcore CPU's 2. SuperIO's are different.
I would think that there is a board that's more similar, then, but I'm
not
sure.
But besides that, all the rest of the hardware is the same as far as I
can
tell.
and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804.
It fails before resource allocation, at device enumeration. It's hard to tell from the log why it went south, but are you sure that the Southbridge is on HT link 1?
I have no idea how can I tell? Is there a way to tell what HT link it is on with the factory bios?
There are a couple of ways. lspci from the factory BIOS is probably the easiest. There are a couple of registers that would tell you.
Try: sudo lspci -xxx -s 18.0
Then look at the line that starts with e0:
mine is: e0: 03 00 00 03 03 01 40 40 ...
From the BKDG:
Configuration Base and Limit 0–3 Registers Function 1: Offset E0h, E4h, E8h, ECh
Remember that the byte order is little endian, and my registers are:
e0 03000003 - bus 0-3 on node 0 link 0 rw enabled e4 40400103 - bus 40-40 on node 0 link 1 rw enabled
It is acually device 18.1. Factory bios 0xe0=0x5000103, 0xe4=0,0xe8=0,0xec=0.
So that means I have - bus 0-5 on node 0 link 1 rw enabled And that is it. So now do we tell coreboot about it?
maybe a custom resourcemap.c???
On 01/27/2011 10:26 AM, Joseph Smith wrote:
On Thu, 27 Jan 2011 07:02:04 -0700, Myles Watsonmylesgw@gmail.com wrote:
On Thu, Jan 27, 2011 at 6:38 AM, Joseph Smithjoe@settoplinux.org
wrote:
On Thu, 27 Jan 2011 06:15:34 -0700, Myles Watsonmylesgw@gmail.com
wrote:
On Thu, Jan 27, 2011 at 5:29 AM, Joseph Smithjoe@settoplinux.org
wrote:
Hello, Working on a new CK804 board
Which board did you base it on? What are the differences?
I based it on the Asus A8N-E. The only differences are:
- A8N-E supports 1 Athlon64 dualcore CPU, My board (Asus K8N-DRE)
supports
2 Opteron dualcore CPU's 2. SuperIO's are different.
I would think that there is a board that's more similar, then, but I'm
not
sure.
But besides that, all the rest of the hardware is the same as far as I
can
tell.
and I have it almost booting but it seems the resource allocator does not like / or want to enumerate the CK804.
It fails before resource allocation, at device enumeration. It's hard to tell from the log why it went south, but are you sure that the Southbridge is on HT link 1?
I have no idea how can I tell? Is there a way to tell what HT link it is on with the factory bios?
There are a couple of ways. lspci from the factory BIOS is probably the easiest. There are a couple of registers that would tell you.
Try: sudo lspci -xxx -s 18.0
Then look at the line that starts with e0:
mine is: e0: 03 00 00 03 03 01 40 40 ...
From the BKDG:
Configuration Base and Limit 0–3 Registers Function 1: Offset E0h, E4h, E8h, ECh
Remember that the byte order is little endian, and my registers are:
e0 03000003 - bus 0-3 on node 0 link 0 rw enabled e4 40400103 - bus 40-40 on node 0 link 1 rw enabled
It is acually device 18.1. Factory bios 0xe0=0x5000103, 0xe4=0,0xe8=0,0xec=0.
So that means I have - bus 0-5 on node 0 link 1 rw enabled And that is it. So now do we tell coreboot about it?
So I just wanted to report back that I got it. I am not sure if this is correct but this is what works. I had to add a extra device 18.0 to my devicetree.cb (Attached) so it looks like this:
chip northbridge/amd/amdk8 # Northbridge device pci 18.0 on end # Link 0 == LDT 0 device pci 18.0 on # Link 1 == LDT 1 chip southbridge/nvidia/ck804 # Southbridge
Also attached is the working bootlog.
Try: sudo lspci -xxx -s 18.0
Then look at the line that starts with e0:
mine is: e0: 03 00 00 03 03 01 40 40 ...
From the BKDG:
Configuration Base and Limit 0-3 Registers Function 1: Offset E0h, E4h, E8h, ECh
Remember that the byte order is little endian, and my registers are:
e0 03000003 - bus 0-3 on node 0 link 0 rw enabled e4 40400103 - bus 40-40 on node 0 link 1 rw enabled
It is acually device 18.1.
Yep. Sorry about the typo.
Factory bios 0xe0=0x5000103, 0xe4=0,0xe8=0,0xec=0.
So that means I have - bus 0-5 on node 0 link 1 rw enabled And that is it. So now do we tell coreboot about it?
So I just wanted to report back that I got it. I am not sure if this is correct but this is what works. I had to add a extra device 18.0 to my devicetree.cb (Attached) so it looks like this:
chip northbridge/amd/amdk8 # Northbridge device pci 18.0 on end # Link 0 == LDT 0 device pci 18.0 on # Link 1 == LDT 1 chip southbridge/nvidia/ck804 # Southbridge
Also attached is the working bootlog.
Great. I'm glad it worked for you.
Myles