Commit Graph

268 Commits

Author SHA1 Message Date
stsp
fba58a8a71 Apply fix from upstream:
commit e06fa804009798ea95efa8babaabb0228dfdfe65
  EXA: Fix crash with fill using 1x1 tile of depth < 8 (bug #24703).
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=24703
Reported by Barry Grumbine on ports@
ok matthieu@
2011-01-31 21:10:06 +00:00
matthieu
3870417379 restart recvmsg() if returning with errno==EINTR.
Fixes a crash on server reset on some machines.
Code inspired by ssh, with feedback from guenther@ and millert@
ok guenther@ miod@
2011-01-28 19:37:55 +00:00
matthieu
805ddd83d6 Effectively close the AGP device fd in xf86GARTCloseScreen() if it's
different from the consoleFd. Fixes crashes at server reset.
"looks good" miod@, oga@. Tested by shadchin@.
2011-01-28 19:34:22 +00:00
kettenis
31dc726d5a Call xf86Reconfigure() after readjusting the physical dimensions of the screen
based on EDID information.  Fixes issues with the mouse getting stuck on dual
card setups.  Still trying to push this one upstream.

ok matthieu@
2011-01-10 20:45:49 +00:00
matthieu
88ce1f7f0a Specify default xkb rules for Xnest and Xephyr. 2011-01-02 14:23:40 +00:00
matthieu
89dd5697ba Enable Xorg and a few drivers on hppa. Only wsudl works for now. 2011-01-02 14:04:18 +00:00
matthieu
74b2e4059b Repair build of Xorg on hppa 2011-01-02 13:29:50 +00:00
matthieu
55b9b068ae Bring fix from rev 1.12 back once more. ok oga@. 2010-12-22 21:36:05 +00:00
matthieu
dd56fb17b5 Update to xorg-server 1.9.3. Tested by japser@, landry@ and ajacoutot@
in various configurations.
2010-12-21 20:10:44 +00:00
kettenis
a67ea75b8d Initialize len before passing it to sysctl(3).
ok matthieu@
2010-12-06 21:21:52 +00:00
matthieu
428261197a Upgrade to xorg-server 1.9.2.
Tested by ajacoutot@, krw@, shadchin@ and jasper@ on various configurations
including multihead with both zaphod and xrandr.
2010-12-05 15:36:02 +00:00
matthieu
d57b1a146f regen (yes lots of files, since util-macros has been updated). 2010-09-01 13:43:24 +00:00
kettenis
e298c3717a Disable use of SIGIO by default; it breaks multi-card
configurations.  We don't want to run thousands of lines of
potentially signal-unsafe code for no particular benefit.

ok deraadt@, matthieu@, oga@
2010-09-01 09:32:32 +00:00
oga
f5152cf34c Don't even attempt to establish a SIGIO handler for DRI1.
This hasn't been used for a very, very, very long time, (since before
OpenBSD had dri support, for example) and it causes segfaults on dri
drivers when sigio is disabled. Now we don't need to do context swaps on sigio
nor are we trying to do interrupts in userland (thank fuck for that) this
function can die the death that I intended it to die about two years ago, may it
burn.

The kernel support the the sigio ioctl will be removed in a couple of
weeks to give people time to update (right now it accepts it, then
ignores it).

ok kettenis@, matthieu@.
2010-08-31 21:22:35 +00:00
kettenis
055af11423 Use the KERN_CONSDEV ioctl to figure out what the console device is and
attempt to open that first before trying /dev/ttyC[0-7].
This makes X autoconfiguration a tad bit more intuitive on machines
with multiple SBus or UPA framebuffers, where wsdisplay0 isn't the
console.  PCI framebuffers are still busted though.

ok matthieu@
2010-08-29 17:58:28 +00:00
kettenis
1fb6d3c868 Fix autoconfiguration for accelerated drivers on sparc/sparc64. Currently
limited to sunffb; others will need to be added to bsd_sbus.c if we start
shipping them.

ok matthieu@, oga@
2010-08-28 17:59:01 +00:00
oga
25b0cbcd49 Fix autoconfiguration on sparc and sparc64.
The code to add sunffb unconditionally on !solaris for __sparc__
systems is incorrect for openbsd. More specifically, due to interactions
between hardware drivers and wsfb in preinit we can't unconditionally
add wsfb to the list of fallbacks, so we only add wsfb if no other
option was found. Additionally sunffb does not need to be
unconditionally added because the bus probing code will find these
devices already.

