[LinuxBIOS] S2881 and linuxbios

Lu, Yinghai yinghai.lu at amd.com
Fri Mar 24 21:57:28 CET 2006


Good. 

Can you use memtest as your payload?

1. get memtest...enable serial port support, and compile it.
2. load it as payload for LinuxBIOS 
3. or use Etherboot or Filo to load memtest.

YH

-----Original Message-----
From: Per Gregers Bilse [mailto:bilse at networksignature.com] 
Sent: Friday, March 24, 2006 12:44 PM
To: Lu, Yinghai
Subject: RE: S2881 and linuxbios

On Mar 23,  1:56pm yinghai.lu at amd.com wrote:
> There is linux util under src/util/flashrom. Please use that to update
> your BIOS.

Thanks, that (and some payload tweaks) got me much further.  I now
have a kernel panic during booting.  Could you possibly take a look
at the output below and see if you spot something?  I notice that
it says the CMOS checksum is wrong, but I don't understand why;
I use cmos_utils to write a CMOS image to CMOS before trying to
boot with LinuxBIOS, so AFAIK it should have the correct checksum
for LinuxBIOS.

Thanks, best,

  -- Per


LinuxBIOS-1.1.8_s2881_Normal Fri Mar 24 19:45:27 GMT 2006 starting...
(0,1) link=00
(1,0) link=00
02 nodes in icotireal0:i ze d-.-- 
{  APICID = 01 NODEID = 01 COREID = 00} ---
SBLink=02
NC node|link=02
ht reset -


LinuxBIOS-1.1.8_s2881_Normal Fri Mar 24 19:45:27 GMT 2006 starting...
(0,1) link=00
(1,0) link=00
02 nodes i ncoirtei0a:l iz e--d-. {
  APICID = 01 NODEID = 01 COREID = 00} ---
SBLink=02
NC node|link=02
Ram1.00
Ram1.01
Ram2.00
Ram2.01
Ram3
Initializing memory:  done
Initializing memory:  done
Ram4
v_esp=000cfd3c
cpu_reset = 00000000
Clearing initial memory region: No cache as ram now - Use Ram as Stack
now - done
new_cpu_reset = 00000000
Copying LinuxBIOS to ram.
src=fffa0004
dst=00004000
linxbios_ram.bin length = 000192ac
Jumping to LinuxBIOS.
LinuxBIOS-1.1.8_s2881_Normal Fri Mar 24 19:45:27 GMT 2006 booting...
Enumerating buses...
APIC_CLUSTER: 0 enabled
PCI_DOMAIN: 0000 enabled
  PCI: 00:18.3 siblings=0
CPU: APIC: 00 enabled
PCI: 00:19.0 [1022/1100] enabled
PCI: 00:19.1 [1022/1101] enabled
PCI: 00:19.2 [1022/1102] enabled
PCI: 00:19.3 [1022/1103] enabled
  PCI: 00:19.3 siblings=0
