Go to file
Bart Trojanowski 66f8001b61 X86EMU: handle CPUID instruction
After trying to switch from X to VT (or just quit) the video-amd driver
attempts to issue INT 10/0 to go to mode 3 (VGA).  The emulator, running
the BIOS code, would then spit out:

        c000:0282: A2 ILLEGAL EXTENDED X86 OPCODE!

The opcode was 0F A2, or CPUID; it was not implemented in the emulator.
This simple patch, against 1.3.0.0, handles the CPUID instruction in one of
two ways:
 1) if ran on __i386__ or __x86_64__ then it calls the CPUID instruction
     directly.
 2) if ran elsewhere it returns a canned 486dx4 set of values for
     function 1.

This fix allows the video-amd driver to switch back to console mode,
with the GSW BIOS.

Thanks to Symbio Technologies for funding my work, and ThinCan for
providing hardware :)

Signed-off-by: Bart Trojanowski <bart@jukie.net>
Acked-by: Eric Anholt <eric@anholt.net>
2008-02-08 10:48:40 -08:00
afb Merge branch 'master' into XACE-SELINUX 2007-11-19 18:10:46 -05:00
cfb Merge branch 'master' into XACE-SELINUX 2007-12-13 18:38:25 -05:00
cfb32 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE 2006-07-18 18:17:38 -04:00
composite Revert "registry: Register composite extension protocol names." 2007-11-20 17:27:37 -05:00
config config: don't reset connection info on disconnect. 2008-01-29 09:13:25 +10:30
damageext Revert "registry: Register DAMAGE extension protocol names." 2007-11-20 17:31:00 -05:00
dbe Clean up many #if 0. 2007-12-02 12:40:25 -05:00
dix XACE: Correct some protocol error values in the colormap routines. 2008-02-07 20:14:16 -05:00
doc Merge branch 'master' into XACE-SELINUX 2007-11-19 18:10:46 -05:00
exa exa: make the prototype for exaGetPixmapFirstPixel() public 2008-01-14 13:09:13 -05:00
fb Merge branch 'master' into XACE-SELINUX 2007-12-13 18:38:25 -05:00
GL AIGLX: Fix GLX_EXT_texture_from_pixmap fallback with EXA. 2008-01-19 13:25:02 +01:00
hw X86EMU: handle CPUID instruction 2008-02-08 10:48:40 -08:00
include include: never overwrite realInputProc with enqueueInputProc. Bug #13511 2007-12-19 19:10:08 +10:30
mfb devPrivates rework: put back some changes that were mistakenly removed 2007-11-20 15:31:44 -05:00
mi mi: Only UpdateSpriteForScreen if we actually changed the screen. (Bug #12650) 2008-02-05 18:34:31 +10:30
miext Rootless: RootlessEnsureFrame: Added check for !IsRoot 2008-01-28 12:25:29 -08:00
os OS: IO: Zero out client buffers 2008-01-17 18:43:05 +11:00
randr Revert "registry: Register RANDR extension protocol names." 2007-11-20 17:51:27 -05:00
record Revert "registry: Register Record extension protocol names." 2007-11-20 17:55:47 -05:00
render Merge branch 'master' into XACE-SELINUX 2007-12-13 18:38:25 -05:00
Xext xselinux: Use the device name in debugging output. 2008-02-07 16:32:06 -05:00
xfixes XFixes: squash a pointer/integer size mismatch warning. 2008-02-05 15:48:40 -05:00
Xi Fix for CVE-2007-6427 - Xinput extension memory corruption. 2008-01-17 15:27:34 +01:00
xkb xkb: when copying sections, make sure num_rows is set too. 2008-02-05 19:05:18 +10:30
XTrap Revert "registry: Register XTrap extension protocol names." 2007-11-20 18:49:30 -05:00
.gitignore Add tags/TAGS to .gitignore for ctags usage 2008-01-21 21:16:13 -05:00
acinclude.m4 Include comment/copyright/license for AC_DEFINE_DIR in acinclude.m4 2007-07-25 17:42:23 -07:00
autogen.sh Use canonical autogen.sh, which supports srcdir != objdir autogen. 2005-07-01 21:13:36 +00:00
configure.ac Fix Xephyr compilation without GLX. 2008-01-15 02:59:56 -02:00
COPYING COPYING: Collapse 'canonical license' into one statement 2007-11-07 03:58:56 +02:00
cpprules.in For MANDEFS, also replace __mandir__ for $(mandir) which includes 2006-12-08 15:51:44 -06:00
Makefile.am Generate ChangeLog file for make dist. 2007-07-10 21:33:54 -07:00
xorg-server.m4 Add xorg-server.m4 for driver dependency checking. 2005-11-01 15:01:51 +00:00
xorg-server.pc.in Export the server ABI versions from xorg-server.pc 2007-11-05 17:18:46 -05:00