Ralf, > 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... SYNCI just does what's required to execute code you just wrote: that's a D-cache writeback and an I-cache invalidate. It doesn't invalidate the D-cache afterwards, which is required by the definition of cacheflush(3). I think it would be better to provide cache manipulation calls defined top-down (by their purpose); but so long as we are stuck with calls which are defined as performing particular low-level actions, it's surely dangerous to guess that we know what they are used for so we can trim the functions accordingly... -- Dominic Sweetman MIPS Technologies