Date: Sun, 30 Sep 2001 12:41:20 -0700 (PDT) From: Jake Burkholder <jake@FreeBSD.org> 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 Message-ID: <200109301941.f8UJfL835315@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109301941.f8UJfL835315>