Re: [Qemu-devel] [SeaBIOS] SeaBIOS error with Juniper FreeBSD kernel

2011-07-11 Thread Brandon Bennett
> 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

2010-02-21 Thread Brandon Bennett
> 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

2010-02-21 Thread Brandon Bennett
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

2010-02-20 Thread Brandon Bennett
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