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 _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"