32 bits X vs. 64 bits PCI

Ian Romanick idr at us.ibm.com
Fri Oct 20 08:52:03 PDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Benjamin Herrenschmidt wrote:

> What is the status of fixing X PCI layer nowadays ? Some folks here got
> some brand new shinny Power5+ workstations (damn, those things are
> faaaaast....). We've tried putting Matrox G400 or old Radeon 7000 PCI in
> there, and while the various fbdev's work fine, X doesn't.
> 
> What seems to be happening is that basically, X crops the top 32 bits of
> all PCI resources :) It then tries to access those bogus addresses
> via /dev/mem, which is no good, and instead craps over system memory.

That and not having domain support are the core problems on PPC64.  The
first problem is somewhat specific to IBM hardware.  Apple's PPC64
firmware puts domain 0 devices below the 32-bit boundary.

> Using a 64 bits X is not simple (most 64 bits POWER users run 32 bits
> userland in fact, unlike x86-64, there it's not less sucky to go 64
> bits :)
> 
> Thus I'm wondering what is the status with reworking X PCI code to,
> among others, properly mmap /proc or /sys instead of /dev/mem, stop
> assuming PCI resources are 32 bits on 32 bits machines (which is broken
> on various other type of chips anyway, for example, some 44x embedded
> powerpc's have a 36 bits physical address space and typically devices
> sit above 4G), etc...

libpciaccess currently only supports the sysfs method.  We still need to
determine which Linux kernels we care about so that other interfaces can
be supported.  Of course, there's also the need to support non-Linux
systems.  All PCI address are treated as 64-bits.

> I know Iain was working on a new library for putting the PCI stuff in,
> what is the status of that ?

Right.  Like dstone mentioned, libpciaccess is in git, and there are
pci-rework branches in xserver, drivers/xf86-video-mga, and
drivers/xf86-video-savage.  They're all a few weeks out of date WRT HEAD.

My intention is to bring them up to date and merge them to HEAD once 7.2
ships.  That's when the real fun should begin. :)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFOPCiX1gOwKyEAw8RAr8kAKCKKAxjF6Tl49apvJkkQAGPvIfsrwCeN43/
eSFgUplqzOfFfqkLVPGUWWM=
=lSQQ
-----END PGP SIGNATURE-----



More information about the xorg mailing list