On Thu, Oct 15, 2009 at 4:41 PM, Michael Cree <[email protected]> wrote: > On 14/10/2009, at 2:24 PM, Matt Turner wrote: > >> Matt Turner (3): >> [alpha] don't return from void functions > > Do you realise that the routines therein (i.e. _dense_outb(), _dense_inb(), > etc.) are not currently called from anywhere in the Xserver? At least, that > is the conclusion I came to when examining the code relevant to Alpha. The > routine _alpha_iobase_query() changes _alpha_outb() and similar to be > _dense_outb(), etc., if a dense I/O mapping is detected, but this routine > used to be called from some of the old PCI detection software that was > shifted out to libpciaccess, and, as far as I can tell, is now not called > from anywhere. So _alpha_outb() remains pointing at _outb() even on dense > systems and the _dense_outb(), etc., routines are now unused.
Ah, I missed that. Please take a look at the attached patch. > The _dense_outb() routines just check whether the port is 0xffff or below; > if so it calls _outb() else it does a direct memory access using the BWX > instructions. At the moment the Xserver code just calls _outb() without the > check. Whether that matters, or what the reason was for introducing the > _dense_outb() routines in the first place, I don't know. Maybe achieving > some improved efficiency for dense systems? God, what a disaster. X predates glibc, so it's understandable, but the in/out/_in/_out stuff is a mess. For instance, the out* routines X defines are of the format outb(port, val), which matches with with BSD provides, whereas glibc/Linux uses outb(val, port). Then, since they're named identically with functions in glibc, we've got to do silly things like naming them _outb. I've got to clean this up. Once that's done, I think we can probably move what's left of lnx_ev56.c into compiler.h and clean up the dense/sparse stuff. Matt
0001-alpha-Remove-unused-code-_dense_-functions-iobase-st.patch
Description: Binary data
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