So, long story short:  make that code chunk conditional on __sparc__ &&
defined(__linux__) instead.

change from !openbsd to __linux__ requested by kettenis@.

Tested by at least myself and stsp@.

ok matthieu@, kettenis@.
2010-08-18 22:37:36 +00:00
matthieu
fe603b97cb Fix X -keepPriv by calling xf86OpenConsole() early enough on architectures
that don't have a separate /dev/xf86. Problem noticed by kettenis@ and krw@
ok kettenis@.
2010-07-31 17:47:50 +00:00
matthieu
183207fd4d Add 4 files missed in xserver 1.8 update. 2010-07-27 19:05:15 +00:00
matthieu
95d684a05b Update to xserver 1.8. Tested by many. Ok oga@, todd@. 2010-07-27 19:02:24 +00:00
matthieu
50794663dd Add missing \n at end of message. 2010-05-20 05:00:14 +00:00
matthieu
b855bc3cce cope with the xinerama headers cleanup. From xserver git repository. 2010-04-27 20:12:19 +00:00
matthieu
49012820cb Add a configure test for newer proto headers and use it to enable
building xserver 1.6 with those headers. ok oga@.
2010-04-13 19:54:46 +00:00
oga
33290fb670 #if 0 out the code that listens for /dev/apm events.
A cleaner fix will be forthcoming, but for now this allows the xserver
to work nicely with the recent kernel vt-switch-on-suspend changes.

ok miod@
2010-03-30 17:43:19 +00:00
kettenis
42fc690ae9 Only add wsfb to the list of autoconfigured drivers if no other matches were
found.  Makes xorg.conf-less X work again on sparc64 and macppc systems with
a single display adapter.

ok matthieu@, beck@
2010-03-15 20:50:52 +00:00
matthieu
dde92d4099 basic support for mips64el. ok miod@. 2010-02-01 21:12:42 +00:00
matthieu
b4fa99e3fd regen 2009-12-18 22:50:53 +00:00
matthieu
e5c0b4face Build hppa support files on OpenBSD (useless for now). 2009-12-18 22:49:53 +00:00
matthieu
af37b41eec Adapt to modular X.Org. 2009-12-18 22:47:56 +00:00
matthieu
8542099ff7 Update to server 1.6.5. 2009-10-31 14:09:43 +00:00
matthieu
b6548f4956 Replace fbdev by wsfb as fallback driver on arches that support it.
Ok todd@, oga@.
2009-10-27 20:49:51 +00:00
matthieu
4c3c08d1e5 Add ChangeLog for xserver. It's part of the official X.Org tarballs. 2009-10-18 14:15:49 +00:00
matthieu
6b7a7e866e Merge intel driver autoconfiguration changes from upstream:
- don't list the dead i810 driver anymore
- blacklist the poulsbo chipset which isn't supported by
xf86-video-intel. Gives vesa a chance. ok oga@, kettenis@.
2009-10-06 05:57:00 +00:00
matthieu
00a307f8e4 Do not use 'deprecated' attribute on gcc < 3.1.
It causes lots of spurious warnings in build logs.
suggestion to make the test gcc >= 3.1 millert@, ok todd@, miod@
2009-09-13 15:02:03 +00:00
matthieu
888f50b07a Don't unconditionnally add a "sunffb" device in autoconfig mode
on OpenBSD. It will be added by sparcDriverName() if a ffb card
is present.
2009-09-11 22:12:50 +00:00
matthieu
e706500795 Bring Xnest back.
I had to disable its build during xserver 1.6 development because it
wasn't building for a while. But all problems are now fixed. ok todd@.
2009-09-11 06:17:29 +00:00
matthieu
0026b7ed04 restore version 1.12 of privsep.c which got accidentally reverted
by my xserver 1.6 merge. noticed by oga@
2009-09-08 19:52:26 +00:00
matthieu
768012be84 sparcDeviceName: do not fall back to wsfb if no hw specific driver
was found. This is done in the caller already.
While there change to a switch() construct to prepare for potential
future drivers addition.
2009-09-08 06:56:28 +00:00
matthieu
88f6f3ea75 update to xserver 1.6.4rc1. Tested by many, ok oga@. 2009-09-06 19:44:18 +00:00
oga
251e57a556 Make the !privsep and privsep paths a little more similar (still
checking the list), this allows drm to work in -keepPriv situations.

