Commit Graph

44 Commits

Author SHA1 Message Date
kettenis
2f4347932e Only include <sys/memrange.h> on i386/amd64 as it really isi
architecture-specific.  This prevents us from trying to establish
write-combining mappings on other architectures, which in turn makes
non-kms pci video drivers work again on those platforms.

ok mlarkin@
2015-07-07 12:52:54 +00:00
kettenis
94e6ae1917 Fix typo/pasto in previous commit; request write combining mapping when it
is actually requested and not for every writable mapping.
2015-07-06 12:49:35 +00:00
kettenis
d324f4a41d Attempt to establish a write combining mapping instead of relying on mttrs.
Setting the mttrs failson my thinkpad x1 rev 3, making the xorg-video-vesa
driver painfully slow.  This makes the machine somewhat usable.

ok mpi@
2015-06-24 19:26:20 +00:00
matthieu
c7a38f5d4d update to libpciaccess 0.13.4 2015-05-10 09:31:51 +00:00
kettenis
eb9a95d64d Use PCIOCREADMASK to size the PCI BARs. This makes more parts of libpciaccess
usable when machdep.allowaperture is zero.

ok matthieu@
2014-09-27 08:56:18 +00:00
jsg
c63c2890f1 calloc the pci_sys struct before probing for PCI.
As the functions check if the member pointers are NULL but not the
pointer to the struct itself.

Reworked version of a diff from ratchov@ who created it to prevent a
xserver crash on zaurus where there is no PCI.

'looks ok' matthieu@, ok deraadt@
2014-08-06 17:00:09 +00:00
kettenis
833d4245d3 We don't need the VGA arbiter if direct hardware access has been disabled.
ok matthieu@
2014-02-20 21:29:07 +00:00
kettenis
6dbbb49403 If opening /dev/pciN read-write fails, try opening it read-only. This allows
X to run with machdep.allowaperture=0 on inteldrm(4) and radeondrm(4).

ok matthieu@
2014-02-15 09:48:07 +00:00
matthieu
c754a7ad75 Update to libpciacces 0.13.2. 2014-01-03 09:44:24 +00:00
matthieu
61e2983c70 Fix a number of merge issues accumulated over the years
- INSTALL often got doubled by patch
- empty AUTHORS files didn't get removed.
2013-08-18 06:20:12 +00:00
kettenis
cb306d7c83 Improve VGA arbiter support now that the kernel gives us information about
the resources required by a particular device.

ok matthieu@, jsg@
2013-08-13 17:24:03 +00:00
guenther
b5bb12998e Bump the major on every single base library. There are a couple
not bumped by this that will be corrected soon.

heavy lifting by todd@
2013-08-13 07:07:07 +00:00
matthieu
027633f14a Add support for X server privilege separation to pci_legacy_open_io()
With privilege separation the X server enables legacy i/o port
access during the early privileged initialization. Other calls
should be no-op.

Makes X server 1.12 happy with privilege separation.

ok miod@
2012-06-02 13:05:09 +00:00
matthieu
39a8975b54 Update to libpciaccess 0.13.1 2012-04-09 18:50:44 +00:00
matthieu
adb2857e13 Fix pci_io_handle allocation routines.
The previous version of new_io_handle()  would invalidate all previous
allocations when realloc moves the base pointer of the ios array.
Since I cannot figure out where this array is useful, just get rid of
it, providing sound stable memory allocation.

Fixes vgaHWSaveFonts() in 1.12 xserver on OpenBSD, but other
sub-systems relaying on pci_io could be affected too.
2012-04-04 20:41:59 +00:00
thib
54dafa3982 Fix openbsd_pci.c:pci_device_vgaarb_set_target();
A return (0) got lost, add it back.
Obvious; ok kettenis@
2012-03-14 19:57:24 +00:00
matthieu
37b152092c Update to libpciaccess 0.13. Tested by shadchin@ 2012-03-09 21:02:09 +00:00
matthieu
e406f265be Update to libpciaccess 0.12.1. Ok kettenis@, shadchin@ 2011-11-06 21:35:46 +00:00
kettenis
3ff4e178c2 Indicate that devices need access to legacy VGA resources. Makes sure xserver
disables DRI if the VGA arbiter is in use.

