Subject: CVS commit: syssrc/sys/arch/sh5/sh5
To: None <source-changes@netbsd.org>
From: Steve Woodford <scw@netbsd.org>
List: source-changes
Date: 10/01/2002 18:01:49
Module Name:	syssrc
Committed By:	scw
Date:		Tue Oct  1 15:01:49 UTC 2002

Modified Files:
	syssrc/sys/arch/sh5/sh5: pmap.c

Log Message:
One of the last pieces of the SH5 pmap jigsaw; detect and deal with
operand cache synonyms and paradoxes for shared mappings:

 - Writable mappings are cache-inhibited if the underlying physical
   page is mapped at two or more *different* VAs.

   This means that read-only mappings at different VAs are still
   cacheable. While this could lead to operand cache synonyms, it
   won't cause data loss. At worst, we'd have the same read-only
   data in several cache-lines.

 - If a new cache-inhibited mapping is added for a page which has
   existing cacheable mappings, all the existing mappings must be
   made cache-inhibited.

 - Conversely, if a new cacheable mapping is added for a page which
   has existing cache-inhibited mappings, the new mapping must also
   be made cache-ibhibited.

 - When a mapping is removed, see if we can upgrade any of the
   underlying physical page's remaining mappings to cacheable.

TODO: Deal with operand cache aliases (if necessary).


To generate a diff of this commit:
cvs rdiff -r1.11 -r1.12 syssrc/sys/arch/sh5/sh5/pmap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.