On Sun, May 11, 2014 at 04:19:55PM +0200, Bernhard Walle wrote:
> Am 2014-05-11 14:37, schrieb Kevin O'Connor:
> >On Sun, May 11, 2014 at 01:42:57PM +0200, Bernhard Walle wrote:
> >>Am 10.05.14 17:07, schrieb Kevin O'Connor:
> >>> Also, it looks like uvesafb can call x86emu. Older versions of x86emu
> >>> are known to not emulate some instructions properly, and it has caused
> >>> problems for SeaVGABIOS. The most recent version of SeaVGABIOS from
> >>> SeaBIOS git has additional checks for this - can you grab the seabios
> >>> git, set CONFIG_DEBUG_LEVEL to 8, build SeaVGABIOS (set
> >>> CONFIG_VGA_BOCHS), and post the logs from both Linux and QEMU with the
> >>> above options?
> >>
> >>It doesn't change the result (that it doesn't work). It only makes the
> >>kernel failing much faster and of course there's much more debugging
> >>output: http://bwalle.de/tmp/debugoutput (250k).
> >
> >Were there any Linux or userspace messages with the above?
>
>
> Yes:
>
> uvesafb: Getting VBE info block failed (eax=0x1d2, err=0)
> uvesafb: vbe_init() failed with -22
> uvesafb: probe of uvesafb.0 failed with error -22
It does look like the x86emu issue. You can try applying the
SeaVGABIOS patch below to confirm it.
-Kevin
--- a/vgasrc/vgaentry.S
+++ b/vgasrc/vgaentry.S
@@ -47,7 +47,14 @@ _rom_header_signature:
// Force a fault if found to be running on broken x86emu versions.
DECLFUNC x86emu_fault
+msg: .ascii "SeaVGABIOS: x86emu leal trap!\n"
x86emu_fault:
+#if CONFIG_DEBUG_IO
+ movw %cs:DebugOutputPort, %dx
+ movl $30, %ecx
+ movl $msg, %esi
+ rep outsb %cs:(%esi), (%dx)
+#endif
1: hlt
jmp 1b