[PATCH RFC]: Generic Linux multi-domain PCI handling

David S. Miller davem at davemloft.net
Thu Dec 29 02:35:34 PST 2005


From: Alex Deucher <alexdeucher at gmail.com>
Date: Thu, 29 Dec 2005 01:03:54 -0500

> FWIW,  Dave Arlie started on this a while back:
> https://bugs.freedesktop.org/show_bug.cgi?id=3829
> however his patch seems to have gotten mixed up when we had the HD
> crash a while back.

Thanks for the pointers.

There are several subsequent issues one has to deal with once
the basics are in place, for example the VGA resources have no
domains in them, so calls like this one in the Radeon driver:

    if (xf86SetOperatingState(resVga, info->pEnt->index, ResUnusedOpr))

have no chance of working, and that's just the tip of the iceberg.

The next thing you hit is the aweful parsing of /proc/bus/pci/devices
which does not list any domain information, just bus numbers which
thus leads to duplicate entries and obtaining the wrong entry or none
at all on a multi-domain system, and on top of that those addresses
(contrary to the comments in lnx_pci.c above that code) are not
what should be passed in for /proc/bus/pci device mmap()'s, rather
the PCI config space addresses should be used.

Yes, those are correct in some cases when /dev/mem mmap() is how
things are configured to operate, but definitely it is wrong for
/proc/bus/pci which expects PCI bus addresses.

Anyways, lots to do and look into for sure :-)



More information about the xorg mailing list