CPU: APIC: 01 enabled
PCI: pci_scan_bus for bus 0
PCI: 00:18.0 [1022/1100] enabled
PCI: 00:18.1 [1022/1101] enabled
PCI: 00:18.2 [1022/1102] enabled
PCI: 00:18.3 [1022/1103] enabled
PCI: 00:19.0 [1022/1100] enabled
PCI: 00:19.1 [1022/1101] enabled
PCI: 00:19.2 [1022/1102] enabled
PCI: 00:19.3 [1022/1103] enabled
PCI: 01:00.0 [1022/7450] enabled
PCI: 01:01.0 [1022/7450] enabled next_unitid: 0003
PCI: 01:00.0 [1022/7460] enabled
PCI: 01:03.0 [1022/7460] enabled next_unitid: 0007
PCI: pci_scan_bus for bus 1
PCI: 01:01.0 [1022/7450] enabled
PCI: 01:01.1 [1022/7451] enabled
PCI: 01:02.0 [1022/7450] enabled
PCI: 01:02.1 [1022/7451] enabled
PCI: 01:03.0 [1022/7460] enabled
PCI: 01:04.0 [1022/7468] enabled
PCI: 01:04.1 [1022/7469] enabled
PCI: 01:04.2 [1022/746a] enabled
PCI: 01:04.3 [1022/746b] enabled
PCI: pci_scan_bus for bus 2
PCI: 02:08.0 [8086/1027] enabled
PCI: 02:09.0 [14e4/1648] enabled
PCI: 02:09.1 [14e4/1648] enabled
Disabling static device: PCI: 02:0a.0
Disabling static device: PCI: 02:0a.1
PCI: pci_scan_bus returning with max=02
PCI: 02: 100MHz PCI-X
PCI: 02:08.0 AMD8131 PCI-X tuning
PCI: pci_scan_bus for bus 3
PCI: 03:03.0 [14e4/16a7] enabled
PCI: pci_scan_bus returning with max=03
PCI: 03: 133MHz PCI-X
PCI: 03:03.0 AMD8131 PCI-X tuning
PCI: pci_scan_bus for bus 4
PCI: 04:00.0 [1022/7464] enabled
PCI: 04:00.1 [1022/7464] enabled
PCI: 04:05.0 [1095/3114] enabled
PCI: 04:06.0 [1002/4752] enabled
PCI: pci_scan_bus returning with max=04
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
smbus: PCI: 01:04.3[0]->I2C: 01:50 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:51 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:52 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:53 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:54 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:55 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:56 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:57 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:2d enabled
smbus: PCI: 01:04.3[0]->I2C: 01:2a enabled
smbus: PCI: 01:04.3[0]->I2C: 01:49 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:4a enabled
PCI: pci_scan_bus returning with max=04
PCI: pci_scan_bus returning with max=04
done
Allocating resources...
Reading resources...
PCI: 01:01.0 24 <- [0xfffffffffff00000 - 0xffffffffffefffff] bus 2
prefmem
PCI: 01:02.0 1c <- [0x00fffff000 - 0x00ffffefff] bus 3 io
PCI: 01:02.0 24 <- [0xfffffffffff00000 - 0xffffffffffefffff] bus 3
prefmem
PCI: 01:03.0 24 <- [0x00fff00000 - 0x00ffefffff] bus 4 prefmem
Done reading resources.
Setting resources...
PCI: 00:18.0 1ba <- [0x00fe400000 - 0x00fe3fffff] prefmem <node 0 link
2>
PCI: 00:18.0 1c2 <- [0x0000001000 - 0x0000003fff] io <node 0 link 2>
PCI: 00:18.0 1b2 <- [0x00fd000000 - 0x00fe3fffff] mem <node 0 link 2>
PCI: 01:01.0 1c <- [0x0000001000 - 0x0000001fff] bus 2 io
PCI: 01:01.0 20 <- [0x00fe100000 - 0x00fe1fffff] bus 2 mem
PCI: 02:08.0 10 <- [0x00fe180000 - 0x00fe19ffff] mem64
PCI: 02:08.0 18 <- [0x00fe100000 - 0x00fe13ffff] mem64
PCI: 02:08.0 20 <- [0x0000001000 - 0x000000103f] io
PCI: 02:08.0 30 <- [0x00fe140000 - 0x00fe17ffff] romem
PCI: 02:09.0 10 <- [0x00fe1a0000 - 0x00fe1affff] mem64
PCI: 02:09.0 18 <- [0x00fe1b0000 - 0x00fe1bffff] mem64
PCI: 02:09.1 10 <- [0x00fe1c0000 - 0x00fe1cffff] mem64
PCI: 02:09.1 18 <- [0x00fe1d0000 - 0x00fe1dffff] mem64
PCI: 01:01.1 10 <- [0x00fe300000 - 0x00fe300fff] mem64
PCI: 01:02.0 20 <- [0x00fe200000 - 0x00fe2fffff] bus 3 mem
PCI: 03:03.0 10 <- [0x00fe200000 - 0x00fe20ffff] mem64
PCI: 01:02.1 10 <- [0x00fe301000 - 0x00fe301fff] mem64
PCI: 01:03.0 1c <- [0x0000002000 - 0x0000002fff] bus 4 io
PCI: 01:03.0 20 <- [0x00fd000000 - 0x00fe0fffff] bus 4 mem
PCI: 04:00.0 10 <- [0x00fe000000 - 0x00fe000fff] mem
PCI: 04:00.1 10 <- [0x00fe001000 - 0x00fe001fff] mem
PCI: 04:05.0 10 <- [0x0000002410 - 0x0000002417] io
PCI: 04:05.0 14 <- [0x0000002430 - 0x0000002433] io
PCI: 04:05.0 18 <- [0x0000002420 - 0x0000002427] io
PCI: 04:05.0 1c <- [0x0000002440 - 0x0000002443] io
PCI: 04:05.0 20 <- [0x0000002400 - 0x000000240f] io
PCI: 04:05.0 24 <- [0x00fe003000 - 0x00fe0033ff] mem
PCI: 04:06.0 10 <- [0x00fd000000 - 0x00fdffffff] mem
PCI: 04:06.0 14 <- [0x0000002000 - 0x00000020ff] io
PCI: 04:06.0 18 <- [0x00fe002000 - 0x00fe002fff] mem
PCI: 04:06.0 30 <- [0x00fff80000 - 0x00fff9ffff] romem
PNP: 002e.0 60 <- [0x00000003f0 - 0x00000003f7] io
PNP: 002e.0 70 <- [0x0000000006 - 0x0000000006] irq
PNP: 002e.0 74 <- [0x0000000002 - 0x0000000002] drq
PNP: 002e.2 60 <- [0x00000003f8 - 0x00000003ff] io
PNP: 002e.2 70 <- [0x0000000004 - 0x0000000004] irq
PNP: 002e.5 60 <- [0x0000000060 - 0x0000000060] io
PNP: 002e.5 62 <- [0x0000000064 - 0x0000000064] io
PNP: 002e.5 70 <- [0x0000000001 - 0x0000000001] irq
PNP: 002e.5 72 <- [0x000000000c - 0x000000000c] irq
PNP: 002e.b 60 <- [0x0000000290 - 0x0000000297] io
PNP: 002e.b 70 <- [0x0000000005 - 0x0000000005] irq
PCI: 01:04.1 20 <- [0x0000003420 - 0x000000342f] io
PCI: 01:04.2 10 <- [0x0000003400 - 0x000000341f] io
PCI: 01:04.3 58 <- [0x0000003000 - 0x00000030ff] io
Done setting resources.
Done allocating resources.
Enabling resources...
PCI: 00:18.0 cmd <- 140
PCI: 01:01.0 bridge ctrl <- 0003
PCI: 01:01.0 cmd <- 147
PCI: 02:08.0 cmd <- 143
PCI: 02:09.0 subsystem <- 10f1/2881
PCI: 02:09.0 cmd <- 142
PCI: 02:09.1 subsystem <- 10f1/2881
PCI: 02:09.1 cmd <- 142
PCI: 01:01.1 subsystem <- 10f1/2881
PCI: 01:01.1 cmd <- 146
PCI: 01:02.0 bridge ctrl <- 0003
PCI: 01:02.0 cmd <- 146
PCI: 03:03.0 cmd <- 142
PCI: 01:02.1 subsystem <- 10f1/2881
PCI: 01:02.1 cmd <- 146
PCI: 01:03.0 bridge ctrl <- 0003
PCI: 01:03.0 cmd <- 147
PCI: 04:00.0 subsystem <- 10f1/2881
PCI: 04:00.0 cmd <- 142
PCI: 04:00.1 subsystem <- 10f1/2881
PCI: 04:00.1 cmd <- 142
PCI: 04:05.0 subsystem <- 10f1/2881
PCI: 04:05.0 cmd <- 143
PCI: 04:06.0 subsystem <- 10f1/2881
PCI: 04:06.0 cmd <- 1c3
PCI: 01:04.0 subsystem <- 10f1/2881
PCI: 01:04.0 cmd <- 14f
w83627hf hwm smbus enabled
PCI: 01:04.1 subsystem <- 10f1/2881
PCI: 01:04.1 cmd <- 141
PCI: 01:04.2 subsystem <- 10f1/2881
PCI: 01:04.2 cmd <- 141
PCI: 01:04.3 subsystem <- 10f1/2881
PCI: 01:04.3 cmd <- 141
PCI: 00:18.1 subsystem <- 10f1/2881
PCI: 00:18.1 cmd <- 140
PCI: 00:18.2 subsystem <- 10f1/2881
PCI: 00:18.2 cmd <- 140
PCI: 00:18.3 cmd <- 140
PCI: 00:19.0 cmd <- 140
PCI: 00:19.1 cmd <- 140
PCI: 00:19.2 cmd <- 140
PCI: 00:19.3 cmd <- 140
done.
Initializing devices...
Root Device init
APIC_CLUSTER: 0 init
Initializing CPU #0
CPU: vendor AMD device f5a
Enabling cache

Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM
Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM
DONE fixed MTRRs
Setting variable MTRR 0, base:    0MB, range: 1024MB, type WB
DONE variable MTRRs
Clear out the extra MTRR's

