On Mon, Jul 06, 2015 at 03:14:23PM +0200, Mark Kettenis wrote: > My recent change in this area weren't quite right. As a result > non-kms pci video drivers might not have been working properly on > various platforms. I just committed a fix for an issue where on > i386/amd64 a write combining mapping would be requested even if it > shouldn't. > > Another issue is that the change broke other platforms that don't > support write-combining. Since the define for the magic offset lives > in <sys/memrange.h>, which exists for all platforms, it gets added for > all platforms. But <sys/memrange.h> really only makes sense for > i386/amd64. So one way to fix the issue is to only include it on > those platforms. > > Other fixes are possible, like defining MEMRANGE_WC_RANGE to 0 on > these platforms. Or not installing this header file at all on other > platforms. > > opinions? ok? >
Looks ok to me. But I'm also ok with not installing it at all on other platforms (may be easier said than done?) -ml > > Index: src/openbsd_pci.c > =================================================================== > RCS file: /cvs/xenocara/lib/libpciaccess/src/openbsd_pci.c,v > retrieving revision 1.25 > diff -u -p -r1.25 openbsd_pci.c > --- src/openbsd_pci.c 6 Jul 2015 12:49:35 -0000 1.25 > +++ src/openbsd_pci.c 6 Jul 2015 12:55:53 -0000 > @@ -16,7 +16,9 @@ > > #include <sys/param.h> > #include <sys/ioctl.h> > +#if defined(__i386__) || defined(__amd64__) > #include <sys/memrange.h> > +#endif > #include <sys/mman.h> > #include <sys/pciio.h> > #include <sys/sysctl.h> >
