Subject: Re: more on understanding caches.
To: Michael L. Hitch <mhitch@lightning.msu.montana.edu>
From: Chris G. Demetriou <cgd@sibyte.com>
List: port-mips
Date: 06/29/2000 13:38:20
> Because the mips1 cache is write-through, so when an instruction is
> modified (setting/clearing breakpoints), the data is written to memory.
> The I cache is flushed to make sure the modified data is executed, not
> the data in cache.
Right.
*sigh* so many variations, so little actual documentation in the
source... 8-S
actually, searching for 'through' shows (among other things):
#ifdef ENABLE_MIPS_TX3900
/*
* TX3922 write-through D-cache mode.
* for TX3912, no meaning. (no write-back mode)
*/
but that's nowhere near the actual r3900 cache op code.
> I'm confused :-) Is the r3900 considered mips1? And does it have
> write-back cache? If so, then it's likely there are lots of places
> that don't handle the cache correctly.
yes, it's considered "mips1" by the code, at least in many places. it
looks like its caches are always used in write-through mode. (some
members of the family are only write-through, some appear to support
both modes but can be set one way or another, and are set to
write-through...)
good call (by you and Jeff).
chris