[LinuxBIOS] via/epia/

Ben Hewson ben at hewson-venieri.com
Wed Oct 4 19:08:47 CEST 2006


to enable the RAM check look for this bit of code in auto.c

#if 0
static const struct {
unsigned long lo, hi;
} check_addrs[] = {
/* Check 16MB of memory @ 0*/
{ 0x00000000, 0x01000000 },
#if TOTAL_CPUS > 1
/* Check 16MB of memory @ 2GB */
{ 0x80000000, 0x81000000 },
#endif
};
int i;
for(i = 0; i < sizeof(check_addrs)/sizeof(check_addrs[0]); i++) {
ram_check(check_addrs[i].lo, check_addrs[i].hi);
}
#endif


change the #if 0 to #if 1 to enable the ram check. be aware that it will
fail at a0000 , not sure if the are enough 0's there, but you will see.

There is a bug in rom_cc where the first line after any #else is
skipped. Don't think it has been fixed yet.
Unless you have changed the settings to use cl2 ram and 133 Mhz
bus(default is cl3 and 100Mhz), it will not initialise ram properly.

Do you ever experience any long delays/hangs when booting ? after the
1106 0601 message.

My board is having problems with the smbus code. The first read of the
spd data always seems to fail. Not sure if it is my ram modules or a
problem with the code. Don't have any problems booting and running with
the original bios. Not yet got to the bottom of the problem, kind of
been busy of late.


Ben




