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.