MTRR check
Fixed MTRRs   : Enabled
Variable MTRRs: Enabled

microcode: equivalent processor rev id  = 0x004a, patch id = 0x00000000
microcode: patch id that want to apply= 0x00000047
microcode: updated to patch id = 0x00000047  success
Setting up local apic... apic_id: 0 done.
Clearing memory 1024K - 524288K: ------- done
CPU #0 Initialized
start_eip=0x00010000
Initializing CPU #1
Waiting for 1 CPUS to stop
CPU: vendor AMD device f5a
Enabling cache

Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM
Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM
DONE fixed MTRRs
Setting variable MTRR 0, base:    0MB, range: 1024MB, type WB
DONE variable MTRRs
Clear out the extra MTRR's

MTRR check
Fixed MTRRs   : Enabled
Variable MTRRs: Enabled

microcode: equivalent processor rev id  = 0x004a, patch id = 0x00000000
microcode: patch id that want to apply= 0x00000047
microcode: updated to patch id = 0x00000047  success
Setting up local apic... apic_id: 1 done.
Clearing memory 524288K - 1048576K: -------- done
CPU #1 Initialized
All AP CPUs stopped
PCI: 00:18.0 init
PCI: 01:01.0 init
PCI: 02:09.0 init
PCI: 02:09.1 init
PCI: 01:02.0 init
PCI: 01:03.0 init
PCI: 04:05.0 init
PCI: 04:06.0 init
PCI: 01:04.0 init
RTC Init
RTC: Checksum invalid zeroing cmos
enabling HPET @0xfed00000
PNP: 002e.0 init
PNP: 002e.2 init
PNP: 002e.5 init
PNP: 002e.b init
PCI: 01:04.1 init
IDE1 IDE0 PCI: 01:04.3 init
set power on after power fail
smbus: PCI: 01:04.3[0]->I2C: 01:2d init
PCI: 00:18.1 init
PCI: 00:18.2 init
PCI: 00:18.3 init
NB: Function 3 Misc Control.. done.
PCI: 00:19.0 init
PCI: 00:19.1 init
PCI: 00:19.2 init
PCI: 00:19.3 init
NB: Function 3 Misc Control.. done.
PCI: 02:08.0 init
PCI: 03:03.0 init
Devices initialized
Writing IRQ routing tables to 0xf0000...done.
Wrote the mp table end at: 00000020 - 000001cc
Moving GDT to 0x500...ok
Wrote linuxbios table at: 00000530 - 00000ddc  checksum 561a

