svn commit: r188018 - in head: sys/dev/pci usr.sbin/pciconf

Nathan Whitehorn nwhitehorn at freebsd.org
Wed Feb 25 16:34:49 PST 2009


Robert Noland wrote:
> On Wed, 2009-02-25 at 12:51 -0500, John Baldwin wrote:
>> On Wednesday 25 February 2009 12:27:23 pm Nathan Whitehorn wrote:
>>> John Baldwin wrote:
>>>> Author: jhb
>>>> Date: Mon Feb  2 19:54:16 2009
>>>> New Revision: 188018
>>>> URL: http://svn.freebsd.org/changeset/base/188018
>>>>
>>>> Log:
>>>>   - Add a new ioctl to /dev/pci to fetch details on an individual BAR of a
>>>>     device.  The details include the current value of the BAR (including all
>>>>     the flag bits and the current base address), its length, and whether or not
>>>>     it is enabled.  Since this operation is not invasive, non-root users are
>>>>     allowed to use it (unlike manual config register access which requires
>>>>     root).  The intention is that userland apps (such as Xorg) will use this
>>>>     interface rather than dangerously frobbing the BARs from userland to
>>>>     obtain this information.
>>>>   - Add a new sub-mode to the 'list' mode of pciconf.  The -b flag when used
>>>>     with -l will now list all the active BARs for each device.
>>>>
>>> Do you happen to have any patches for libpciaccess to use this?
>>>
>>> Libpciaccess (and so the latest Xorg server) hoses my PowerPC machine 
>>> when trying to list BARs, but pciconf -b works correctly. There are 
>>> probably endianness problems in the libpciaccess code, and it would be 
>>> nice to just replace that mess with this interface.
>> No, I don't have any patches.  rnoland@ might.  This interface was explicitly
>> designed to replace mess in libpciaccess. :)
> 
> I still need to work on getting this into libpciaccess.  It's
> complicated by the fact that we still need to keep the existing code in
> place and only use the new ioctl where it exists...
> 
> I'll try and get a patch together soon.

I have a patch at http://people.freebsd.org/~nwhitehorn/freebsd_pci.c.patch

This is tested on PowerPC and amd64 running -CURRENT, and is in addition 
to the patch currently applied by ports. It *should* gracefully use the 
old pathway if the new ioctl isn't available. And now I have working X 
on PPC!
-Nathan


More information about the svn-src-head mailing list