Commit Graph

89 Commits

Author SHA1 Message Date
Jonathan Lim 16e429bcbf Bug 5000: Fix domain support for SGI Altix 2007-07-04 20:08:49 +02:00
Adam Jackson 8a06ff9ffa Fix another usage of MAX_PCI_DEVICES.
Fixes cases where the VGA device is above the 128th device on the system.
2007-06-28 16:41:28 -04:00
David Nusinow 6bf8d50193 Read ROM in chunks
This patch speeds up reads of the ROM by reading in large chunks rather
than one byte at a time. This patch was by Dann Frazier.
2007-05-28 21:42:10 -04:00
Matthias Hopf ebaa6c920c Disable Simba PCI bridge routing code (Bug #8020).
The code in hw/xfree86/os-support/bus/sparcPci.c:simbaCheckBus()
is trying to mimmick VGA routing by disabling I/O space responses
behind the Simba PCI-PCI controller.

Unfortunately, doing this also happens to disable access to the
IDE controller I/O space registers, thus crashing the system.  The
granularity of the I/O disabling in the Simba controller is not
fine enough to disable VGA without also disabling the IDE controller
registers.
2007-05-10 15:25:31 +02:00
Adam Jackson d322608dc9 Fix a buffer overrun on machines with excessively large PCI busses.
Formerly we sized an array with a compile time constant, then initialized
its size to the same constant, but the Linux PCI init code would increase
that "constant".  So if you happened to have more than 128 PCI devices,
you'd happily scribble into whatever variables happened to be in .bss
after that array.

Only really fixed for Linux atm.  Other OSes will simply (still) fail to
work on video devices above the 128th PCI device.
2007-04-25 16:29:48 -04:00
Adam Jackson 67e1c98895 Look for the PCI ROM file elsewhere in sysfs.
/sys/devices reflects the bus topology, and we don't care that much.
Easier (and more reliable) to just look in /sys/bus/pci/devices, which
is a flat view.
2007-04-09 19:08:52 -04:00
Jay Estabrook a16360733e Fix root bus/domain selection on alpha 2007-02-25 21:00:25 +00:00
Jonathan Lim 1627af5449 Call linuxPciOpenFile() for r/w access if applicable.
Currently, the call to linuxPciOpenFile() is always made for read
only access which causes the subsequent mmap call to fail when the
memory is mapped read/write.

Xorg #9692
2007-01-26 13:00:45 +01: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
Bjorn Helgaas ae3c9ad4ab Bug 9041: Check the return code in xf86MapDomainMemory(). 2006-11-16 17:29:06 +01:00
Keith Packard 20e9144c07 Add $(DIX_CFLAGS) to remaining Makefile.am files 2006-11-07 12:49:28 -08:00
Bjorn Helgaas bd0c829654 Do not map full 0-1MB legacy range
If we're mapping something in the "legacy range" (0-1Mb), we shouldn't
expand the requested range to the entire 0-1Mb range.  Typically this
is for mapping the VGA frame buffer, and some platforms support mmap of
the frame buffer but not the entire 0-1Mb range.

For example, HP sx1000 and sx2000 ia64 platforms can have memory from
0-0x9ffff, VGA frame buffer from 0xa0000-0xbffff, and memory from
0xc0000-0xfffff.  On these platforms, we can't map the entire 0-1Mb
range with the same attribute because the memory only supports WB,
while the frame buffer supports only UC.  But an mmap of just the
frame buffer should work fine.
2006-11-03 18:59:52 +01:00
Egbert Eich c1828a8ff5 Fixing mach64 driver bailing out on ia64
Mach64 driver bails out on ia64 because it cannot map device
memory. It turns out that some bogus and unneeded code attempts
to find the root bridge of the device and fails to do so proberly
as there this host-to-pci bridge is not existant. This code has
been around for years although it completely unclear what it had
been intended for. Fixing this by eliminating the bogus code.
2006-11-03 18:59:52 +01:00
Matthias Hopf d50fc413b3 Fix device path in altixPCI.c to be domain aware. 2006-11-03 18:59:52 +01:00
Matthias Hopf 1d731fc54a Add domain support to linuxPciOpenFile().
Loosely based on patch from David S. Miller <davem@davemloft.net>
See also bug #2368.
2006-11-03 18:59:51 +01:00
Matthias Hopf caaa113acf Fixing domain support for ia64
ia64 specific functions + defines.
Still uses /proc interface for some scaning code.
Based on code from Egbert Eich <eich@freedesktop.org>.
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
Matthias Hopf f4dd2665b0 Added missing domain stripping in already domain aware code. 2006-11-03 18:59:51 +01:00
Matthias Hopf 1b94c117e0 Fixing probably long-standing bug in domain support. 2006-10-10 19:37:22 +02:00
Donnie Berkholz d812f486a0 Really fix sparc on 64-bit kernel/32-bit userland.
Commit b3a3020fd0 used a sparc64 ifdef instead of
sparc. But for 32-bit userland, __sparc64__ is not defined so the wrong code is
used.
2006-09-20 15:39:39 -07:00
Jesse Barnes b3a3020fd0 the new PCI mapping routines are broken on sparc64 (in fact they look
broken for any 32 bit X server running on a 64 bit kernel) so #ifdef
them out for now.  the PCI rework tree will make all this crap go away,
so I think we can tolerate the extra #ifdef for the next release.
2006-09-10 11:13:18 -07:00
Adam Jackson 0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04: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
Ian Romanick 8d07ee070e Refactor linuxGetIOSize and linuxGetSizes. Eliminate the unnecessary
optimization in the search loop.
2006-07-06 12:48:51 -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 8e8c6faecd Add support for kFreeBSD systems. (Robert Millan, Aurelien Jarno) 2006-06-03 10:48:37 +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
Dave Airlie 26fa45b642 Bug #6751: Use the Linux PCI ROM interface on Linux properly. The old
domain code, still modified BARs not a good idea, Just talk to sysfs,
    if 0 read, fallback to old methods.
2006-04-26 11:40:58 +00:00
Adam Jackson a68c11bb1d Mark everything in xf86sym.c as _X_EXPORT. 2006-03-25 19:52:05 +00:00
Daniel Stone d0d336efd5 Add support for ZX2 PCI-E local bus adaptors. (Alex Williamson, HP)
Use soft timeout register to avoid MCAs when probing for non-existent local
    bus adaptors on ZX2. (Alex Williamson, HP)
2006-03-16 16:29:17 +00:00
Ian Romanick cfdacab33a Eliminate unused PCI BIOS reading functionality. The old code used several
function pointers to implement a level of flexability that was never
    used. The code also had unused support for extracting a single image
    type from a larger expansion ROM.
Fix the spelling of PCI_BIOS_OPEN_FIRMWARE.
Fix a couple errors in #ifdef debug code.
These changes have been tested on x86 and x86-64 Linux.
2006-02-21 00:02:08 +00:00
Ian Romanick 5fd0f94006 Eliminate all the code for querying the PCI class from the PCI ID database.
Class information is not, and never has been, stored there. Therefore,
    this is just a bunch of elaborate code to read 0x00000000.
This has received testing on x86 and x86-64 Linux.
2006-02-20 23:45:50 +00:00
Daniel Stone 2949c705f1 Add all subdirs used to DIST_SUBDIRS, and files to EXTRA_DIST.
Attempt to build xeglmodule.c, not xglxmodule.c.
Add xf86Sbus.h to EXTRA_DIST, as _HEADERS doesn't appear to get the same
    treatment as _SOURCES in terms of automatically DISTing.
2006-01-10 03:23:05 +00:00
Dave Airlie fc69a2e729 Remove PowerMAX_OS define it never worked , it'll never work again,
finishes running joke of OLS2005
2005-12-29 08:42:49 +00:00
Kevin E Martin 7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +00:00
Eric Anholt ccfaf82367 Bug #5160: Fix the modular build to try to use the same logic for choosing
the architecture/os-specific bus support as monolithic.
2005-12-01 05:04:07 +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
Kristian Høgsberg f8430a1b86 Bug #2880, add functions for byte and word level access to pci config
space.
Fix broken utf8 again.
2005-11-08 19:04:56 +00:00
Adam Jackson af211a9bc1 Fix PCI bus scan on ia64 E8870 chipsets. 2005-10-19 22:30:09 +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 Coopersmith b623c60745 Linux/Alpha support (Stefaan De Roeck) 2005-09-19 22:44:49 +00:00
Daniel Stone 53e489c0e3 Work around ATI expansion ROM problem on IA64 caused by prototype HP
McKinley systems. (Bdale Garbee)
2005-08-26 05:47:36 +00:00
Daniel Stone 825a95a1fa Remove use of dix-config and xorg-config.h from public headers. 2005-08-24 11:18:35 +00:00
Daniel Stone 367f450739 Change xorg_bus_sbus to xorg_bus_sparc; build sparcPci.c on all SPARCs. 2005-08-21 08:43:46 +00:00
Daniel Stone 71b3fea94e Typo fix (SOURCE -> SOURCES). 2005-08-21 08:24:52 +00:00
Daniel Stone db2909ce76 Add test for SPARC. Build SparcMulDiv.S on all SPARCs.
Make the default font path configurable.
2005-08-21 06:56:19 +00:00
Adam Jackson d96e666686 Add sparcPci.c to EXTRA_DIST. 2005-08-20 18:52:07 +00:00
Alan Coopersmith 22694500e0 Add xf86Sbus.h to EXTRA_DIST files (bugzilla #4128) 2005-08-17 23:20:27 +00:00
Adam Jackson fedbce2186 EXTRA_DIST hacks to get all the OS support files into the tarball. 2005-08-05 00:13:31 +00:00