Re: [Qemu-devel] [SeaBIOS] SeaBIOS error with Juniper FreeBSD kernel
> Are all versions based on FreeBSD 4.11? > Are newer versions still affected? Newer versions should be based on 6.1 but there are a lot of changes. I haven't had a chance to test with something newer yet. -Brandon
Re: [Qemu-devel] SeaBIOS error with Juniper FreeBSD kernel
> On Sat, Feb 20, 2010 at 9:05 PM, Kevin O'Connor wrote: >> Should a kernel fail during boot, I'd suspect it doesn't like one of >> the apm/pcibios callbacks, or it doesn't like one of the >> smbios/mptable/acpi tables. You could try compiling the SeaBIOS code >> (see http://seabios.org/Download ) and increasing the debugging by >> modifying src/config.h. Specifically, you could increase >> CONFIG_DEBUG_LEVEL, and set DEBUG_HDL_pcibios32 and DEBUG_HDL_apm to >> 1. Also, you could try disabling some of the features to see if that >> prevents the fault (eg, disabling CONFIG_ACPI / CONFIG_SMBIOS / >> CONFIG_MPTABLE). > I have narrowed it down to SMBIOS. If I disable CONFIG_SMBIOS the image boots up fine. -Brandon
Re: [Qemu-devel] SeaBIOS error with Juniper FreeBSD kernel
On Sat, Feb 20, 2010 at 9:05 PM, Kevin O'Connor wrote: > On Sat, Feb 20, 2010 at 05:23:59PM -0700, Brandon Bennett wrote: >> When booting a Juniper JunOS kernel (FreeBSD based) I am getting a >> panic: unkown/reserved trap error immediately after the kernel loads. >> If i use an older pc-bios with the '-bios' option everything works so >> it seems to be an issue with the SeaBios. >> >> With #DEBUG_BIOS enabled in hw/pc.c here is what i am getting during boot. > > Thanks Brandon, > > I don't see anything in the log that looks suscpicious. Are these > JunOS images available for download somewhere? JunOS is the operating system that runs on Juniper Networks Routers. The routers control plane is made up of standard x86 hardware so you an run the software on a standard x86 box or hardware virtualizer like qemu to run labs to test configurations and study for new tests, etc. This is called an Olive. You can read more about it here http://juniper.cluepon.net/index.php/Olive It's not freely available. > Should a kernel fail during boot, I'd suspect it doesn't like one of > the apm/pcibios callbacks, or it doesn't like one of the > smbios/mptable/acpi tables. You could try compiling the SeaBIOS code > (see http://seabios.org/Download ) and increasing the debugging by > modifying src/config.h. Specifically, you could increase > CONFIG_DEBUG_LEVEL, and set DEBUG_HDL_pcibios32 and DEBUG_HDL_apm to > 1. Also, you could try disabling some of the features to see if that > prevents the fault (eg, disabling CONFIG_ACPI / CONFIG_SMBIOS / > CONFIG_MPTABLE). I turned up the CONFIG_DEBUG_LEVEL to 8 and left DEBUG_HDL_pcibios and DEBUG_HDL_apm at 9. I'll play around with disabling the various options you stated above in a bit. Here is the output from that debug: bbenn...@strongbad:~/Lab/JNCIP-M$ qemu -m 512m -hda olive-base-8.1R4.3.img -cdrom 4.11-RELEASE-i386-miniinst.iso -boot c -nographic -bios ~/Devel/out-debug/bios.bin Start bios (version pre-0.5.2-20100221_145730-ubuntu) enabling shadow ram init ivt init bda Find memory size Add to e820 map: 2000 1 Add to e820 map: 1 Add to e820 map: fffc 0004 2 Add to e820 map: 000a 0005 -1 Add to e820 map: 0009f400 0c00 2 Add to e820 map: 000f 0001 2 Ram Size=0x2000 (0x high) malloc setup Add to e820 map: 1fff 0001 2 init pic init timer tsc calibrate start=42359373 end=47360586 diff=5001213 CPU Mhz=2913 math cp init qemu_cfg_present=1 Found 1 cpu(s) max supported 1 cpu(s) pci setup PIIX3/PIIX4 init: elcr=00 0c PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 region 4: 0xc000 PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 PCI: bus=0 devfn=0x10: vendor_id=0x1013 device_id=0x00b8 region 0: 0xf000 region 1: 0xf200 region 6: 0xf201 PCI: bus=0 devfn=0x18: vendor_id=0x8086 device_id=0x100e region 0: 0xf202 region 1: 0xc040 region 6: 0xf204 init smm init bios32 init PMM init PNPBIOS table init keyboard init mouse init PIR table init MPTable pmm_malloc zone=0x000f640c handle= size=32768 align=10 ret=0x1ffe7fe0 (info=0x1ffeffe0) pmm_malloc zone=0x000f63f4 handle= size=224 align=10 ret=0x000f7ec0 (info=0x1ffe7fc0) pmm_malloc zone=0x000f63f4 handle= size=16 align=10 ret=0x000f7eb0 (info=0x1ffe7fa0) pmm_free data=0x1ffe7fe0 olddata=0x1ffeffe0 oldallocdata=0x1fff info=0x1ffeffe0 MP table addr=0x000f7eb0 MPC table addr=0x000f7ec0 size=224 init SMBIOS tables pmm_malloc zone=0x000f640c handle= size=32768 align=10 ret=0x1ffdff80 (info=0x1ffe7f80) pmm_malloc zone=0x000f63f4 handle= size=31 align=10 ret=0x000f7e90 (info=0x1ffdff60) pmm_malloc zone=0x000f63e8 handle= size=263 align=10 ret=0x1ef0 (info=0x1ffdff40) SMBIOS ptr=0x000f7e90 table=0x1ef0 pmm_free data=0x1ffdff80 olddata=0x1ffe7f80 oldallocdata=0x1ffe7fa0 info=0x1ffe7f80 init ACPI tables pmm_malloc zone=0x000f63f4 handle= size=36 align=10 ret=0x000f7e60 (info=0x1ffdff20) pmm_malloc zone=0x000f63e8 handle= size=116 align=10 ret=0x1e70 (info=0x1ffdff00) pmm_malloc zone=0x000f63e8 handle= size=64 align=40 ret=0x1e00 (info=0x1ffdfee0) pmm_malloc zone=0x000f63e8 handle= size=7714 align=10 ret=0x1fffdfd0 (info=0x1ffdfec0) pmm_malloc zone=0x000f63e8 handle= size=56 align=10 ret=0x1fffdf90 (info=0x1ffdfea0) pmm_malloc zone=0x000f63e8 handle= size=224 align=10 ret=0x1fffdeb0 (info=0x1ffdfe80) pmm_malloc zone=0x000f63e8 handle= size=56 align=10 ret=0x1fffde70 (info=0x1ffdfe60) pmm_malloc zone=0x000f63e8 handle= size=52 align=10 ret=0x1fffde30 (info=0x1ffdfe40) ACPI tables: RSDP=0x000f7e60 RSDT=0x1fffde30 Scan for VGA option rom Attempting to in
[Qemu-devel] SeaBIOS error with Juniper FreeBSD kernel
When booting a Juniper JunOS kernel (FreeBSD based) I am getting a panic: unkown/reserved trap error immediately after the kernel loads. If i use an older pc-bios with the '-bios' option everything works so it seems to be an issue with the SeaBios. With #DEBUG_BIOS enabled in hw/pc.c here is what i am getting during boot. bbenn...@strongbad:~/Lab/JNCIP-M$ qemu -m 512m -hda olive-base-8.1R4.3.img -cdrom 4.11-RELEASE-i386-miniinst.iso -boot c -localtime -nographic Start bios (version 0.5.1-20100111_132716-squirrel.codemonkey.ws) Ram Size=0x2000 (0x high) CPU Mhz=3000 Found 1 cpu(s) max supported 1 cpu(s) PIIX3/PIIX4 init: elcr=00 0c PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 region 4: 0xc000 PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 PCI: bus=0 devfn=0x10: vendor_id=0x1013 device_id=0x00b8 region 0: 0xe000 region 1: 0xe200 region 6: 0xe201 PCI: bus=0 devfn=0x18: vendor_id=0x8086 device_id=0x100e region 0: 0xe202 region 1: 0xc040 region 6: 0xe204 MP table addr=0x000f89b0 MPC table addr=0x000f89c0 size=224 SMBIOS ptr=0x000f8990 table=0x1ef0 ACPI tables: RSDP=0x000f8960 RSDT=0x1fffde30 Scan for VGA option rom Running option rom at c000:0003 VGABios $Id$ Turning on vga console Starting SeaBIOS (version 0.5.1-20100111_132716-squirrel.codemonkey.ws) Found 1 lpt ports Found 1 serial ports ATA controller 0 at 1f0/3f4/c000 (irq 14 dev 9) ATA controller 1 at 170/374/c008 (irq 15 dev 9) ps2 irq but no data. ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 ps2_recvbyte timeout keyboard initialized Scan for option roms Running option rom at c900:0003 pnp call arg1=60 pmm call arg1=0 pmm call arg1=2 pmm call arg1=0 Returned 53248 bytes of ZoneHigh e820 map has 6 items: 0: - 0009f400 = 1 1: 0009f400 - 000a = 2 2: 000f - 0010 = 2 3: 0010 - 1fffd000 = 1 4: 1fffd000 - 2000 = 2 5: fffc - 0001 = 2 enter handle_19: NULL Booting from Hard Disk... Booting from :7c00 Console: serial port BIOS drive C: is disk0 BIOS 637kB/523252kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 (buil...@vouivre.juniper.net, Fri Aug 24 16:01:34 GMT 2007) Loading /boot/defaults/loader.conf /boot/installer text=0x24c77f data=0x2aa7c+0x38462 syms=[0x4+0x3a420+0x4+0x454ac] | Hit [Enter] to boot immediately, or space bar for command prompt. Booting [installer]... kernel trap 12 with interrupts disabled instruction pointer = 0x8:0xc02ebc3e stack pointer = 0x10:0xc07f9edc frame pointer = 0x10:0xc07f9f34 code segment= base 0x0, limit 0xf, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags= interrupt enabled, IOPL = 0 current process = Idle interrupt mask = net tty bio cam trap number = 30 dog: ERROR - reset of uninitialized watchdog panic: unknown/reserved trap (null)(c037dbc0,c037dbc0,c032d5c4,c07f9df0,5) at0 (null)(c032d5c4,1e,c07f9f34,0,0) at0 (null)(c07f9e9c,0,c07f9ef4,c01951ed) at0 (null)(10,10,10,0,c) at0 (null)(10,10,10,0,7fe000) at0 (null)(2) at0 (null)(c07f9ff4,c02e569c,0,81,7fe000) at0 (null)(c07f9fd4,f,3,8,0) at0 (null)(7fe000,0,0,0,0) at0 (null)() at0 dog: ERROR - reset of uninitialized watchdog dog: ERROR - reset of uninitialized watchdog Uptime: 0s Any help or direction on where to look further or options to try would be great. Thanks, -Brandon Bennett