svn commit: r243960 - in head/sys: amd64/include i386/include x86/include
Niclas Zeising
zeising at freebsd.org
Tue Dec 11 00:19:59 UTC 2012
On 12/11/12 00:54, Carl Delsey wrote:
> 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.
Sounds good to me, thank you very much!
Don't forget to ifdef the include o <sys/systm.h> as well as the KASSERTs.
Regards!
--
Niclas Zeising
More information about the svn-src-head
mailing list