From owner-p4-projects@FreeBSD.ORG Sat Oct 14 14:44:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 085E816A416; Sat, 14 Oct 2006 14:44:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BD99F16A403 for ; Sat, 14 Oct 2006 14:44:14 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C86F43D88 for ; Sat, 14 Oct 2006 14:44:11 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9EEiBHQ025704 for ; Sat, 14 Oct 2006 14:44:11 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9EEiBud025700 for perforce@freebsd.org; Sat, 14 Oct 2006 14:44:11 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 14 Oct 2006 14:44:11 GMT Message-Id: <200610141444.k9EEiBud025700@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 107892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Oct 2006 14:44:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=107892 Change 107892 by gonzo@gonzo_hq on 2006/10/14 14:44:05 o Add missing part of TLBMiss handler: get actual PTEs from segtab if it's present. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#12 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#12 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#11 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#12 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -337,9 +337,22 @@ beq k1, zero, 7f # ==0 -- no page table srl k0, 10 # k0=VPN (aka va>>10) - break # XXX: Not ready yet - - eret + andi k0, k0, 0xff8 # k0=page tab offset + addu k1, k1, k0 # k1=pte address + lw k0, 0(k1) # k0=lo0 pte + lw k1, 4(k1) # k1=lo1 pte + sll k0, 2 # chop top 2 bits (part 1a) + srl k0, 2 # chop top 2 bits (part 1b) + mtc0 k0, MIPS_COP_0_TLB_LO0 # lo0 is loaded + sll k1, 2 # chop top 2 bits (part 2a) + srl k1, 2 # chop top 2 bits (part 2b) + mtc0 k1, MIPS_COP_0_TLB_LO1 # lo1 is loaded + nop # standard nop + tlbwr # write to tlb + nop # standard nop + nop # needed by R4000/4400 + nop # needed by R4000/4400 + eret # return from exception 5: j KVATLBMiss nop