This diff has been in my tree awaiting proper testing for months, now
i'm sure it works correctly in it goes.

ok matthieu@ an aeon ago.
2009-07-14 18:25:16 +00:00
matthieu
3b890ddc49 Set default migration strategy to "greedy". ok oga@. 2009-06-29 21:26:43 +00:00
matthieu
cf96687724 provide mem_barrier() definition for amd64 too. from X.Org git. ok oga@ 2009-03-28 14:21:35 +00:00
kettenis
093965b9a6 Add code to choose a video driver based on the wscons(4) display type. Makes
it possible to run X without a configuration file on (some) sparc64 machines
and perhaps other machines that use wscons(4) frame buffers.

ok matthieu@
2009-02-19 21:53:30 +00:00
matthieu
5933d55f3d __miscmansuffix -> __miscmansuffix__ 2009-01-28 21:04:43 +00:00
matthieu
93ad800101 OpenBSD still uses old xkb-data, whose default rules are called 'xorg'.
Change kdrive's default configuration too.
2009-01-28 14:50:48 +00:00
matthieu
912bf2fa23 regen 2009-01-27 17:13:42 +00:00
matthieu
92d4b23d0e Fix linking of Xwscons for xserver 1.5.3 2009-01-27 17:11:33 +00:00
matthieu
8ff87a1d9a Don't allow to build kdrive here anymore. This is now in ../kdrive. 2009-01-27 16:28:57 +00:00
todd
0a00651cd8 more gcc2 breakage found by sparc 2009-01-20 23:13:14 +00:00
todd
6b96c02f57 note to self: no cookie, a compile started is not a compile tested 2009-01-13 19:46:28 +00:00
todd
8b1dd35d69 yet another gcc2 found bad coding practice, move variable declartion to the
top of the scope. this time found by sparc.
2009-01-13 16:30:45 +00:00
matthieu
8d98f5900d regen 2009-01-12 20:18:51 +00:00
matthieu
369cc172f4 Update to xserver 1.5.3 + latests commits on server-1.5-branch.
tested by stsp@, david@, form@, ckuethe@, oga@. thanks.
2009-01-12 20:17:47 +00:00
matthieu
56555c5689 - move wsfb(4) to where it belongs.
- also rename via -> openchrome.
2008-12-23 11:04:49 +00:00
matthieu
594af7d8f5 - i810 -> intel, noticed by mpf@ (already fixed in -current X.Org)
- add a reference to wsfb(4).
2008-12-23 11:03:25 +00:00
matthieu
3a0e900dcf missing action in if statement. 2008-11-23 12:06:43 +00:00
matthieu
9bd69e2c49 Fix from X.Org master git for XAA screen corruption.
XAA PixmapOps: Sync before accessing unwrapped callbacks.

    When using any XAAPixmapOps, we call into unknown but freshly
    unwrapped callbacks (like fb ones). Unlike the XAA*Fallback calls,
    we did so without syncing first, exposing us to all kinds of
    synchronisation issues.

    I believe that the rendering errors appeared now because *PaintWindow
    vanished (e4d11e58), and we just use miPaintWindow instead. This
    takes a less direct route to the hw and ends up at
    PolyFillRectPixmap, which very often left drawing artifacts.

    We now sync accordingly, and no longer get the rendering artifacts i
    was methodically reproducing on radeonhd, radeon, unichrome...

    Also, in order to allow driver authors to remove extensive syncing
    or flushing to hide this issue, create XAA_VERSION_ defines, put
    them in xaa.h and bump the patchlevel.

