Commit Graph

1507 Commits

Author SHA1 Message Date
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
liuhong d3c36fe721 validate mode clock for probed modes
Some modes claimed in monitor EDID data may not be supported by
the monitor. So also validating the max clock for probed modes.
2008-02-05 12:45:27 -08:00
liuhong 4b5b6e7baa fix max clock unit
max clock from EDID data is in MHz, while we need KHz to validate modes.
2008-02-05 12:45:16 -08:00
Peter Hutterer 10617dc0fb xfree86: stick two more checks in for num_valuators < MAX_VALUATORS 2008-02-01 14:24:04 +10:30
Matthieu Herrb c68f063be6 xfree86: don't call xalloc from signal handlers when posting events.
Reviewed-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-01 14:14:17 +10:30
Coleman Kane df325be394 Bug 13101: xorg-server has a typo in hw/xfree86/os-support/bsd/i386_video.c
X.Org Bug #13101 <https://bugs.freedesktop.org/show_bug.cgi?id=13101>
Patch #12360 <https://bugs.freedesktop.org/attachment.cgi?id=12360>
2008-01-29 09:48:00 -08:00
Julien Goodwin 94f412cb7e Loader: Fix verbosity confusion
'Loading foo' is verbosity 3, whereas 'already built-in' is verbosity 0.
This means that gdm's log would just be full of bare 'module already
built-in' messages.
2008-01-29 14:46:15 +11:00
Julien Goodwin 442838fcb3 xorg.conf.man: Fix monitor/output confusion in monitor positioning
On the Intel driver at least, LeftOf/RightOf/Above/Below in xorg.conf refers
to output names, not monitor names.  Fix nomenclature in xorg.conf.man.
2008-01-29 14:46:15 +11:00
Peter Hutterer 5b8641a5fd xfree86: fix AlwaysCore handling. (Bug #14256)
Assume AlwaysCore being set by default, just like the other options.

X.Org Bug 14256 <http://bugs.freedesktop.org/show_bug.cgi?id=14256>
2008-01-29 10:01:42 +10:30
Eamon Walsh e915a26397 xselinux: Move the extension to extmod instead of being built-in. 2008-01-25 19:22:19 -05:00
Eamon Walsh f6a78ee143 XACE: Remove the extension code entirely, XACE is completely static now. 2008-01-25 18:04:10 -05:00
Hong Liu 734e115871 Bug #12439: add a quirk to use +hsync +vsync for the probed detailed mode.
Samsung 205BW quirk is somehow reworked.
2008-01-23 21:24:09 +08:00
Adam Jackson cc22b05ea0 There is no such thing as /dev/cpu/mtrr. 2008-01-22 18:57:11 -05:00
Matthieu Herrb bbde5b62a1 Fix for CVE-2007-5760 - XFree86 Misc extension out of bounds array index 2008-01-17 15:26:41 +01:00
Dave Airlie 1f83f40525 xf86Cursors: fix memset for non-square cursors 2008-01-15 10:21:17 +10:00
Peter Harris 0883e838e2 xf86misc.c: Avoid use of swapped values 2008-01-09 18:43:55 -08:00
Alan Coopersmith 59a63d72a1 Fix reference to old versions of XFree86 to not say "Xorg 4.2 or earlier" 2008-01-09 18:42:58 -08:00
David Nusinow 30375cd6d1 Don't log DPMS enabling as being from xorg.conf if it's not 2008-01-07 20:57:30 -05:00
David Nusinow 260505e3c5 Log enabling of DPMS even when it's not set in xorg.conf 2008-01-06 16:37:13 -05:00
Julien Cristau 7e76221659 Fix the name of the XFree86-Misc extension in the xorg.conf manpage. 2008-01-06 18:23:09 +01:00
Julien Cristau 59df687835 Document the AllowEmptyInput, AutoAddDevices and AutoEnableDevices flags
Add documentation for the new AllowEmptyInput, AutoAddDevices and
AutoEnableDevices server flags in the xorg.conf manpage.
2008-01-06 17:02:03 +01:00
Alex Deucher 20eb26f9d1 Fix potential crasher in xf86CrtcRotate()
xf86CrtcRotate() is called by randr 1.2 drivers via xf86CrtcSetMode() or xf86SetDesiredModes()
during ScreenInit() at which point pScrn->pScreen is not set. If a user specifies a rotation
in their config file pScrn->pScreen is dereferenced and boom.
2008-01-03 22:53:36 -05:00
Alan Coopersmith ccf6636d2c Kill xf86getpagesize even harder (dummylib & ioport) 2008-01-02 19:28:33 -08:00
Alan Coopersmith f6666dcc3b Add dixAllocatePrivate stub to dummylib for utils
Normally not necessary, except when building non-optimized/debug causes
the inline functions from private.h to appear in os-support/libxorgos.la
2008-01-02 19:19:55 -08:00
Alan Coopersmith 73f4229960 Fix names/types of new vuidMouse{Get,Set}ScreenPrivates macros 2008-01-02 19:17:54 -08:00
Adam Jackson 85365ddf16 EDID 1.4: If given a native pixel format, use it when inferring virtual. 2007-12-28 17:38:52 -05:00
Adam Jackson 312b30cb03 EDID 1.4: First detailed mode is always preferred.
... so act like it in the modelist generator, not just the parser.
2007-12-28 17:38:51 -05:00
Adam Jackson bae459cfc4 Don't carp on EDID 1.4 blocks anymore.
Also whine more loudly when we get something other than 1.x.
2007-12-28 16:53:17 -05:00
Adam Jackson 70b2d6cfeb Check the gamma value, not its address. 2007-12-28 16:53:17 -05:00
Adam Jackson 592d814ee0 EDID 1.4: Additional semantics for display feature bits.
First mode is _always_ preferred in 1.4; the bit that used to mean this
now means that the preferred mode is also the native pixel format.  The
old "is GTF" bit now means "is continuous-frequency" instead.

Section 3.6.4, Table 3.14: Feature Support, Notes 4 and 5.
2007-12-28 16:53:17 -05:00
Adam Jackson 322d0103ae EDID 1.4: Alternate color encodings for digital inputs.
Section 3.6.4, Table 3.14: Feature support.
2007-12-28 16:53:17 -05:00
Adam Jackson f1f43caf7e EDID 1.4: Allow for gamma definition in extension blocks.
Section 3.6.3, Table 3.13: Display Transfer Characteristics (Gamma)
2007-12-28 16:53:16 -05:00
Adam Jackson 861ee38817 EDID 1.4: Additional aspect ratio semantics for screen size fields.
Section 3.6.2, Table 3.12: Horizontal and Vertical Screen Size or
Aspect Ratio.
2007-12-28 16:53:16 -05:00
Adam Jackson 14b5c8a447 EDID 1.4: Extended support for digital interfaces.
Section 3.6.1, Table 3.11: Video Input Definition.
2007-12-28 16:53:16 -05:00
Adam Jackson a948216dcc EDID 1.4: Decode CVT 3-byte codes and add them to the mode pool.
Section 3.10.3.8: CVT 3 Byte Code Descriptor Definition.
2007-12-28 16:53:16 -05:00
Adam Jackson f6df66cc89 EDID 1.4: Trivial support for new detailed sections.
Nothing actually decoded yet, but at least we print what they are.

New in EDID 1.4:
- Color Management Data (0xF9), Section 3.10.3.7
- CVT 3 Byte Code Descriptor (0xF8), Section 3.10.3.8
- Established Timings III Descriptor (0xF7), section 3.10.3.9
- Manufacturer-specified data tag (0x00 - 0x0F), section 3.10.3.12
2007-12-28 16:53:16 -05:00
Adam Jackson bac3ecde39 EDID 1.4: Allow for sync range offsets.
Table 3.26: Display Range Limits & Timing Descriptor Block Definition
2007-12-28 16:53:16 -05:00
Eamon Walsh 643c52be32 xselinux: Remove "X" prefix on remaining functions and strings.
Should be evident from the context.
2007-12-28 13:27:28 -05:00
Adam Jackson 938da5ee38 Add HDMI and DisplayPort connector types. 2007-12-28 12:23:44 -05:00
David S. Miller ae869fc766 [SBUS]: Fix build, use getpagesize() instead of xf86getpagesize().
xf86getpagesize() was removed, but this one call site was
not fixed up.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-27 07:34:09 +01:00
Dave Airlie 7ef7727b80 entity sharing: make !shareable entity non-fatal.
Just because the entity isn't shareable, we should bring down the server.
Just ignore the extra screen and keep going.
2007-12-20 10:11:26 +10:00
Adam Jackson 7721d3e921 Reference cvt and gtf in the xorg.conf man page. 2007-12-18 19:14:26 -05:00
Samuel Thibault 58c2898b62 xfree86: permit access to io port 0xffff on the hurd 2007-12-16 01:21:45 +01:00
Eamon Walsh a2df51f8e9 Bump video driver ABI and extension ABI for devPrivates rework. 2007-12-14 00:53:54 -05:00
Eamon Walsh 86b2e59bfb Merge branch 'master' into XACE-SELINUX
Conflicts:

	configure.ac

This is the last pull before merging to master.
2007-12-14 00:32:24 -05:00
Eamon Walsh c8feb73f58 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/EVI.c
	Xext/bigreq.c
	Xext/cup.c
	Xext/dpms.c
	Xext/fontcache.c
	Xext/mitmisc.c
	Xext/xcmisc.c
	Xext/xf86bigfont.c
	Xext/xtest.c
	configure.ac
	dbe/dbe.c
	hw/darwin/darwin.h
	hw/darwin/darwinEvents.c
	hw/darwin/iokit/xfIOKit.h
	hw/darwin/iokit/xfIOKitCursor.c
	hw/darwin/quartz/fullscreen/fullscreen.c
	hw/darwin/quartz/fullscreen/quartzCursor.c
	hw/darwin/quartz/quartz.c
	hw/darwin/quartz/quartzCommon.h
	hw/darwin/quartz/quartzCursor.c
	hw/darwin/quartz/xpr/dri.c
	hw/darwin/quartz/xpr/dristruct.h
	hw/darwin/quartz/xpr/xprCursor.c
	hw/darwin/quartz/xpr/xprFrame.c
	hw/xfree86/modes/xf86RandR12.c
	include/cursor.h
	miext/rootless/rootlessCommon.h
	miext/rootless/rootlessScreen.c
	miext/rootless/rootlessWindow.c
	render/picturestr.h

Trying to pick up the pieces from the darwin churn here...
2007-12-13 18:38:25 -05:00
Adam Jackson efcdc0d701 Correct the documentation comments in xf86Modes.c
Most of those functions do not, in fact, work with circular mode lists,
and by this point the API isn't really "proposed" anymore.
2007-12-13 15:38:41 -05:00
Adam Jackson 1768af38c7 Add infrastructure for validating modes by memory bandwidth. 2007-12-13 15:06:18 -05:00
Adam Jackson 4359193aaa Explain a confusing #ifdef. 2007-12-13 10:59:48 -05:00
Adam Jackson 8cedbb0a53 Clean up some #if 0. 2007-12-13 10:57:35 -05:00