Subject: Re: more on cache ops... What are they actually supposed to do?
To: None <jeffs@geocast.com>
From: Chris G. Demetriou <cgd@sibyte.com>
List: port-mips
Date: 06/20/2000 13:39:23
Jeff Smith <jeffs@geocast.com> writes:
> > (1) the point above is about doing the kseg conversion in C there for
> >     FlushICache, but in assembly for FlushDCache.  Of the mips3
> >     FlushICache calls i could find in the MI pmap, 2 were done with a
> >     kseg0 address, but one was done with a potentially-user va, AFAIK.
> >     (again the requirement of virtual indexing, correct?) In the one
> >     done with a 'random' va (pmap.c:1340), the pa is at hand, why not
> >     use it, and then you could make the calling interface consistent?
> 
> The physical address may have a different virtual index, so if you
> know the mapping, you need to use it. 

OK.  (So, this is one of the cases where you might get a TLB miss,
when flushing... 8-)

Based on other mail, really, all you need are the virtual indices to
flush.  So, at least in this code, there's nothing from preventing the
mask-and-or trick to make a kseg address here, correct?  (i.e. it
would be possible to make the code consistent.)



chris