On Thu, 27 May 2010, David Young wrote: > On Thu, May 27, 2010 at 10:18:53PM +0900, Izumi Tsutsui wrote: > > > What are the arguments to bus_space_tag_create()? > > > > > > I'm looking for a flag to tell it the "bus endianess" of the resulting > > > tag, > > > as that would help to sort out an abstraction violation in SBUS <-> pcmcia > > > adapters. Support for that would be optional, of course. > > > > I doubt we will able to abstruct various bus quirks including > > endianness with such simple flags. > > You would not use flags, you would install an override function to be > used instead of bus_space_read_4().
Uh, no you wouldn't. Endianness is set by MMU mappings when the registers are mapped in. Using the bswap routines on sparc64 is extremely inefficient since they result in 4-8 dependent instructions vs 0 cycles using the mux in the load/store path. Eduardo