Welcome to elfboot, the open sourced starter.
January 2002, Eric Biederman.
Version 1.3

    33:stream_init() - rom_stream: 0xfff80000 - 0xfff9ffff
Found ELF candiate at offset 0
Loading Etherboot version: 5.4.1
Dropping non PT_LOAD segment
New segment addr 0x10000 size 0x3e7a0 offset 0x0 filesize 0xb600
(cleaned up) New segment addr 0x10000 size 0x3e7a0 offset 0x0 filesize
0xb600
Loading Segment: addr: 0x000000003ff90000 memsz: 0x0000000000032000
filesz: 0x000000000000b600
Clearing Segment: addr: 0x000000003ff9b600 memsz: 0x0000000000026a00
Loading Segment: addr: 0x0000000000042000 memsz: 0x000000000000c7a0
filesz: 0x0000000000000000
Clearing Segment: addr: 0x0000000000042000 memsz: 0x000000000000c7a0
Jumping to boot code at 0x100b0
CPU 2065 Mhz
Etherboot 5.4.1 (GPL) http://etherboot.org
Drivers: FILO   Images: NBI ELF FreeBSD Multiboot a.out   
Protocols: DHCP TFTP 
Relocating _text from: [000101b0,0004e7a0) to [3fec1a10,3ff00000)
Scanning PCI: found 25 devices
Boot from (N)etwork (D)isk or (Q)uit? 

