On Wed, Oct 12, 2011 at 05:15:57PM +0200, Mark Kettenis wrote: > > Date: Wed, 12 Oct 2011 07:48:00 -0700 > > From: Alan Coopersmith <alan.coopersm...@oracle.com> > > > > On 10/11/11 11:58 PM, Matt Kraai wrote: > > > +#elif defined(__mips__) > > > + fd = open("/dev/mem", O_RDWR); > > > + IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, > > > + PROT_READ | PROT_WRITE, MAP_SHARED, fd, > > > + 0x1fd00000); > > > + if (IOPortBase == MAP_FAILED) { > > > + xf86Msg(X_WARNING, > > > + "xf86EnableIOPorts: Failed to map iobase > > > (%s)\n", > > > + strerror(errno)); > > > + return FALSE; > > > + } > > > + close(fd); > > > + xf86Msg(X_WARNING, > > > + "xf86EnableIOPorts: map iobase (%x)\n", > > > + IOPortBase); > > > > This is almost an exact copy of the existing powerpc code - is it really > > necessary to duplicate it all instead of just doing something more like: > > > > #if defined(__powerpc__) > > ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0); > > #elif defined(__mips__) > > ioBase_phys = 0x1fd00000; > > #endif > > > > and then sharing the rest of the code?
Unfortunately, just doing this doesn't work. The MIPS code uses IOPortBase whereas the PowerPC code uses ioBase. Would renaming one to the other be acceptable? If so, which is preferable? > Also, that code is pretty much going to be made obsolete by Jeremy > Huddleston's pci bus cleanup diff. A better approach would be to > convert the relevant drivers for loongson to use the new pci_io_xxx > interfaces in libpciaccess instead of the raw in/out calls. My system uses the siliconmotion driver. Would I need to start with the instructions at http://www.x.org/wiki/PciReworkHowto and then replace the raw in/out calls? -- Matt Kraai https://ftbfs.org/kraai _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel