On Thu, Apr 09, 2015 at 06:39:55PM +0200, Paolo Bonzini wrote: > On 09/04/2015 18:37, Kevin O'Connor wrote: > > Commit 251e2638 introduced the "smsww" instruction to the vgabios. > > Unfortunately, it appears at least some versions of x86emu crash when > > executing that instruction (eg, FC13 installer crashes). That > > instruction wasn't required to work around the problem fixed in > > 251e2638, so just avoid it. > > > > Signed-off-by: Kevin O'Connor <[email protected]> > > --- > > > > The fix for the "skifree bug" tickled yet another old OS problem - old > > versions of x86emu don't like smsww. :-( The smsww wasn't strickly > > necessary, so this patch just stops using it. > > > > --- > > vgasrc/vgabios.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c > > index 7c1f0b8..f07e85b 100644 > > --- a/vgasrc/vgabios.c > > +++ b/vgasrc/vgabios.c > > @@ -304,7 +304,7 @@ vga_set_mode(int mode, int flags) > > SET_BDA(video_mode, 0xff); > > SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); > > SET_BDA_EXT(vgamode_offset, (u32)vmode_g); > > - if (CONFIG_VGA_ALLOCATE_EXTRA_STACK && !(getcr0_vm86() & CR0_PE)) > > + if (CONFIG_VGA_ALLOCATE_EXTRA_STACK) > > // Disable extra stack if it appears a modern OS is in use. > > // This works around bugs in some versions of Windows (Vista > > // and possibly later) when the stack is in the e-segment. > > > > Is it worth keeping the definition in src/x86.h?
Thanks for reviewing. It could be removed, but I was thinking of leaving it in. It's always a pain getting the parameters of gcc inline assembler correct and it might be useful for some future requirement in the main bios (which doesn't need to support x86emu). -Kevin _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
