[SeaBIOS] SeaBIOS error with Juniper FreeBSD kernel

Bjørn Mork bjorn at mork.no
Tue Apr 13 20:48:35 CEST 2010


Gleb Natapov <gleb at redhat.com> writes:
> On Sun, Feb 28, 2010 at 02:39:04PM -0500, Kevin O'Connor wrote:
>> On Sun, Feb 21, 2010 at 04:18:38PM -0700, Brandon Bennett wrote:
>>
>> > I have narrowed it down to SMBIOS.  If I disable CONFIG_SMBIOS the
>> > image boots up fine.
>> 
>> Gleb, have you seen this thread?
>> 
>> Some of the recent changes to smbios that look like possible culprits
>> are:
>> 
>> Make SMBIOS table pass MS SVVP test
>> Use MaxCountCPUs during building of per cpu tables.
>> Add malloc_high/fseg() and rework bios table creation to use them.
>> 
> If there is any seabios revision that works then it is possible to
> bisect to find problematic commit.

Hello,

I'm also bitten by this and have now attempted to bisect it.  The result
was: 

c95d2cee36db79c88253d43a90230ceadf0c26cf is first bad commit
commit c95d2cee36db79c88253d43a90230ceadf0c26cf
Author: Kevin O'Connor <kevin at koconnor.net>
Date:   Wed Jul 29 20:41:39 2009 -0400

    Add auto-generated version info to each build.
    
    Add versioning info to initial debug and screen banner output.

:100644 100644 2e2ba1dbf46cb7a12eeaafbc394f3f279c10abf4 37589097295dde049f8512d99561a0320955fb41 M      Makefile
:040000 040000 29c4ea1e03416fce9b3aa963ece74050a7b5769a 2b5425a20726caeadba524e14756c8827dd66595 M      src



Which looks a bit strange... I'm afraid I'm unable to revert this on the
current HEAD due to other changes in the same area and my complete lack
of understanding any assembler.  But I have verified that 
 commit 8c8a880b584ccf8958d67e99a6750ba32d0b6454
is working for me, while 
 commit c95d2cee36db79c88253d43a90230ceadf0c26cf
has the mentioned problems.


However, I am not completely sure that I didn't mess up something which
affected the result.  I do note that the *working* version logs a 
"Bad SMBIOS data checksum" message:

olive at canardo:~$ kvm -L /usr/local/src/git/seabios/out -m 1024 -hda olive2.img  -nographic -serial mon:stdio -monitor null 
Could not open option rom 'vapic.bin': No such file or directory
pci_add_option_rom: failed to find romfile "vgabios-cirrus.bin"
pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
Consoles: serial port  
BIOS drive C: is disk0
BIOS 639kB/1047544kB available memory

FreeBSD/i386 bootstrap loader, Revision 1.1
(builder at ormonth.juniper.net, Tue Nov  3 08:19:23 UTC 2009)
Loading /boot/defaults/loader.conf 
/kernel text=0x74574c     smbios_init: Bad SMBIOS data checksum
data=0x42ba0+0x92e34 syms=[0x4+0x7f570+0x4+0xb12b2]
/boot/modules/if_bge.ko text=0xa98c data=0x364+0xc syms=[0x4+0xd50+0x4+0xd18]
/boot/modules/mpt_core.ko text=0x18dbc data=0x488+0x358 
/boot/modules/if_bce.ko text=0xd07c data=0x16d94+0x24e4 syms=[0x4+0x14d0+0x4+0x1787]
/boot/modules/acb.ko text=0x3d78 data=0x284+0x80 syms=[0x4+0xa70+0x4+0x9a4]
/boot/modules/mcs.ko text=0x4dc0 data=0x391+0xeb syms=[0x4+0xc40+0x4+0xbc2]
/boot/modules/scs.ko text=0x7c08 data=0x564+0x164 syms=[0x4+0x1110+0x4+0x1179]
/boot/modules/rcb.ko text=0x29c8 data=0x184+0x2c syms=[0x4+0x7e0+0x4+0x704]
/boot/modules/cb.ko text=0x63fc data=0x3b8+0x11c syms=[0x4+0xf20+0x4+0xe69]
/boot/modules/mesw.ko text=0x630c data=0x344+0x58 syms=[0x4+0xba0+0x4+0xe7a]
/boot/modules/cbd.ko text=0x1fcc data=0x9c+0xc syms=[0x4+0x540+0x4+0x445]
/boot/modules/sfccb.ko text=0xe30 data=0x1b0+0x14 syms=[0x4+0x540+0x4+0x4a5]
/boot/modules/mac_runasnonroot.ko text=0x7b4 data=0x4d0 syms=[0x4+0x310+0x4+0x39d]


