Date: Mon, 23 Dec 2002 15:39:57 -0800 (PST) From: Jake Burkholder <jake@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/include tlb.h vmparam.h src/sys/sparc64/sparc64 exception.S genassym.c pmap.c Message-ID: <200212232339.gBNNdvew017011@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jake 2002/12/23 15:39:57 PST
Modified files:
sys/sparc64/include tlb.h vmparam.h
sys/sparc64/sparc64 exception.S genassym.c pmap.c
Log:
- Change the way the direct mapped region is implemented to be generally
useful for accessing more than 1 page of contiguous physical memory, and
to use 4mb tlb entries instead of 8k. This requires that the system only
use the direct mapped addresses when they have the same virtual colour as
all other mappings of the same page, instead of being able to choose the
colour and cachability of the mapping.
- Adapt the physical page copying and zeroing functions to account for not
being able to choose the colour or cachability of the direct mapped
address. This adds a lot more cases to handle. Basically when a page has
a different colour than its direct mapped address we have a choice between
bypassing the data cache and using physical addresses directly, which
requires a cache flush, or mapping it at the right colour, which requires
a tlb flush. For now we choose to map the page and do the tlb flush.
This will allows the direct mapped addresses to be used for more things
that don't require normal pmap handling, including mapping the vm_page
structures, the message buffer, temporary mappings for crash dumps, and will
provide greater benefit for implementing uma_small_alloc, due to the much
greater tlb coverage.
Revision Changes Path
1.25 +12 -5 src/sys/sparc64/include/tlb.h
1.13 +72 -31 src/sys/sparc64/include/vmparam.h
1.54 +7 -18 src/sys/sparc64/sparc64/exception.S
1.44 +3 -3 src/sys/sparc64/sparc64/genassym.c
1.96 +125 -50 src/sys/sparc64/sparc64/pmap.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212232339.gBNNdvew017011>
