Commit Graph

199 Commits

Author SHA1 Message Date
Egbert Eich
a9e20306fb int10: Do an mprotect(..,PROT_EXEC) on shmat()ed memory ranges.
When the linux kernel sets the NX bit vm86 segfaults when it tries to execute
code in memory that is not marked EXEC. Such code gets called whenever
we return from a VBIOS call to signal the calling program that the call
is actually finished and that we are not trapping for other reasons (like
IO accesses).
Use mprotect(2) to set these memory ranges PROT_EXEC.
2008-11-21 18:57:07 +01:00
Adam Jackson
446d9443ce linux: Drain the console fd of data when using evdev for keyboards
Works around a silly bug in the kernel that causes wakeup storms after
too many keypresses.  Should fix the kernel bug too, but this at least
keeps the idle wakeup count below 1000/sec.
2008-11-05 11:51:06 -05:00
Peter Hutterer
d936a4235c xfree86: if AllowEmptyInput is true, enable RAW mode on the console.
Usually, the console is set to RAW in the kbd driver. If we hotplug all input
devices (i.e. the evdev driver for keyboards) and the console is left as-is.
As a result, the evdev driver must put an EVIOCGRAB on the device to avoid
characters leaking onto the console. This again breaks many things, amongst
them lirc, in-kernel mouse button emulation and HAL.

This patch sets the console to RAW if AllowEmptyInput is on.

Use-cases:
1. AEI is off
  1.1. Only kbd driver is used - behaviour as-is.
  1.2. kbd and evdev driver is used: if evdev does not grab the device,
       duplicate events are generated.
2. AEI is on
  2.1. Only evdev driver is used - behaviour as-is, but evdev does not need
       to grab the device anymore.
  2.2. evdev and kbd are used: duplicate key events are generated if evdev
       does not grab the device.

1.2 is a marginal use-case that can be fixed by adding a "grab" option to the
evdev driver (update of xorg.conf is needed).

2.2 is an issue. If we have no ServerLayout section, AEI is on, but devices
specified in the xorg.conf are still added [1], resulting in duplicate events.
This is a common configuration and needs sorting out.

