Date: Sat, 27 Jul 2002 14:57:38 -0700 (PDT) From: Jake Burkholder <jake@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/include pmap.h tlb.h src/sys/sparc64/sparc64 exception.s genassym.c pmap.c Message-ID: <200207272157.g6RLvcSU040080@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jake 2002/07/27 14:57:38 PDT Modified files: sys/sparc64/include pmap.h tlb.h sys/sparc64/sparc64 exception.s genassym.c pmap.c Log: Implement a direct mapped address region, like alpha and ia64. This basically maps all of physical memory 1:1 to a range of virtual addresses outside of normal kva. The advantage of doing this instead of accessing phsyical addresses directly is that memory accesses will go through the data cache, and will participate in the normal cache coherency algorithm for invalidating lines in our own and in other cpus' data caches. So we don't have to flush the cache manually or send IPIs to do so on other cpus. Also, since the mappings never change, we don't have to flush them from the tlb manually. This makes pmap_copy_page and pmap_zero_page MP safe, allowing the idle zero proc to run outside of giant. Inspired by: ia64 Revision Changes Path 1.22 +1 -0 src/sys/sparc64/include/pmap.h 1.22 +6 -0 src/sys/sparc64/include/tlb.h 1.37 +51 -3 src/sys/sparc64/sparc64/exception.s 1.38 +13 -0 src/sys/sparc64/sparc64/genassym.c 1.72 +60 -36 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?200207272157.g6RLvcSU040080>