On Thu, Jan 19, 2012 at 10:59:01AM -0800, Matt Thomas wrote: > > For prefetchable regions (like framebuffers) mapped by bus_space_map, there > is a need to able force the contents out of the cache back into memory > (especially when the cache is a writeback cache). > > There is no MI way to do this with the bus_space framework so I'm proposing > we add a: > > void bus_space_sync(bus_space_tag_t bst, > bus_space_handle_t bsh, > bus_size_t offset, > bus_size_t length, > int ops); > > where ops is one of: > > #define BUS_SPACE_SYNC_WB 1 // defined by MD > #define BUS_SPACE_SYNC_WBINV 2 // defined by MD > > One caveat is that though a BUS_SPACE_SYNC_WB was requested, a platform can > perform BUS_SPACE_SYNC_WBINV instead. If the platform can't support just > writeback, it is allowed to silently do a writeback-invalidate instead.
Isn't this what bus_space_barrier(BUS_SPACE_BARRIER_SYNC) is for ? -- Manuel Bouyer <bou...@antioche.eu.org> NetBSD: 26 ans d'experience feront toujours la difference --