tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Using wsdisplay from the Xserver

Hash: SHA1


On Jan 24, 2009, at 6:36 AM, Manuel Bouyer wrote:

On Fri, Jan 23, 2009 at 10:36:48PM -0500, Michael wrote:

in order to get rid of some of the PCI cruft in the Xserver and to
allow X to use more than one display device even when not using /dev/
mem or something similar I started hacking it into using wsdisplay
ttys to find PCI-like video controllers instead of grubbing through /
This has the following advantages:
- - we're going to find graphics controllers not visible through / dev/pci0
- - we're going to see only graphics controllers
- - X doesn't need to know about the actual bus structure at all
- - X can mmap the right IO space for each individual device without
knowing about PCI domains, bus layout and whatnot - as far as X is
concerned each device can be in its own domain
- - X doesn't need to know how to translate bus addresses to physical to
whatever - it could be completely agnostic regarding the actual PCI
bus setup

This has to be very well though to work on hardware like alpha, and other
hardware with non-linear mapping of I/O space (or whatever oddities
this hardware could have).

Well, what /are/ the oddities on alpha? So far nobody bothered to explain it. What I'm trying to achieve is a clean(er) separation between accessing the raw hardware and going through wsdisplay's half-arsed abstraction. For instance, mapping device registers, apertures and so on could go / only/ through tty?hw, while mapping the framebuffer at offset 0 could go only through tty?[0-7]. That way we would also get rid of nastiness like the fb mapping overlapping with PCI ranges on sparc64 where the PCI bus(es) don't overlap memory and very low bus addresses are completely legal - some ATI firmware likes to put MMIO registers at 0x2000 for example.

Version: GnuPG v1.4.7 (Darwin)


Home | Main Index | Thread Index | Old Index