[coreboot] [PATCH] v3: AMD DB800 support

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Tue Mar 4 23:12:05 CET 2008


On 04.03.2008 22:09, Marc Jones wrote:
>> New patch, completely hand-generated, apply checked and compile checked.
>
> I still had some issues getting the patch to apply. It could be my 
> Thunderbird mail reader but you should check. Attaching the file would 
> avoid a mail reader issue.

Patch attached. I use Seamonkey and the patch applied just fine after 
the roundtrip. Sorry for the inconvenience.


> It wouldn't boot all the way into Linux. It seems like there is a IRQ 
> routing since that is where the image stopped. I attached db800 and 
> norwich console output.

Thanks. The IRQ routing was copied straight from v2 so there should be 
no difference in theory.

There are a few things I don't like about the boot log:
> Done pll_reset
> done pll reset
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
>   

All those SMBus error messages. Need to investigate.

> Done cpubug fixes
> done cpu reg init
> done sdram set registers
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> ========== Check present =======================================================
> ========== MODBANKS ============================================================
> ========== FIELDBANKS ==========================================================
> ========== SPDNUMROWS ==========================================================
> ========== SPDBANKDENSITY ======================================================
> ========== BEFORT CTZ ==========================================================
> ========== TEST DIMM SIZE>8 ====================================================
> ========== PAGESIZE ============================================================
> ========== MAXCOLADDR ==========================================================
> ========== RDMSR CF07 ==========================================================
> ========== WRMSR CF07 ==========================================================
> ========== ALL DONE ============================================================
> ========== Check present =======================================================
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> SMBus WAIT ERROR 13
> SMBus READ ERROR: smbus_send_slave_address; device a2SMBus WAIT ERROR 13
> done sdram set spd registers
> DRAM controller init done.
> RAM DLL lock
> done sdram enable
> stage1 returns
> run_file returns with 0
> Done RAM init code
>   
[...]
> PCI: scan devfn 0x0 to 0xff
> PCI: devfn 0x0
> pci_scan_get_dev: list is 0x00087eb4, *list is 0x0000b4c0
> pci_scan_get_dev: check dev pci_1_0 
> pci_scan_get_dev: check dev pci_1_0 it has devfn 0x08
> pci_scan_get_dev: check dev pci_15_0 
> pci_scan_get_dev: check dev pci_15_0 it has devfn 0x78
> pci_scan_get_dev: check dev ioport_46 
> pci_scan_get_dev: child ioport_46(IOPORT: 2e) not a pci device: it's type 11
> PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet)
> PCI: devfn 0x0, bad id 0xffffffff
> PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000("�3
9�Gw�g�7޻����E�A�$@FP%\{�Ճl����7B�f��1�
 ��"
> 0{�j����w�{�
�.��4�xH`\)
> PCI: devfn 0x8
>   

And the above points to memory corruption or reading uninitialized 
memory. That's a bug.

> PCI: devfn 0xb, bad id 0xffffffff
> PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000("�3
9�Gw�g�7޻����E�A�$@FP%\{�Ճl����7B�f��1�
 ��"
> 0{�j����w�{�
�.��4�xH`\)
> PCI: devfn 0xc
>   

Same here. And countless repetitions.

> Phase 4: Reading resources...
> Root Device compute_allocate_io: base: 00000400 size: 00000000 align: 0 gran: 0
> read_resources: root(Root Device) read_resources bus 0 link: 0
> read_resources: root(Root Device) dtsname cpus have_resources 0 enabled 1
> cpus: Unknown device path type: 0
> read_resources: cpus() missing phase4_read_resources
> read_resources: root(Root Device) dtsname apic_0 have_resources 0 enabled 1
> read_resources: root(Root Device) dtsname domain_0 have_resources 0 enabled 1
> read_resources: domain_0(PCI_DOMAIN: 0000) read_resources bus 0 link: 0
> read_resources: domain_0(PCI_DOMAIN: 0000) dtsname pci_1_0 have_resources 0 enabled 1
> read_resources: "�3
9�Gw�g�7޻����E�A�$@FP%\{�Ճl����7B�f��1�
 ��"
> 0{�j����w�{�
�.��4�xH`\(<null>) read_resources bus 0 link: 0
> read_resources: "�3
9�Gw�g�7޻����E�A�$@FP%\{�Ճl����7B�f��1�
 ��"
> 0{�j����w�{�
�.��4�xH`\(<null>) read_resources bus 0 link: 0 done
> read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:01.1 have_resources 0 enabled 1
> read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:01.2 have_resources 0 enabled 1
>   

Similar bug.

> Copying IRQ routing tables to 0x983040x...done.
> Verifing copy of IRQ routing tables at 0x983040x...done
> Checking IRQ routing table consistency...
> check_pirq_routing_table() - irq_routing_table located at: 0x0x000f0000
> /home/marcj/svn/coreboot-v3/arch/x86/pirq_routing.c:    62:check_pirq_routing_table() - checksum is: 0x00 but should be: 0x26
> done.
>   

Ouch. And I claim the table was a straight copy of the v2 db800 table...

Thanks a lot for testing! Could you maybe test v2 db800 as well to check 
IRQ routing tables consistency there?

Fixes for some of the bugs above will come in a separate patch.

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: linuxbios3_amd_db800_2.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20080304/7b4adacc/attachment.ksh>


More information about the coreboot mailing list