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.