svn commit: r243960 - in head/sys: amd64/include i386/include x86/include

Carl Delsey carl.r.delsey at intel.com
Mon Dec 10 23:54:56 UTC 2012


On 12/10/12 16:40, Niclas Zeising wrote:
> On 12/11/12 00:32, Carl Delsey wrote:
>> On 12/10/12 16:20, Niclas Zeising wrote:
>>> On 12/06/12 23:33, Jim Harris wrote:
>>>> Author: jimharris
>>>> Date: Thu Dec  6 22:33:31 2012
>>>> New Revision: 243960
>>>> URL: http://svnweb.freebsd.org/changeset/base/243960
>>>>
>>>> Log:
>>>>     Add amd64 implementations for 8-byte bus_space routines.
>>>>     +#include <sys/systm.h>
>>>>    #include <x86/bus.h>
>>>> +
>>>> +#define KASSERT_BUS_SPACE_MEM_ONLY(tag)                     \
>>>> +    KASSERT((tag) == X86_BUS_SPACE_MEM,                 \
>>>> +        ("%s: can only handle mem space", __func__))
>>>> +
>>>> +static __inline uint64_t
>>>> +bus_space_read_8(bus_space_tag_t tag, bus_space_handle_t bsh,
>>>> +    bus_size_t ofs)
>>>> +{
>>>> +
>>>> +    KASSERT_BUS_SPACE_MEM_ONLY(tag);
>>>> +
>>>> +    return (*(volatile uint64_t *)(bsh + ofs));
>>>> +}
>>> Hi!
>>> Can the include of <sys/systm.h> and the added KASSERTs please be hidden
>>> under #ifdef _KERNEL or something similar?  devel/libpciaccess from the
>>> experimental xorg-dev tree
>>> (http://trillian.chruetertee.ch/ports/browser/trunk/devel/libpciaccess)
>>> uses machine/bus.h on amd64 and i386 to be able to read/write to the pci
>>> bus, and this change breaks the compile of devel/libpciaccess.
>>> It is probably so that libpciaccess is wrong in using <machine/bus.h>
>>> but I have no idea how to fix it.  If you have a better suggestion on
>>> how to fix libpciaccess I am all ears.
>>> Regards!
>> Does libpciaccess make use of the bus_space_read/write_* routines in
>> these files, or does it just use some constants and types from them?
>>
> libpciaccess uses bus_space_[read,write]_[1,2,4], which are defined in
> x86/bus.h.  It does not use the quad functions.
> Regards!
Ok. In that case I won't ifdef out the functions themselves, just the 
KASSERT in case libpciaccess expands in the future to 8 byte accesses 
:-)  I had another related change in the works. I'll add this change in.

Thanks,
Carl




More information about the svn-src-all mailing list