From owner-cvs-all Mon Dec 23 15:39:59 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 14FBB37B401; Mon, 23 Dec 2002 15:39:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C1BDE43EDA; Mon, 23 Dec 2002 15:39:57 -0800 (PST) (envelope-from jake@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBNNdvfh017012; Mon, 23 Dec 2002 15:39:57 -0800 (PST) (envelope-from jake@repoman.freebsd.org) Received: (from jake@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBNNdvew017011; Mon, 23 Dec 2002 15:39:57 -0800 (PST) Message-Id: <200212232339.gBNNdvew017011@repoman.freebsd.org> From: Jake Burkholder Date: Mon, 23 Dec 2002 15:39:57 -0800 (PST) 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 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/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