Probing pci disk...
[FILO]boot eax = 0xc50401ac
boot ebx = 0x00800401
boot arg = 0x00000000
FILO version 0.4.1 (bilse at sd3) Fri Mar 24 18:08:56 GMT 2006
Press <Enter> for default boot, or <Esc> for boot prompt... 5 4 3
2 1 timed out
boot: hda1:/boot/vmlinuz-2.6.9-1.667smp
initrd=/boot/initrd-2.6.9-1.667smp.img pci=noacpi ro root=/dev/hda1
console=ttyS0,19200
found PCI IDE controller 00001022:00007469 prog_if=0x0000008a
primary channel: compatibility mode
cmd_base=0x000001f0 ctrl_base=0x000003f4
Waiting for ide0 to become ready for reset... ok
Testing for hda
Probing for hda
Init device params... ok
hda: LBA: ST320413A                               
Partition 1 start u length u
Mounted ext2fs
Not a bootable ELF image
already open
Found Linux version 2.6.9-1.667smp (bhcompile at tweety.build.redhat.com)
#1 SMP Tue Nov 2 14:59:52 EST 2004 (protocol 0x00000203) (loadflags
0x00000001) bzImage.
Setting up paramters at 0x00090000
ramtop=0x000ffc00k
ext_mem_k=64512, alt_mem_k=1047552
original command line: "initrd=/boot/initrd-2.6.9-1.667smp.img
pci=noacpi ro root=/dev/hda1 console=ttyS0,19200"
kernel command line at 0x00091000
initrd=/boot/initrd-2.6.9-1.667smp.img
kernel command line (48 bytes): "pci=noacpi ro root=/dev/hda1
console=ttyS0,19200"
offset=0x00001600 addr=0x00100000 size=0x0014d2a0
Loading kernel... ok
start=0x3fe4d000 end=0x3fec10e1
Loading initrd... ok
eip=0x00100000
Jumping to entry point...
Linux version 2.6.9-1.667smp (bhcompile at tweety.build.redhat.com) (gcc
version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)) #1 SMP Tue Nov 2 14:59:52
EST 2004
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 0000000000000e44 type 16
 BIOS-e820: 0000000000000e44 - 00000000000a0000 (usable)
 BIOS-e820: 00000000000f0000 - 00000000000f0400 type 16
 BIOS-e820: 0000000000100000 - 0000000040000000 (usable)
0MB HIGHMEM available.
1024MB LOWMEM available.
found SMP MP-table at 00000010
NX (Execute Disable) protection: active
DMI not present.
Using APIC driver default
ACPI: Unable to locate RSDP
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: TYAN     Product ID: S2881        APIC at: 0xFEE00000
Processor #0 15:5 APIC version 16
Processor #1 15:5 APIC version 16
I/O APIC #2 Version 17 at 0xFEC00000.
I/O APIC #3 Version 17 at 0xFE300000.
I/O APIC #4 Version 17 at 0xFE301000.
Enabling APIC mode:  Flat.  Using 3 I/O APICs
Processors: 2
Built 1 zonelists
Kernel command line: pci=noacpi ro root=/dev/hda1 console=ttyS0,19200
mapped 4G/4G trampoline to fffec000.
Initializing CPU#0
CPU 0 irqstacks, hard=023ce000 soft=023ae000
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 1993.323 MHz processor.
Using tsc for high-res timesource
Console: colour dummy device 80x25
Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
Memory: 1033248k/1048576k available (1772k kernel code, 14740k reserved,
736k data, 184k init, 0k highmem)
Security Scaffold v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
There is already a security framework initialized, register_security
failed.
selinux_register_security:  Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
CPU0: AMD 02/05 stepping 0a
per-CPU timeslice cutoff: 2925.27 usecs.
task migration cache decay timeout: 3 msecs.
Booting processor 1/1 eip 3000
CPU 1 irqstacks, hard=023cf000 soft=023af000
Initializing CPU#1
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: AMD 02/05 stepping 0a
Total of 2 processors activated (7897.08 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=0
checking TSC synchronization across 2 CPUs: passed.
Brought up 2 CPUs
zapping low mappings.
checking if image is initramfs... it is
Freeing initrd memory: 464k freed
NET: Registered protocol family 16
CPU 0: Machine Check Exception: 0000000000000004
Bank 4: f60320018f080813 at 00000000000e0010
Kernel panic - not syncing: CPU context corrupt
 

## ENDS






More information about the coreboot mailing list