Subject: CVS commit: syssrc/sys/arch
To: None <source-changes@netbsd.org>
From: Matthew Fredette <fredette@netbsd.org>
List: source-changes
Date: 08/12/2002 01:29:10
Module Name: syssrc
Committed By: fredette
Date: Sun Aug 11 22:29:09 UTC 2002
Modified Files:
syssrc/sys/arch/hp700/hp700: genassym.cf
syssrc/sys/arch/hp700/include: cpu.h
syssrc/sys/arch/hppa/hppa: hpt.h pmap.c trap.S
syssrc/sys/arch/hppa/include: pte.h
Log Message:
Significant pmap changes to no longer rely on the "U-bit" (TLB_UNCACHEABLE)
to deal with aliasing of regular memory pages, because many processors don't
support it.
Now, the pmap marks all mappings of a page that has any non-equivalent
aliasing and any writable mapping, and the fault handlers watch for this
and flush other mappings out of the TLB and cache before (re)entering a
conflicting mapping.
When a page has non-equivalent aliasing, only one writable mapping at
a time may be in the TLB and cache. If no writable mapping is in the
TLB and cache, any number of read-only mappings may be.
The PA7100LC/PA7300LC fault handlers have not been converted yet.
To generate a diff of this commit:
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/hp700/hp700/genassym.cf
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/hp700/include/cpu.h
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/hppa/hppa/hpt.h
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/hppa/hppa/pmap.c \
syssrc/sys/arch/hppa/hppa/trap.S
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/hppa/include/pte.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.