Subject: re: R4000 cache lines
To: None <port-mips@NetBSD.ORG>
From: Michael L. Hitch <mhitch@lightning.oscs.montana.edu>
List: port-mips
Date: 06/03/1998 10:07:26
On Jun  3,  2:35am, Jonathan Stone wrote:
> 
> >Are the R4000 virtually indexed cache entries tagges with ASIDs?
> 
> For kseg0/kuseg, right? They better not be, or all sorts of things,
> like kernel malloc, would also break.
> 
> (Userspace addresses have to be and k1seg shouldn't be in the cache.)

  Are you sure about that?  If multiple user processes are sharing the
same physical pages at the same virtual address, if the cache entries
were tagged with the ASID [which it isn't], then the cache would get
misses and reloads between the processes.  If the shared memory is
at different virtual addresses, and the virtual address result in a
different virtual index, the could cause problems.  [The cache coherency
handler should detect and correct this if the secondary cache is present.]
This shouldn't happen in NetBSD for shared libraries - the pmap_prefer()
is supposed to adjust the virtual address to prevent cache alias conflicts.]

Michael

-- 
Michael L. Hitch			mhitch@montana.edu
Computer Consultant
Information Technology Center
Montana State University	Bozeman, MT	USA