xserver/hw
Luc Verhaegen a4452133ff 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>
(cherry picked from commit cc2c73ddcb)
2010-11-23 13:08:29 -05:00
..
dmx dix: purge leftover manual key down bit setting. 2010-07-07 13:29:46 +10:00
kdrive KDrive: Fix error handlig in tslib driver 2010-11-10 11:18:09 +10:00
vfb Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
xfree86 x86emu: fix jump_near_IMM to handle DATA: flag correctly. 2010-11-23 13:08:29 -05:00
xnest dix: purge leftover manual key down bit setting. 2010-07-07 13:29:46 +10:00
xquartz XQuartz: Don't use bashism in uninstall-hook 2010-11-15 10:57:43 -08:00
xwin Cygwin/X: Fix glxWinCreateDrawable() for API change 2010-08-10 09:29:39 -07:00
Makefile.am Catch errors in recursive relink targets 2010-03-22 00:45:57 -05:00