> I think that if there is a difference between what you write and what > I have done, it is that bus_space_tag_create() *does* create a new tag > from the old before installing MI hooks into the new. Otherwise, I > think that we are writing about the same thing.
If you call a function "bus_space_tag_create()", it should fill whole necessary members in MD bus_space_tag_t. But it looks your bus_space_tag_create() just add MI hooks and leave all other MD alloc/access details. You might claim your MI bus_space_tag_create() can also add them in MD implementation, but there is no defined API to specify various MD implementation (map/access, stride/byteswap/wordoffset etc.) in MI bus_space_tag_create(). --- Izumi Tsutsui