El 15/04/15 a les 19.31, Roger Pau Monné ha escrit:
Hello,
I've compiled SeaBIOS on FreeBSD with gcc48, and although the build process succeeds, the resulting binary doesn't fully work. Most functions seem to work fine but there are some int15h functions that don't work properly (ie: they return invalid values).
I've compiled SeaBIOS with CONFIG_DEBUG_LEVEL=10 and got the following output (this is from the Xen console):
[...] (d4) enter handle_1a: (d4) a=00000200 b=00000000 c=00001725 d=00003400 ds=4cf0 es=9eb8 ss=dd00 (d4) si=00000004 di=00000000 bp=00000000 sp=0000fe66 cs=0000 ip=9336 f=0242 (d4) enter handle_1a: (d4) a=00000200 b=00000000 c=00001725 d=00003400 ds=4cf0 es=9eb8 ss=dd00 (d4) si=00000004 di=00000000 bp=00000000 sp=0000fe66 cs=0000 ip=9336 f=0242 (d4) enter handle_1a: (d4) a=00000200 b=00000000 c=00001725 d=00003400 ds=4cf0 es=9eb8 (XEN) irq.c:386: Dom4 callback via changed to Direct Vector 0x93 (XEN) irq.c:276: Dom4 PCI link 0 changed 5 -> 0 (XEN) irq.c:276: Dom4 PCI link 1 changed 10 -> 0 (XEN) irq.c:276: Dom4 PCI link 2 changed 11 -> 0 (XEN) irq.c:276: Dom4 PCI link 3 changed 5 -> 0 (d4) enter handle_15:
And that's all, there's no line containing the register values. I'm quite lost at figuring what's going on, so any help about how to proceed in order to debug this is highly appreciated.
Forgot to add that using the SeaBIOS binary built on FreeBSD on Linux shows the same behaviour, while using a SeaBIOS built on Linux on FreeBSD works perfectly fine.
Roger.