Tyler Pohl wrote:
> At first after flashing the eeprom i soft rebooted my output was:
> My monitor flashed colors
>
> Serial Output:
> Ô˜X˜aÓinuxBIOS-2.0.0.0Fallback Tue Oct 3 19:11:16 PDT 2006 starting...
> 87 is the comm register
> SMBus controller enabled
> vt8601 init starting
> 00000000 is the north
> 1106 0601
> 0120d4 is the computed timing
> NOP
> PRECHARGE
> DUMMY READS
> CBR
> MRS
> NORMAL
> set ref. rate
> enable multi-page open
> Slot 00 is SDRAM 08000000 bytes x2
> 0080 is the chip size
> 0008 is the MA type
> Slot 01 is SDRAM 04000000 bytes x2
> 0040 is the chip size
> 0008 is the MA type
> Slot 02 is empty
> Slot 03 is empty
> vt8601 done
> Copying LinuxBIOS to ram.
> Jumping to LinuxBIOS.
> LinuxBIOS-2.0.0.0Fallback Tue Oct 3 19:11:16 PDT 2006 booting...
> Enumerating buses...
> scan_static_bus for Root Device
> Finding PCI configuration type.
> PCI: Using configuration type 1
> PCI_DOMAIN: 0000 enabled
> APIC_CLUSTER: 0 enabled
> PCI_DOMAIN: 0000 scanning...
> PCI: pci_scan_bus for bus 0
> set_pci_ops: seeking driver for 1106:601 class 60000
> PCI: 00:00.0 [1106/0601] ops
> PCI: 00:00.0 [1106/0601] enabled
> malloc Enter, size 668, free_mem_ptr 00018000
> malloc 0x00018000
> set_pci_ops: seeking driver for 1106:8601 class 60400
> Capability: 0x07 @ 0x80
> Capability: 0x08 @ 0x80
> Capability: 0x10 @ 0x80
> PCI: 00:01.0 [1106/8601] enabled
> PCI: devfn 0x10, bad id 0xffffffff
> PCI: devfn 0x18, bad id 0xffffffff
> PCI: devfn 0x20, bad id 0xffffffff
> PCI: devfn 0x28, bad id 0xffffffff
> PCI: devfn 0x30, bad id 0xffffffff
> PCI: devfn 0x38, bad id 0xffffffff
> PCI: devfn 0x40, bad id 0xffffffff
> PCI: devfn 0x48, bad id 0xffffffff
> PCI: devfn 0x50, bad id 0xffffffff
> PCI: devfn 0x58, bad id 0xffffffff
> PCI: devfn 0x60, bad id 0xffffffff
> PCI: devfn 0x68, bad id 0xffffffff
> PCI: devfn 0x70, bad id 0xffffffff
> PCI: devfn 0x78, bad id 0xffffffff
> PCI: devfn 0x80, bad id 0xffffffff
> set_pci_ops: seeking driver for 1106:8231 class 60100
> PCI: 00:11.0 [1106/8231] bus ops
> PCI: 00:11.0 [1106/8231] enabled
> set_pci_ops: seeking driver for 1106:571 class 1018a
> PCI: 00:11.1 [1106/0571] ops
> PCI: 00:11.1 [1106/0571] enabled
> set_pci_ops: seeking driver for 1106:3038 class c0300
> PCI: 00:11.2 [1106/3038] disabled
> set_pci_ops: seeking driver for 1106:3038 class c0300
> PCI: 00:11.3 [1106/3038] disabled
> set_pci_ops: seeking driver for 1106:8235 class 68000
> PCI: 00:11.4 [1106/8235] ops
> PCI: 00:11.4 [1106/8235] disabled
> set_pci_ops: seeking driver for 1106:3058 class 40100
> PCI: 00:11.5 [1106/3058] disabled
> set_pci_ops: seeking driver for 1106:3068 class 78000
> PCI: 00:11.6 [1106/3068] enabled
> PCI: devfn 0x8f, bad id 0xffffffff
> set_pci_ops: seeking driver for 1106:3065 class 20000
> PCI: 00:12.0 [1106/3065] ops
> PCI: 00:12.0 [1106/3065] enabled
> PCI: devfn 0x98, bad id 0xffffffff
> PCI: devfn 0xa0, bad id 0xffffffff
> PCI: devfn 0xa8, bad id 0xffffffff
> PCI: devfn 0xb0, bad id 0xffffffff
> PCI: devfn 0xb8, bad id 0xffffffff
> PCI: devfn 0xc0, bad id 0xffffffff
> PCI: devfn 0xc8, bad id 0xffffffff
> PCI: devfn 0xd0, bad id 0xffffffff
> PCI: devfn 0xd8, bad id 0xffffffff
> PCI: devfn 0xe0, bad id 0xffffffff
> PCI: devfn 0xe8, bad id 0xffffffff
> PCI: devfn 0xf0, bad id 0xffffffff
> PCI: devfn 0xf8, bad id 0xffffffff
> do_pci_scan_bridge for PCI: 00:01.0
> PCI: pci_scan_bus for bus 1
> malloc Enter, size 668, free_mem_ptr 0001829c
> malloc 0x0001829c
> set_pci_ops: seeking driver for 1023:8500 class 30000
> PCI: 01:00.0 [1023/8500] enabled
> PCI: devfn 0x8, bad id 0xffffffff
> PCI: devfn 0x10, bad id 0xffffffff
> PCI: devfn 0x18, bad id 0xffffffff
> PCI: devfn 0x20, bad id 0xffffffff
> PCI: devfn 0x28, bad id 0xffffffff
> PCI: devfn 0x30, bad id 0xffffffff
> PCI: devfn 0x38, bad id 0xffffffff
> PCI: devfn 0x40, bad id 0xffffffff
> PCI: devfn 0x48, bad id 0xffffffff
> PCI: devfn 0x50, bad id 0xffffffff
> PCI: devfn 0x58, bad id 0xffffffff
> PCI: devfn 0x60, bad id 0xffffffff
> PCI: devfn 0x68, bad id 0xffffffff
> PCI: devfn 0x70, bad id 0xffffffff
> PCI: devfn 0x78, bad id 0xffffffff
> PCI: devfn 0x80, bad id 0xffffffff
> PCI: devfn 0x88, bad id 0xffffffff
> PCI: devfn 0x90, bad id 0xffffffff
> PCI: devfn 0x98, bad id 0xffffffff
> PCI: devfn 0xa0, bad id 0xffffffff
> PCI: devfn 0xa8, bad id 0xffffffff
> PCI: devfn 0xb0, bad id 0xffffffff
> PCI: devfn 0xb8, bad id 0xffffffff
> PCI: devfn 0xc0, bad id 0xffffffff
> PCI: devfn 0xc8, bad id 0xffffffff
> PCI: devfn 0xd0, bad id 0xffffffff
> PCI: devfn 0xd8, bad id 0xffffffff
> PCI: devfn 0xe0, bad id 0xffffffff
> PCI: devfn 0xe8, bad id 0xffffffff
> PCI: devfn 0xf0, bad id 0xffffffff
> PCI: devfn 0xf8, bad id 0xffffffff
> PCI: pci_scan_bus returning with max=01
> do_pci_scan_bridge returns max 1
> scan_static_bus for PCI: 00:11.0
> PNP: 002e.0 enabled
> PNP: 002e.1 disabled
> PNP: 002e.2 enabled
> PNP: 002e.3 disabled
> PNP: 002e.5 enabled
> PNP: 002e.6 disabled
> PNP: 002e.7 disabled
> PNP: 002e.8 disabled
> PNP: 002e.9 disabled
> PNP: 002e.a disabled
> PNP: 002e.b enabled
> scan_static_bus for PCI: 00:11.0 done
> PCI: pci_scan_bus returning with max=01
> scan_static_bus for Root Device done
> done
> Allocating resources...
> Reading resources...
> Root Device compute_allocate_io: base: 00000400 size: 00000000 align:
> 0 gran: 0
> Root Device read_resources bus 0 link: 0
> PCI_DOMAIN: 0000 read_resources bus 0 link: 0
> 0
>
> LinuxBIOS-2.0.0.0Fallback Tue Oct 3 19:11:16 PDT 2006 starting...
> 87 is the comm register
> SMBus controller enabled
> vt8601 init starting
> 00000000 is the north
> 1106 0601
> 0120d4 is the computed timing
> NOP
> PRECHARGE
> DUMMY READS
> CBR
> MRS
> NORMAL
> set ref. rate
> enable multi-page open
> Slot 00 is SDRAM 08000000 bytes x2
> 0080 is the chip size
> 0008 is the MA type
> Slot 01 is SDRAM 04000000 bytes x2
> 0040 is the chip size
> 0008 is the MA type
> Slot 02 is empty
> Slot 03 is empty
> vt8601 done
> Copying LinuxBIOS to ram.
> Jumping to LinuxBIOS.
>
>
> ____________________________________________-
>
> Then I powered down the via board and my output was:
>
> No video at all
>
> serial output:
> LinuxBIOS-2.0.0.0Normal Tue Oct 3 19:10:30 PDT 2006 starting...
> 87 is the comm register
> SMBus controller enabled
> vt8601 init starting
> 00000000 is the north
> 1106 0601
> 0120d4 is the computed timing
> NOP
> PRECHARGE
> DUMMY READS
> CBR
> MRS
> NORMAL
> set ref. rate
> enable multi-page open
> Slot 00 is SDRAM 08000000 bytes x2
> 0080 is the chip size
> 0008 is the MA type
> Slot 01 is SDRAM 04000000 bytes x2
> 0040 is the chip size
> 0008 is the MA type
> Slot 02 is empty
> Slot 03 is empty
> vt8601 done
> Copying LinuxBIOS to ram.
> Jumping to LinuxBIOS.
>
> Any sugestions?
>
>
>
> How do you enable the RAM test function?
> In mainboard/via/epia/auto.c ........... I did the following tring to
> enable the RAM test but when i do a make i get an error
>
> Unblocked the following beacuse i don't know how the conditional
> assembly works in this case.
>
> ram_check(0x00000000, msr.lo);
>
> static const struct {
> unsigned long lo, hi;
> } check_addrs[] = {
> /* Check 16MB of memory @ 0*/
> { 0x00000000, 0x01000000 },
>
>
>
>
> My make error:
> /home/tyler/LinuxBIOSv2/src/mainboard/via/epia/auto.c -o auto.inc
> auto.c:113.34:
> msr undeclared
> make[1]: *** [auto.inc] Error 1
> make[1]: Leaving directory
> `/home/tyler/LinuxBIOSv2/targets/via/epia/epia/normal'
> make: *** [normal/linuxbios.rom] Error 1
>
> Where or what should msr be decalred as ?
>
>
> Thanks Again.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>






More information about the coreboot mailing list