From owner-cvs-all Sat Jul 27 14:57:44 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5246E37B400; Sat, 27 Jul 2002 14:57:39 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 159FA43E3B; Sat, 27 Jul 2002 14:57:39 -0700 (PDT) (envelope-from jake@FreeBSD.org) Received: from freefall.freebsd.org (jake@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g6RLvcJU040081; Sat, 27 Jul 2002 14:57:38 -0700 (PDT) (envelope-from jake@freefall.freebsd.org) Received: (from jake@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g6RLvcSU040080; Sat, 27 Jul 2002 14:57:38 -0700 (PDT) Message-Id: <200207272157.g6RLvcSU040080@freefall.freebsd.org> From: Jake Burkholder Date: Sat, 27 Jul 2002 14:57:38 -0700 (PDT) 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 X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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