[1] 2eaed4a10f

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-10-16 21:35:27 +10:30
Adam Jackson
8a5b89e8e1 xalloc+memset(0) -> xcalloc 2008-10-06 15:36:51 -04:00
Mathieu Bérard
562462e78d Remove dead {bsd,lnx}Resource.c 2008-08-18 17:05:55 -04:00
Michel Dänzer
b3e981c9d4 Fix Makefile.am crack.
Looks like an artifact from early modularization.
2008-07-28 09:32:54 +02:00
Daniel Stone
446fe9eecd Dead code removal
Remove a whole bunch of code that was never built, be it entire files or
just dead ifdefs.
2008-07-17 21:37:50 +03:00
Daniel Stone
b89a59248a XFree86: Delete OSMouse code
This should be moved into the mouse driver, if anything.
2008-07-16 01:50:27 +03:00
Dave Airlie
ea4ec9e998 int10: add pci_device_enable support on Linux 2008-05-22 08:58:42 +10:00
Kazuhiro Inaoka
ce36ae526d Add M32R architecture support (bug #10020)
Still needs autotools support, so this won't actually _build_: it's just
a starting point.
2008-04-30 11:58:32 +03:00
Sascha Hlusiak
3ab33e7cd4 Remove stale code
The jstk code for Joysticks is not used by any module, was never actually compiled and uses an API
that is deprecated these days.

No reason to keep it.
2008-04-06 23:23:47 +02:00
Doug Chapman
f7abe05b33 Bug #14091: Fix build (and runtime) on ia64. 2008-03-13 17:40:34 -04:00
Tiago Vignatti
7c582dd6de remove lnxPciInit() unused function. 2008-02-25 17:31:37 -03:00
Adam Jackson
cc22b05ea0 There is no such thing as /dev/cpu/mtrr. 2008-01-22 18:57:11 -05:00
Adam Jackson
1faba797cb Death to libcwrapper.
This has been deprecated since 1.1.  Since we're breaking ABI again anyway,
remove it entirely.
2007-12-03 14:12:58 -05:00
Adam Jackson
22f0e3a8b0 Avoid PS/2 protocol probing for /dev/input/mice
The kernel will always upconvert to ExplorerPS/2 for all readers of
/dev/input/mice, so don't waste time on startup trying to figure
that out.
2007-11-02 12:04:56 -04:00
Matthias Hopf
74e84b8d89 Only issue XF86_APM_CAPABILITY_CHANGED for video change ACPI events (not e.g. brightness etc.). 2007-10-19 17:28:15 +02:00
Matthias Hopf
6fdf3ddfef Fix ids of ACPI events according to ACPI spec. 2007-10-19 17:20:21 +02:00
Eric Anholt
d8ab2353cb Remove dead xf86GetPciSizeFromOS and xf86GetPciOffsetFromOS. 2007-08-30 11:26:17 -07:00
Eric Anholt
c2d80529fc Remove the now-dead PciAvoid symbol. 2007-08-30 11:26:17 -07:00
Eric Anholt
3fe67d23ed Remove the BusAccWindows resource code which is now unused.
This was a bunch of poorly defined resource ranges per OS/platform combination
which were supposed to represent what regions could potentially have resources
allocated into them.
2007-08-27 19:02:41 -07:00
Ian Romanick
8b6b40b727 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86.h
	hw/xfree86/common/xf86Init.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/generic.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/loader/xf86sym.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/Pci.h
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/int10/linux.c
2007-08-23 18:19:17 -07:00
Adam Jackson
1834cfb447 Fix an error message to not point to @xfree86.org. 2007-08-21 10:44:37 -04:00
Julien Cristau
a1fe36b772 xfree86: Fix build on Linux/alpha.
A bunch of CFLAGS had gone missing, so the build failed with errors like:
../../../../../hw/xfree86/os-support/linux/lnx_ev56.c:7:19: error: input.h: No such file or directory
../../../../../hw/xfree86/os-support/linux/lnx_ev56.c:8:24: error: scrnintstr.h: No such file or directory
2007-08-21 00:26:33 +02:00
Daniel Stone
1150969b82 Convert all my license statements to the standard form
Convert all my license statements to the standard, accepted form:
cf. <20070717142307.GD13478@fooishbar.org>
    http://lists.freedesktop.org/archives/xorg/2007-July/026451.html

keithp's license on configure.ac changed with his verbal permission.
2007-08-01 01:53:31 +03:00
Adam Jackson
f62beb6f36 Remove all trace of Option "BiosLocation".
This code was deeply dangerous.  If anyone actually had a use for this code,
we should find a better way of doing it.
2007-07-27 13:24:38 -04:00
Julien Cristau
0f91abd5c6 Fix alpha build failures
Don't include <asm/pci.h> in os-support/linux/lnx_axp.c, use "lnx.h" and
<unistd.h> instead
2007-07-19 20:37:26 -04:00
Adam Jackson
4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Ian Romanick
ab7a6d860d Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
2007-06-18 16:51:13 -07:00
Adam Jackson
2e7fef7d08 Make xf86{En,Dis}ableInterrupts no-ops on Linux. 2007-06-18 12:08:39 -04:00
Lennart Buytenhek
831d3b7f8d Compile fixes for Linux ARM platforms. 2007-06-18 12:05:55 -04:00
Bastian Blank
2267bf48b3 Fixes for s390 2007-05-28 21:55:05 -04:00
Adam Jackson
a08d5157f7 VT activate or waitactive are fatal if they fail.
Also, be sure to waitactive on the way down, to make sure we're off the VT
before exiting.
2007-04-09 19:04:56 -04:00
Ian Romanick
c279d5fdc5 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework 2007-01-19 12:59:54 -08:00
Ian Romanick
f36a447d20 Eliminate use of Tag field.
The Tag field was removed from the int10 structures in commit
ca9c41e09d.  This file was over looked.
2007-01-16 14:49:19 -08:00
Alan Hourihane
78f9592c11 lnx_ev56.c has to be built with -mcpu=ev56. Fix it. 2007-01-10 16:04:20 +00:00
Ian Romanick
da09964a93 Merge branch 'origin' into pci-rework
Conflicts:

	hw/xfree86/int10/generic.c
2007-01-09 15:27:34 -08:00
Alan Hourihane
b88ad820fa Set Int10Current->Tag for the linux native int10 module
Fixes bug #9296
(cherry picked from 731952c561 commit)
2006-12-13 12:18:22 +00:00
Ian Romanick
e1f73d2208 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86Configure.c
	hw/xfree86/common/xf86Helper.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/lnx_pci.c
	hw/xfree86/scanpci/Makefile.am
	hw/xfree86/utils/pcitweak/Makefile.am
	hw/xfree86/utils/scanpci/Makefile.am
2006-12-08 17:24:15 -08:00
Eric Anholt
b4b0d901d9 Merge branch 'randr-1.2'
Conflicts:

	dix/events.c
	dix/getevents.c
	hw/xfree86/common/xf86Mode.c
	hw/xfree86/dri/Makefile.am
	hw/xfree86/os-support/drm/xf86drm.c
	hw/xfree86/os-support/xf86drm.h
2006-11-27 15:43:15 -08:00
Bram Verweij
0567a6337b xfree86/linux acpi: fix tokenising
Split on a space, rather on the 'video' string, as strtok takes a char,
not a string.
2006-11-08 18:00:52 +02:00
Daniel Stone
809e2841aa xfree86: add general handler, port ACPI to it (bug #5665)
Add 'general' handler registration, which will not trigger DPMS when an
event comes in.
Make ACPI use this.
2006-11-08 15:30:03 +02:00
Keith Packard
20e9144c07 Add $(DIX_CFLAGS) to remaining Makefile.am files 2006-11-07 12:49:28 -08:00
Bernhard Rosenkraenzer
8deaaa312a automake: avoid use of reserved _SOURCES keyword (bug #8866)
Avoid using _SOURCES unless we're directly referencing a program or
library to be built; use _SRCS instead.  Shuts automake 1.10 up.
2006-11-04 19:08:28 +02:00
Matthias Hopf
072c022e73 Fix obviously wrong boundary checks + cleanup unused vars.
Also disable compilation of code that is no longer used anywhere in the whole
Xserver tree.
2006-11-03 18:59:51 +01:00
Matthias Hopf
5afc6c1a14 Added linux 2.6 compatible domain aware device scanning code.
Additional scanning code uses the /sys interface of 2.6 kernels.
Cleaned up the use of tags and already split domain/bus/dev/fn.
2006-11-03 18:59:51 +01:00
Daniel Stone
01afa533aa xfree86/os-support: axe more unused files 2006-11-02 04:32:37 +02:00
Daniel Stone
18c246a13b Merge branch 'input-hotplug' 2006-11-02 03:21:37 +02:00
Daniel Stone
81728558a0 input: add non-keyboard bell ringing function
Add a generic 'ring the bell' function (console bell on Linux and BSD,
/dev/audio on Solaris), and add DDX functions for this.  Make this the
core keyboard's bell.
Port Xvfb and Xnest to this.
Port XFree86 to this, with OS-specific hooks for Linux, BSD, and Solaris
taken from foo_io.c in the old layer.
2006-11-01 23:10:26 +02:00
Myron Stowe
794f2e7291 xfree86: re-enable chipset-specific drivers for Linux/ia64
Re-enable chipset-specific support for Linux/ia64, by linking in
lnx_ia64.c.
2006-10-26 20:38:58 +03:00
Ian Romanick
21291d6ca7 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework 2006-08-25 09:34:21 -07:00
Daniel Stone
d6433be3cc Merge branch 'master' into input-hotplug 2006-08-12 21:50:52 +03:00
Bastian Blank
f7919c2879 xfree86: don't do legacy IO on ARM or S/390 (Debian #362641)
Don't attempt to poke legacy IO ranges on ARM or S/390.
2006-08-12 20:43:25 +03:00
Daniel Stone
59dcc62906 xfree86: remove Xqueue support completely 2006-08-12 20:39:08 +03:00
Daniel Stone
008aa7eb6e completely remove OS keyboard layer
Completely axe the keyboard layer from os-support.
2006-08-12 18:56:05 +03:00
Ian Romanick
23f44df900 Remove pciConfigPtr and all of the associated cruft. 2006-08-02 09:55:32 -07:00
Ian Romanick
380b51d605 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86Init.c
	hw/xfree86/int10/pci.c
	hw/xfree86/scanpci/xf86PciData.h
	hw/xfree86/scanpci/xf86PciStdIds.h
	hw/xfree86/scanpci/xf86PciStr.h
	hw/xfree86/scanpci/xf86ScanPci.h
	hw/xfree86/utils/pcitweak/pcitweak.c
	hw/xfree86/utils/scanpci/scanpci.c

Re-removed most of the conflicting files.
2006-07-25 11:30:04 -07:00
Ian Romanick
2fd6b995ff Global s/xf86MapDomainIO/xf86MapLegacyIO/. Let's call a duck a duck,
okay?  Since xf86MapLegacyIO is called from only one place, cut the
parameter list down to the one parameter that actually conveys some
information:  the one that gives a PCI device.  Change from using a
PCITAG to a pci_device.
2006-07-24 13:33:34 -07:00
Ian Romanick
525257eb98 Fix stupid typos. 2006-07-21 19:16:38 -07:00
Ian Romanick
e18d34f423 Make the various implementations of xf86ExtendedInitInt10 use the
libpciaccess interfaces.  This eliminates all calls to mapPciRom,
which in turn allows the elimination of hw/xfree86/int10/pci.c.
2006-07-21 16:47:45 -07:00
Daniel Stone
e7ac27ad81 revert accidental deletion of lnx_io.c; re-delete lnx_kbd.c
Thinko'd which file to remove after merging from master.
2006-07-21 19:29:28 -04:00
Daniel Stone
81913a1291 remove undead files from master
Remove dead files which worked their way back in when merging from master.
Ugh.
2006-07-21 19:10:26 -04:00
Daniel Stone
7465010d59 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-07-21 19:05:41 -04:00
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Kristian Høgsberg
3eeb62e8f5 bug #890: completely remove deprecated keyboard driver
Remove all remnants of the old built-in keyboard driver.
2006-07-21 16:33:28 -04:00
Ian Romanick
2f98841fde Remove unused variable. 2006-07-20 16:08:27 -07:00
Ian Romanick
c69c00d652 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-07-20 12:08:38 -07:00
Daniel Stone
84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Adam Jackson
881953813c Fix the Linux ACPI reopen code to use a repeating timer, rather than a
one-shot sleep-and-reopen attempt.
2006-07-17 13:50:38 -04:00
Ian Romanick
d3ee49bcba Refactor common code from the generic.c and linux.c version of
xf86ExtendedInitInt10 to xf86int10GetBiosLocationType and
xf86int10GetBiosSegment.

These changes were tested on MGA hardware on x86-64 with various
combinations of InitPrimary and BiosLocation.
2006-07-14 15:13:35 -07:00
Ian Romanick
8793c7fd4b Refactor identical xf86InitInt10 function from generic.c and linux.c
to helper_exec.c.
2006-07-14 09:11:39 -07:00
Tilman Sauerbeck
39b2f7b218 Bug #3042: Use autoconf to get the correct name of a struct member.
This allows us to remove the kernel version ifdefs from the code, which
are ugly and broken.
2006-07-08 19:55:53 +02:00
Adam Jackson
d7a96dd6f1 Switch the default mouse device on Linux to /dev/input/mice. 2006-07-06 17:39:14 -04:00
Eric Anholt
002e28c12c Correct AGP memory deallocation argument on *BSD.
This fixes leaks and eventual crashes with RandR resizing on Intel.
2006-07-03 12:48:12 -07:00
Daniel Stone
8444bb77c9 When we can, bound the maximum number of PCI devices to attempt to scan, by
the number found on the system. Only implemented for Linux right now.
2006-06-05 20:22:06 +00:00
Daniel Stone
56f21bda1c Bug #6583: Only open /proc/bus/pci/devices once. (Bill Nottingham) 2006-06-01 22:30:52 +00:00
Adam Jackson
deebf6bd51 Bug #4139: Fix a BAR remapping bug that could lead to IERR and system hang.
(Egbert Eich)
2006-05-18 23:52:51 +00:00
Adam Jackson
c11cfcfaff Bug #6377: Ignore disabled BARs, and allow matching BARs aligned to less
than 16 bytes. (Felix Kühling, ATI)
2006-05-18 23:48:57 +00:00
Adam Jackson
fa9a49a92d Bug #5877: Avoid burning CPU when acpid dies. Require acpid to be running
for ACPI support on Linux. Minor errno handling fixes. (Valery
    Inozemtsev, Adam Jackson)
2006-05-18 18:18:41 +00:00
Adam Jackson
321dbed5f5 Bug #5209: Fix APM/ACPI support, again. (Michel Dänzer, Valery Inozemtsev) 2006-05-15 18:27:18 +00:00
Adam Jackson
86ffb46358 Bug #5209: Re-enable building APM and ACPI support. (Michel Dänzer) 2006-05-09 18:04:29 +00:00
Benjamin Herrenschmidt
79dc689261 When reading the kernel keyboard mapping (readKernelMapping in
os-support/linux/lnx_KbdMap.c) we overrun the usefully-named global
    array 'map', scribbling on other random static variables elsewhere.
    This is fixed by changing the size of at2lnx. (David Woodhouse). Bug
    #5169
2006-04-22 03:22:17 +00:00
Adam Jackson
a68c11bb1d Mark everything in xf86sym.c as _X_EXPORT. 2006-03-25 19:52:05 +00:00
Benjamin Herrenschmidt
1a4f20541a Fix linux build without libc wrappers (From Fredrik Höglund) 2006-02-13 04:56:27 +00:00
Eric Anholt
c3d1403672 Remove libcwrapper usage from xorg server modules. The libcwrapper is only
of (marginal) use in the drivers, and that usage remains.
2006-02-10 22:00:30 +00:00
Adam Jackson
f1ba3b4f33 Bug #4718: Command line flag to disable ACPI. 2005-12-14 20:11:16 +00:00
Adam Jackson
f9ccebe8c5 Bug #4928: Fix compilation for Alpha. (Stefaan DeRoeck) 2005-12-08 19:27:13 +00:00
Kevin E Martin
7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +00:00
Kevin E Martin
da5d66f2ff Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable
module builds to reflect this change.
2005-11-29 16:39:33 +00:00
Adam Jackson
e3ec048ff2 Bug #4928: Unbreak Makefile.am for Alpha chips. (Stefan DeRoeck) 2005-11-18 22:43:50 +00:00
Kevin E Martin
56101c9d6e Fix fd leak by closing them in the ACPI code instead of just using
shutdown.
2005-10-31 05:45:40 +00:00
Kevin E Martin
1859c62607 include/dix-config.h.in Add support for more extensions
Add missing files to EXTRA_DIST
2005-10-17 07:18:59 +00:00
Alan Hourihane
57abb5b171 remove reference to non-existent agpgart.h 2005-10-14 08:29:16 +00:00
Luc Verhaegen
9f3ad65251 Fix lnx_pci.c's xf86GetOSOffsetFromPCI return value. Clears up the resource
ranges awkwardness and the "INVALID MEM ALLOCATION" warning.
2005-10-05 07:27:52 +00:00
Alan Coopersmith
6d4b350dee Bug #3815 <https://bugs.freedesktop.org/show_bug.cgi?id=3815> Patch #3463
<https://bugs.freedesktop.org/attachment.cgi?id=3463> GNU/kFreeBSD
    Xserver support (Robert Millan)
2005-10-03 16:46:14 +00:00
Alan Hourihane
99793543c0 put back some agp related allocation messages 2005-09-22 12:40:41 +00:00
Alan Hourihane
02566dff4a fix typo 2005-09-22 12:33:36 +00:00
Adam Jackson
b7e723ed6f Missing backslash 2005-09-20 23:32:21 +00:00
Alan Coopersmith
b623c60745 Linux/Alpha support (Stefaan De Roeck) 2005-09-19 22:44:49 +00:00
Alan Coopersmith
535cd292c8 #include "xf86Axp.h" -> "shared/xf86Axp.h" for modular build. (Stefaan De
Roeck)
2005-09-19 18:38:26 +00:00