ok matthieu@
2011-01-12 21:49:21 +00:00
matthieu
f256c6eec5 Update to libpciaccess 0.12.
We already had most of the code from this version, it just add
2 bug fixes. no ABI/API change.
2010-07-31 08:05:06 +00:00
matthieu
ae10e3711f avoid segfault in pci_device_vgaarb_fini() when called without
initializing the library first. (This happens when invalid options
are passed to X for instance). ok kettenis@
2010-07-26 18:48:48 +00:00
matthieu
99887c42a6 Update to libpciaccess 0.11, with VGA arbiter support code from kettenis@. 2010-07-10 18:56:27 +00:00
oga
76b1ece233 Use the correct size when mapping the legacy vga rom.
fixes errors (and probably bugs) on intel hardware (at the least).

ok matthieu@
2009-04-17 09:03:14 +00:00
matthieu
c1e1a9267a Merge libpciaccess 0.10.5. No functionnal change on OpenBSD. 2009-04-14 20:14:23 +00:00
matthieu
2b54a7b79e Remove git file that should not have been imported initially. 2009-04-14 19:47:28 +00:00
kettenis
fb905686b3 Make libpciaccess domain-aware. Makes X capable of discovering PCI devices
in other domains (on macppc or sparc64 for example).

ok matthieu@
2009-02-15 19:10:52 +00:00
matthieu
b8c33db224 Remove trailing white space. 2008-12-07 17:58:38 +00:00
matthieu
1199942381 Implement pci_device_read_rom() for arbitrary PCI cards, including
secondary VGA. With help from kettenis@. ok kettenis@, miod@.
2008-12-07 17:42:21 +00:00
matthieu
63f16983cf Fix a logic error in pci_device_openbsd_write() that actually
prevented it to write anything.
2008-11-25 11:40:56 +00:00
oga
4cd1a7a593 When trying to map a piece of device memory with a cacheability attribue
(e.g.  the graphics aperture on most video cards), don't error if we
failed to set the mtrr but the map succeeded. Instead print a warning (other
osen handle this case similarly).

Libraries shouldn't use fprintf(stderr, ...); but libpciaccess is really
quite poorly designed.

This diff means that mine and drahn's laptops work with xserver 1.5.

ok kettenis@
2008-11-03 23:22:37 +00:00
matthieu
065e5e702a - Add a method to read the legacy BIOS region on alpha/amd64/i386
- Restrict MTRR calls to amd64/i386.
ok kettenis@
2008-10-13 21:08:13 +00:00
matthieu
b65cb15bba provide a pciutils style pci.ids file for libpciaccess.
ok todd@ deraadt@
2008-10-05 08:06:06 +00:00
matthieu
3f497bc04d allow 2 successives calls to pci_system_init() and fix pci_system_cleanup()
to make it possible to call pci_system_init() again.
ok kettenis@.
2008-09-20 16:35:17 +00:00
matthieu
9fb72336cb Bump OpenBSD's libpciacces revision to be at least the version
generated by the unpatched one. (libpciaccess is not currently linked
to xenocara builds)
2008-06-15 04:56:00 +00:00
matthieu
f4e34ed34a update to libpciaccess 0.10.3. 2008-06-15 04:50:02 +00:00
matthieu
b9c810fd57 Merge libpciaccess 0.10.2, including kettenis@ OpenBSD port. 2008-05-24 14:14:00 +00:00
matthieu
495882d9db remove unneeded files 2007-06-16 16:34:59 +00:00
matthieu
9411e2c68c merge libpciaccess 2007/06/16 2007-06-16 16:22:09 +00:00
matthieu
ed93913cf1 Import libpciaccess from git as of today.
Changes: solaris support added.
2007-06-16 16:13:55 +00:00
matthieu
050c62ce96 sync 2007-06-06 21:02:47 +00:00
matthieu
64125c3e0e skeleton OpenBSD port of libpciaccess 2007-06-06 21:01:25 +00:00
matthieu
75cf712a68 I didn't intend to add this file. 2007-06-06 20:22:07 +00:00
matthieu
2632487b54 build infrastructure 2007-06-05 20:13:58 +00:00
matthieu
90b5879678 import libpciaccess 070327 2007-06-05 20:08:56 +00:00