Subject: Re: more on cache ops... What are they actually supposed to do?
To: None <port-mips@netbsd.org>
From: Noriyuki Soda <soda@sra.co.jp>
List: port-mips
Date: 06/21/2000 04:56:49
mhitch>   I've also alway thought there should be some cache invalidate
mhitch> operations for those cases where you don't need the cache 
mhitch> flushed to memory.

cgd> yeah, the pre-DMA ops could use this type of thing, certainly.

jeffs> That's is a win too.  The code has to be careful to avoid cache line
jeffs> tearing and invalidating outside the buffer.  IRIX does this.

Yeah, not only invalidation, but also solely write-back operation is
desirable, since BUS_DMASYNC_PREWRITE of bus_dmamap_sync(9) may get 
a benefit of it.

soren> Whoever does it should also keep Nisimura-san's recent suggestions
soren> in mind..

If I understand correctly, his proposal basically means having
following cache primitives:

	- invalidate instruction cache
	- invalidate data cache
	- writeback and invalidate data cache
		This is what our current FlushDCache() does.
		On MIPS1, this should be just same function with 
		invalidation, since MIPS1's cache is write-through,
	- writeback data cache
		On MIPS1, this should be just no operation,
		since MIPS1's cache is write-through,
--
soda