On Fri, Aug 01, 2003 at 08:51:39AM +0100, Dominic Sweetman wrote: > The MIPS32/MIPS64 release 2 architecture includes a useful instruction > SYNCI which does the whole job (repeat on each affected cache line) > and is legal in user mode; this will take a while to spread but I'd > recommend it as a model worth following. > So I hope that kernels will provide one function for "I've just > written instructions and now I want to execute them", and not export > the separate writeback-D/invalidate-I interface. Linux supports the traditional MIPS UNIX cacheflush(2) syscall through a libc interface. Since I've not seen any other use for the call than I/D-cache synchronization. I'd just make cacheflush(3) use SYNCI where available (Or maybe one of the other vendor specific mechanisms ...) and fallback to cacheflush(2) where available. Gcc would be another place to teach about SYNCI for it's trampolines. Ralf