xserver-multidpi/hw/xfree86/x86emu
Luc Verhaegen cc2c73ddcb x86emu: fix jump_near_IMM to handle DATA: flag correctly.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24348

Before (data flag ignored -> broken):
66                  DATA:
e944f1              JMP       1ff6

After (fixed):
66                  DATA:
e944f1ffff          JMP       00001ff8

This subtle difference in the length of decoded instruction meant
that the VBE call jumped to the routine setting AX=0x14F (VBE Failed)
instead of the routine that set AX=0x4F (VBE success).

The ability to run the same code in vm86 significantly aided the
debugging of this issue. Those X.org developers who would like to drop
vm86 better take special care towards _all_ vesa bugs, as those will
expose further issues.

Patch applies easily to even xserver 1.4.2.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Tested-by: Luc Verhaegen <libv@skynet.be>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-10 14:56:57 -08:00
..
x86emu Convert x86emu fixed size int typedefs to use stdint types 2010-04-07 16:18:24 -07:00
debug.c Make x86emu's I/O cycle tracing more useful. 2007-07-02 18:41:55 -04:00
decode.c Remove libcwrapper usage from xorg server modules. The libcwrapper is only 2006-02-10 22:00:30 +00:00
fpu.c Updated x86emu and resynced with upsteam at Scitech. 2004-05-26 17:44:29 +00:00
Makefile.am Revert "Make sys.c use unaligned access functions provided in compiler." 2010-01-08 12:51:21 -08:00
ops.c x86emu: fix jump_near_IMM to handle DATA: flag correctly. 2010-11-10 14:56:57 -08:00
ops2.c x86emu: fix sparse warnings 2008-10-26 13:17:31 +01:00
prim_ops.c Check for __amd64__, not __x86_64__. 2008-06-24 14:37:06 -04:00
sys.c Replace assembly with generic unaligned access code 2010-03-03 20:02:49 -08:00
validate.c Use C-style comments in x86emu 2010-02-17 23:13:04 -08:00
x86emu.h Updated x86emu and resynced with upsteam at Scitech. 2004-05-26 17:44:29 +00:00