* mattst88/master:
[alpha] assume we have __NR_pciconfig_iobase
[alpha] don't return from void functions
Fix undefined symbols on alpha
Fix breakage on alpha caused by c7680befe5
Revert "alpha: kill xf86SlowBCopyToBus and xf86SlowBCopyFromBus"
The code path if we didn't have support has been broken since before we
switched to git.
The pciconfig_iobase syscall has been supported since 2000.
Signed-off-by: Matt Turner <mattst88@gmail.com>
When testing if an fd is valid, the required construct is >= 0, not > 0.
[Daniel: Fixed up the Linux MTRR case as well.]
Signed-off-by: Martin Ettl <ettl.martin@gmx.de>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Move misplaced } to get the flow of
if (!ShareVTs) {
VT_ACTIVATE
VT_WAITACTIVE
}
X.Org Bug 11477 <http://bugs.freedesktop.org/show_bug.cgi?id=11477>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Leave consoleFd open over the course of the server, even though any use
of it in this context is likely to be disastrous.
Signed-off-by: Michael Witrant <mike@lepton.fr>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
In non-setuid root installations, we shouldn't try to adjust VT/tty
ownership. It will fail, and shouldn't be necessary anyway (since
startup scripts or PAM should be handling perms for us in that case).
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This changes the ABI, but since the video ABI is at 6 already
it should be fine.
driver changes are in the pipeline after this.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Otherwise APM events get treated as input events, which messes up idle
time accounting and screensavers and such. Not, we hope, that anyone
is using APM anymore.
This was all a glorified no-op. We rely on pciaccess to create device
maps anyway, so we should have no reason to care about what the host
address is.
Acked-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
The previous check for AEI on left us with the possibility that AEI is forced
off in the config, but devices are added through evdev nonetheless. A keyboard
added this way can CTRL+C the server. Even when we use kbd, we can set the
mode to RAW, so it's safer alround to to so.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Restoring it unconditionally means we restore to whatever tty_mode has as
default value (i.e. 0). K_RAW happens to be 0x00, so we always restore to raw
mode if allowEmptyInput is off.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.
This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)
LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.
xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
The warnings corrected were only the ones that should correct
real problems. The most common one is 64 bit integers as
"printf %l" arguments.
Note that there is a patch related to this at:
http://bugs.freedesktop.org/show_bug.cgi?id=18204
This is the biggest "visibility" patch. Instead of doing a "export"
symbol on demand, export everything in the sdk, so that if some module
fails due to an unresolved symbol, it is because it is using a symbol
not in the sdk.
Most exported symbols shouldn't really be made visible, neither
advertised in the sdk, as they are only used by a single shared object.
Symbols in the sdk (or referenced in sdk macros), but not defined
anywhere include:
XkbBuildCoreState()
XkbInitialMap
XkbXIUnsupported
XkbCheckActionVMods()
XkbSendCompatNotify()
XkbDDXFakePointerButton()
XkbDDXApplyConfig()
_XkbStrCaseCmp()
_XkbErrMessages[]
_XkbErrCode
_XkbErrLocation
_XkbErrData
XkbAccessXDetailText()
XkbNKNDetailMaskText()
XkbLookupGroupAndLevel()
XkbInitAtoms()
XkbGetOrderedDrawables()
XkbFreeOrderedDrawables()
XkbConvertXkbComponents()
XkbWriteXKBSemantics()
XkbWriteXKBLayout()
XkbWriteXKBKeymap()
XkbWriteXKBFile()
XkbWriteCFile()
XkbWriteXKMFile()
XkbWriteToServer()
XkbMergeFile()
XkmFindTOCEntry()
XkmReadFileSection()
XkmReadFileSectionName()
InitExtInput()
xf86CheckButton()
xf86SwitchCoreDevice()
RamDacSetGamma()
RamDacRestoreDACValues()
xf86Bpp
xf86ConfigPix24
xf86MouseCflags[]
xf86SupportedMouseTypes[]
xf86NumMouseTypes
xf86ChangeBusIndex()
xf86EntityEnter()
xf86EntityLeave()
xf86WrapperInit()
xf86RingBell()
xf86findOptionBoolean()
xf86debugListOptions()
LoadSubModuleLocal()
LoaderSymbolLocal()
getInt10Rec()
xf86CurrentScreen
xf86ReallocatePciResources()
xf86NewSerialNumber()
xf86RandRSetInitialMode()
fbCompositeSolidMask_nx1xn
fbCompositeSolidMask_nx8888x0565C
fbCompositeSolidMask_nx8888x8888C
fbCompositeSolidMask_nx8x0565
fbCompositeSolidMask_nx8x0888
fbCompositeSolidMask_nx8x8888
fbCompositeSrc_0565x0565
fbCompositeSrc_8888x0565
fbCompositeSrc_8888x0888
fbCompositeSrc_8888x8888
fbCompositeSrcAdd_1000x1000
fbCompositeSrcAdd_8000x8000
fbCompositeSrcAdd_8888x8888
fbGeneration
fbIn
fbOver
fbOver24
fbOverlayGeneration
fbRasterizeEdges
fbRestoreAreas
fbSaveAreas
composeFunctions
VBEBuildVbeModeList()
VBECalcVbeModeIndex()
TIramdac3030CalculateMNPForClock()
shadowBufPtr
shadowFindBuf()
miRRGetScreenInfo()
RRSetScreenConfig()
RRModePruneUnused()
PixmanImageFromPicture()
extern int miPointerGetMotionEvents()
miClipPicture()
miRasterizeTriangle()
fbPush1toN()
fbInitializeBackingStore()
ddxBeforeReset()
SetupSprite()
InitSprite()
DGADeliverEvent()
SPECIAL CASES
o defined as _X_INTERNAL
xf86NewInputDevice()
o defined as static
fbGCPrivateKey
fbOverlayScreenPrivateKey
fbScreenPrivateKey
fbWinPrivateKey
o defined in libXfont.so, but declared in xorg/dixfont.h
GetGlyphs()
QueryGlyphExtents()
QueryTextExtents()
ParseGlyphCachingMode()
InitGlyphCaching()
SetGlyphCachingMode()
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.
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.
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>
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.
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.
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
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.
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.
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.
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.
xf86ExtendedInitInt10 to xf86int10GetBiosLocationType and
xf86int10GetBiosSegment.
These changes were tested on MGA hardware on x86-64 with various
combinations of InitPrimary and BiosLocation.
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
programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c
programs/Xserver/hw/xfree86/os-support/linux/Imakefile Add basic ACPI Linux
support so that events can be passed to the driver. (Alan Hourihane)
Fix the dri and drm build. Fix server-side DMX extension build. Make
xf4bpp use the correct version of mfbline.c for mfbseg.c. Add #ifndef
_HEADERNAME_H_/#define _HEADERNAME_H_/.../#endif to the headers.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
source files in the xserver/xorg tree, predicated on defines of
HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
<X11/fonts/foo.h>.
change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
change "foo.h", "extensions/foo.h" and "X11/foo.h" to
<X11/extensions/foo.h> for extension headers, e.g. Xv.h;
change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
Linux-only fixes: Fix case where a smaller write-combining region
blocks write-combining setting of the whole frame buffer. Fix bug in wc
setting code when regions are first splitted and setting of
write-combining then fails.
xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c
//bugs.freedesktop.org/show_bug.cgi?id=825) attachment #956
(https://bugs.freedesktop.org/attachment.cgi?id=956): Fix build
problems on Linux/SPARC. Patch by Jeremy Huddleston
<eradicator@gentoo.org>. Approved in the 2005-01-31 Xorg
release-wranglers phone call.
permissions when no access to HW registers is required. For API changes
which mostly involve the modifications to make the RRFunc (introduced
with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch
applies changes to OS specific files for other OSes which I cannot
test.
relied on the generic VGA layer to restore text console fonts for us
when shutting down the server or VT switching back to the text console.
This has worked rather well but it has some downsides on Linux: a. Many
people use fbdev as console text mode. In this case it is not necessary
to save/restore console fonts as the console is running in graphics
mode anyway. b. Some architectures don't have a fbdev console but
require a full POST of even the primary card (ie. IA64). This posting
has to take place before we even have a chance to save anything.
Therefore the fonts we save are the once written to the chip by POST,
not what has been programmed by the user. c. Certain chipsets utilize
the BIOS to perform mode setting. This may interfer with the vga
save/restore font function in a strange way. It would therefore be
preferrable to let the OS - which has been used to set up the font in
the first place - take care of saving/restoring the data. I will attach
a patch which will do so for Linux. To make this fully functional a
small patch needs to be applied to the Linux kernel. To disable this
feature add: #define DoOSFontRestore NO to your host.def. (Bugzilla
#2277)
chipsets can be probed without OS support as probing them is only
possible using ACPI. One example of this are the HP ZX1/2 chipsets:
previously the code assumed that these chips were present when no other
of the known chipsets could be probed. This assumption brought SGI
Altrix machines with 64 CPUs to a grinding halt.
build fixes for AMD64.
Made shm* functions in the libc_wrapper more standard conformant by setting
errno correctly.
Use xf86ExendedInitInt10() in VBEExtendedInit() to be able to pass flags.