On Thu, Mar 15, 2012 at 10:39 PM, Julian Pidancet <[email protected]> wrote: > On Fri, Mar 9, 2012 at 2:08 AM, Guillem Jover <[email protected]> wrote: >> On Fri, 2012-03-09 at 00:02:55 +0000, Julian Pidancet wrote: >>> Some instructions are not emulated correctly by x86emu when they >>> are prefixed by the 0x66 opcode. >>> I've identified problems in the emulation of these intructions: ret, >>> enter, leave, iret and some forms of call. >>> >>> Most of the time, the problem is that these instructions should push or >>> pop 32-bit values to/from the stack, instead of 16bit, when they are >>> prefixed by the 0x66 special opcode. >>> >>> The SeaBIOS project aims to produce a complete legacy BIOS >>> implementation as well as a VGA option ROM, entirely written in C and >>> using the GCC compiler. >>> >>> In 16bit code produced by the GCC compiler, the 0x66 prefix is used >>> almost everywhere. This patch is necessary to allow the SeaBIOS VGA >>> option ROM to function with Xorg when using the vesa driver. >>> >>> v2: - Decrement BP instead of EBP in accordance with the Intel Manual >>> - Assign EIP instead of IP when poping the return address from the >>> stack in 32-bit operand size mode in ret_far_IMM, ret_far, and iret >>> - When poping EFLAGS from the stack in iret in 32-bit operand size >>> mode, apply some mask to preserve Read-only flags. >>> >>> Signed-off-by: Julian Pidancet <[email protected]> >> >> Looks good to me: >> >> Reviewed-by: Guillem Jover <[email protected]> >> >> thanks, >> guillem > > Anyone interested in this ? Is there a maintainer for x86emu ? The > MAINTAINERS file in xorg-docs doesn't mention anything about it. >
CCed: Adam Jackson Adam, you seem to be the maintainer of the xorg vesa driver. I think this patch is closely related. Would you mind taking a look at it ? Thanks, -- Julian _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
