From owner-cvs-all Sun Sep 30 12:41:28 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 17F1137B406; Sun, 30 Sep 2001 12:41:21 -0700 (PDT) Received: (from jake@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f8UJfL835315; Sun, 30 Sep 2001 12:41:21 -0700 (PDT) (envelope-from jake) Message-Id: <200109301941.f8UJfL835315@freefall.freebsd.org> From: Jake Burkholder Date: Sun, 30 Sep 2001 12:41:20 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/sparc64 exception.s genassym.c trap.c src/sys/sparc64/include intr_machdep.h 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 2001/09/30 12:41:20 PDT Modified files: sys/sparc64/sparc64 exception.s genassym.c trap.c sys/sparc64/include intr_machdep.h Log: Split the low level trap code into trap, interrupt and syscall, its easier and hopefully this code is done changing radically. Don't use the mmu tlb register to address the kernel page table, nor the 8k pointer register. The hardware will do some of the page table lookup by storing the the base address in an internal register and calculating the address of the tte in the table. However it is limited to a 1 meg tsb, which only maps 512 megs. The kernel page table only has one level, so its easy to just do it by hand, which has the advantage of supporting abitrary amounts of kvm and only costs a few more instructions. Increase kvm to 1 gig now that its easy to do so and so we don't waste most of a 4 meg page. Fix some traces. Fix more proc locking. Call tsb_stte_promote if we get a soft fault on a mapping in the upper levels of the tsb. If there is an invalid or unreferenced mapping in the primary tsb, it will be replaced. Immediately fail for faults occuring in {f,s}uswintr. Revision Changes Path 1.3 +2 -1 src/sys/sparc64/include/intr_machdep.h 1.9 +302 -87 src/sys/sparc64/sparc64/exception.s 1.10 +12 -12 src/sys/sparc64/sparc64/genassym.c 1.13 +80 -55 src/sys/sparc64/sparc64/trap.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message