tested by naddy@ and Edd Barrett. ok oga@.
2008-11-11 20:31:42 +00:00
todd
519385f8fc more gcc2 fixes courtesy sparc 2008-11-05 07:04:31 +00:00
matthieu
51ad66e69b Initialise the aperture file descriptor in libpciaccess. 2008-11-04 22:22:12 +00:00
todd
65e3b816dc variable declarations at the beginning of the scope; found by sparc (a gcc2 arch) 2008-11-04 16:50:50 +00:00
matthieu
51153ff8f7 Update to libpciaccess world. 2008-11-04 05:58:43 +00:00
matthieu
60021fe985 xserver 1.5.2. tested by ckuethe@, oga@, and others. 2008-11-02 15:26:08 +00:00
matthieu
9c77348456 Close well known connections in ServerAbort().
Gets rid of dangling /tmp/.X11-unix/X0 sockets after server crash.
2008-10-30 19:59:59 +00:00
matthieu
1756bd319c Xprt is not built by default anymore. Remove the code that selectively
disabled it on a few platforms.
2008-10-12 10:46:40 +00:00
todd
457770e0f6 enable GL for libraries, but not the X server .. for mips64 2008-10-08 02:24:28 +00:00
matthieu
79662dec2b PR 5005: On alpha, trust the PCI BARS from SRM. ok kettenis@, miod@. 2008-10-07 21:56:39 +00:00
kettenis
ae7aae814f Make X stop messing with PCI BARs on sparc64. Makes ati driver work again
on Ultra 5/10 machines.

ok matthieu@, oga@
2008-09-20 15:53:42 +00:00
matthieu
35e1104889 Typo (the the). From Thomas Bozdar (Thomas dot Bosdar at quest dot com).
Thanks.
2008-08-30 13:38:43 +00:00
mbalmer
6ce13d3a8e Add /dev/tty04 to the list of devices privilege separated X can open.
(The IBM SurePos 500 has six serial lines and the touch screen is at
this device).

ok oga@
2008-08-28 17:50:21 +00:00
kettenis
9eb4db42c5 Since wscons(4) manages the hardware cursor for us, there's no nee to
fiddle with it here.  Pointed out by miod@.

ok matthieu@
2008-08-25 19:49:29 +00:00
kettenis
fac304a838 Unbreak sparc build. 2008-08-24 21:36:20 +00:00
kettenis
2f23f1f1a3 Make -configure work for SBus/UPA devices instead of crashing.
ok matthieu@
2008-08-24 21:02:23 +00:00
kettenis
afa6528308 Add enough OpenBSD-specific sbus support code to be able to support the
sunffb driver.

ok matthieu@
2008-08-21 20:06:35 +00:00
kettenis
16470a32ee All the resources claimed by xf86StdAccResFromOS() are PC-specific. On sparc64
PCI address space is completely seperate, so we don't have to claim any
resources to avoid clashes with main memory and firmware.  Makes accelerated
graphics work on the Tadpole SPARCLE.

ok matthieu@, oga@
2008-07-31 06:59:34 +00:00
matthieu
48d39de3dc The amd driver has been renamed geode. ok deraadt@ oga@. 2008-07-30 21:43:11 +00:00
matthieu
1dd309dcb0 use the openchrome driver for via chipsets. 2008-07-12 13:02:55 +00:00
matthieu
2e211b412b CVE-2008-1379 - MIT-SHM arbitrary memory read.
(This patch was missing form the bunch of security patches committed
on june 11. noticed by brad@).
2008-06-17 21:53:45 +00:00
matthieu
0a77d3ef3e Add a man page for Xephyr, with information from the README file. 2008-06-15 16:20:07 +00:00
matthieu
97eda17882 Update to xserver 1.4.2. Tested by landry@, ckuethe@, jsing@ mbalmer@. 2008-06-15 00:17:32 +00:00
mbalmer
c0e3e5ed7f Add amdmsr(4) to the list of privsep devices.
ok matthieu
2008-06-14 21:37:13 +00:00
oga
4b526e486b change /dev/dri/card0 to /dev/drm0. Subdirs in /dev considered
irritating.
2008-06-12 22:20:24 +00:00
oga
bfd8533a7d Deal with devices that need to be opened differently to what we do in
privsep ( O_NONBLOCK | O_RDWR | O_EXCL) by turning the list of allowed
devices into a struct, with the flags we're supposed to use, then using
these values with open(). Add /dev/dri/card0 there too (more'll be needed to be
added when it matters).

This gives privsep with dri a chance to work.