Hit [Enter] to boot immediately, or space bar for command prompt.
Booting [/kernel]...               
platform_early_bootinit: M/T Series Early Boot Initialization
Olive CPU
GDB: debug ports: sio
[snip]


while the failing version does not cause this message:

olive at canardo:~$ kvm -L /usr/local/src/git/seabios/out -m 1024 -hda olive2.img  -nographic -serial mon:stdio -monitor null 
Could not open option rom 'vapic.bin': No such file or directory
pci_add_option_rom: failed to find romfile "vgabios-cirrus.bin"
pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
Consoles: serial port  
BIOS drive C: is disk0
BIOS 639kB/1047544kB available memory

FreeBSD/i386 bootstrap loader, Revision 1.1
(builder at ormonth.juniper.net, Tue Nov  3 08:19:23 UTC 2009)
Loading /boot/defaults/loader.conf 
/kernel text=0x74574c data=0x42ba0+0x92e34 syms=[0x4+0x7f570+0x4+0xb12b2]
/boot/modules/if_bge.ko text=0xa98c data=0x364+0xc syms=[0x4+0xd50+0x4+0xd18]
/boot/modules/mpt_core.ko text=0x18dbc data=0x488+0x358 
/boot/modules/if_bce.ko text=0xd07c data=0x16d94+0x24e4 syms=[0x4+0x14d0+0x4+0x1787]
/boot/modules/acb.ko text=0x3d78 data=0x284+0x80 syms=[0x4+0xa70+0x4+0x9a4]
/boot/modules/mcs.ko text=0x4dc0 data=0x391+0xeb syms=[0x4+0xc40+0x4+0xbc2]
/boot/modules/scs.ko text=0x7c08 data=0x564+0x164 syms=[0x4+0x1110+0x4+0x1179]
/boot/modules/rcb.ko text=0x29c8 data=0x184+0x2c syms=[0x4+0x7e0+0x4+0x704]
/boot/modules/cb.ko text=0x63fc data=0x3b8+0x11c syms=[0x4+0xf20+0x4+0xe69]
/boot/modules/mesw.ko text=0x630c data=0x344+0x58 syms=[0x4+0xba0+0x4+0xe7a]
/boot/modules/cbd.ko text=0x1fcc data=0x9c+0xc syms=[0x4+0x540+0x4+0x445]
/boot/modules/sfccb.ko text=0xe30 data=0x1b0+0x14 syms=[0x4+0x540+0x4+0x4a5]
/boot/modules/mac_runasnonroot.ko text=0x7b4 data=0x4d0 syms=[0x4+0x310+0x4+0x39d]


Hit [Enter] to boot immediately, or space bar for command prompt.
Booting [/kernel]...               
platform_early_bootinit: M/T Series Early Boot Initialization
kernel trap 12 with interrupts disabled


Fatal trap 30: reserved (unknown) fault while in kernel mode
instruction pointer     = 0x20:0xc09ba131
stack pointer           = 0x28:0xc1021c6c
frame pointer           = 0x28:0xc1021ca4
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, IOPL = 0
current process         = 0 ()
trap number             = 30
dog: ERROR - reset of uninitialized watchdog
panic: reserved (unknown) fault
(null)(c0ba9440,c0ba9440,c0b40fd0,c1021bb4,5) at 0xc09a5757
(null)(c0b40fd0,1e,c1021c2c,1,1) at 0xc0593caf
(null)(c0b23132,0,c1021d14,c05b41e0,a) at 0xc09b9747
(null)(c1021c2c) at 0xc09ba631
(null)(c1021cb0) at 0xc09a6d8f
(null)(c1021d44,c0aa42a9,c0b42b37,c1021d34,c1021d30) at 0xc09a6d8f
(null)(c0b42b37,c1021d34,c1021d30,a,c1021d54) at 0xc09a001e
(null)(c0b21154,c0ad7f78,c1021d84,c09af90e,80) at 0xc0aa42a9
(null)(80,c09a6dd0,f,3,20) at 0xc0aa488e
(null)(1026000) at 0xc09af90e
(null)() at 0xc049bb8d
kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xf000ff53
fault code              = supervisor write, page not present
instruction pointer     = 0x20:0xc05bc3bd
stack pointer           = 0x28:0xc1021920
frame pointer           = 0x28:0xc1021940
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 0 ()
trap number             = 12
dog: ERROR - reset of uninitialized watchdog
panic: page fault
XXXXX: ERROR platform_boot_mastership_relinquish not defined:XXXXXdog: ERROR - reset of uninitialized watchdog
dog: ERROR - reset of uninitialized watchdog
Uptime: 1s



I guess this can affect the result if it means that SMBIOS is being
disabled/ignored. I can confirm Brandon's findings that disabling
CONFIG_SMBIOS on current head also gives me a working image.


Bjørn



More information about the SeaBIOS mailing list