ok matthieu
2008-06-12 18:50:19 +00:00
matthieu
5f1431f613 Fix from X.Org for a possible, non-exploitable crash in the DBE extension.
Reported to iDefense by regenrecht. Patch from Dave Airlie.
2008-06-11 16:15:28 +00:00
matthieu
52218799b8 Fixes for various integer overflow problems from X.Org:
CVE-2008-2360 - RENDER Extension heap buffer overflow
CVE-2008-2361 - RENDER Extension crash
CVE-2008-2362 - RENDER Extension memory corruption
CVE-2008-1379 - MIT-SHM arbitrary memory read
CVE-2008-1377 - RECORD and Security extensions memory corruption
2008-06-11 15:39:26 +00:00
mbalmer
ef9d4b4b8c Pull in a patch from X.Org-current to let X11 run on AMD Geode LX
CPUs in basic VESA mode:

X86EMU: handle CPUID instruction

Starting X on an AMD Geode LX system such as an Alix board with VGA
connector, the Xorg 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. With this patch it 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.

Tested with & ok matthieu
2008-06-10 22:31:30 +00:00
phessler
f80be2c38a Remove the special case for amd64 using MTRR. Wasn't compiled in in the
first place, and didn't work anyways.

ok deraadt, oga, matthieu
2008-06-09 22:55:10 +00:00
matthieu
48bc822959 regen. 2008-05-24 20:39:01 +00:00
matthieu
1b5891c504 implement the --disable-ioport configure option to disable the build of
ioport and its symlinks and use that option. Requested by kettenis@
and others.
2008-05-24 20:36:04 +00:00
ajacoutot
790fc260ee - fix an infinite loop by ensuring that realInputProc is never
overwritten with the enqueueInputProc (from upstream git)
cf. https://bugs.freedesktop.org/show_bug.cgi?id=13511

This should fix hangs people were seeing with icewm, cwm and most
probably other WM under some circumstances.

ok matthieu@
2008-05-07 06:07:09 +00:00
matthieu
67dcbeb5eb If privsep support isn't compiled in, use open() to open the agp device. 2008-04-01 21:08:01 +00:00
matthieu
bbc31bf586 Introduce bsd.xconf.mk to set default config variables used
at several places in the Xenocara build in a central place instead
of duplicating the checks all over the place. ok oga@.
2008-03-25 23:41:50 +00:00
matthieu
d00d2dd896 msg_controllen has to be CMSG_SPACE so that the kernel can account for
each cmsg_len (ie. msg_controllen = sum of CMSG_ALIGN(cmsg_len).  This
works now that kernel fd passing has been fixed to accept a bit of
sloppiness because of this ABI repair.
lots of discussion with kettenis. From deraadt@
2008-03-24 21:24:52 +00:00
matthieu
7830df18ed Regen with autoconf 2.59-p2, with AM_SANITY check zapped. 2008-03-15 18:08:24 +00:00
matthieu
16236de311 Repair msg_controllen. In those cases it should just be
CMSG_SIZE(sizeof(int)), not sizeof(buffer) which may be larger because
of alignment. Based on fixes in base system.
2008-03-15 17:14:11 +00:00
matthieu
f0623845fe Correct CMSG_SPACE and CMSG_LEN usage, same fixes as in the base system.
ok deraadt@
2008-03-13 06:53:06 +00:00
matthieu
682a69ebb7 Fix from X.Org repository:
xkb: don't update LEDs if they don't exist (which would trigger an NULL
pointer dereference).
2008-02-20 21:32:39 +00:00
matthieu
807e8fa566 Fix from X.Org repository: untrusted access broken in 7.3. 2008-02-20 21:29:42 +00:00
matthieu
2610b1cdea Fix for CVE-2007-3069 from X.Org git repository:
Don't break grab and focus state for a window when redirecting it.

    Composite uses an unmap/map cycle to trigger backing pixmap allocation
    and cliprect recomputation when a window is redirected or unredirected.
    To avoid protocol visible side effects, map and unmap events are
    disabled temporarily.  However, when a window is unmapped it is also
    removed from grabs and loses focus, but these state changes are not
    disabled.

    This change supresses the unmap side effects during the composite
    unmap/map cycle and fixes a bug where a compositing window manager
     would cause the screensaver to lose its grab when it unredirects the
    fullscreen lock window.
2008-02-20 21:25:15 +00:00
miod
7d9176c215 endianness definitions for m88k, ok matthieu@ 2008-02-20 17:47:56 +00:00
miod
5fb9099459 Don't #define DEBUG anymore 2008-02-16 21:40:44 +00:00