From owner-p4-projects@FreeBSD.ORG Fri Mar 12 11:30:50 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8BF416A4D1; Fri, 12 Mar 2004 11:30:49 -0800 (PST) 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 B2E7F16A4CF for ; Fri, 12 Mar 2004 11:30:49 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA06E43D49 for ; Fri, 12 Mar 2004 11:30:49 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2CJUnGe061408 for ; Fri, 12 Mar 2004 11:30:49 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2CJUngL061405 for perforce@freebsd.org; Fri, 12 Mar 2004 11:30:49 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Fri, 12 Mar 2004 11:30:49 -0800 (PST) Message-Id: <200403121930.i2CJUngL061405@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 48810 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Mar 2004 19:30:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=48810 Change 48810 by jmallett@jmallett_oingo on 2004/03/12 11:30:05 Take out re-dirty WAR now that the TLB is kept coherent with half-valid entries. Affected files ... .. //depot/projects/mips/sys/mips/mips/tlb.c#24 edit Differences ... ==== //depot/projects/mips/sys/mips/mips/tlb.c#24 (text+ko) ==== @@ -224,15 +224,6 @@ /* * PTE was not dirty and is being written to. XXX kernel only for now. - * - * XXX So it looks like something is broken above, because we end up - * with duplicate EntryHi's in the TLB, and that's how we get here. - * I think maybe the TLBL/TLBS routing is wrong, but I'm not prepared - * to bet on that. I will probably do a brief indirection though, and - * check tlbp. I guess ideally the TLBMiss handler would be called with - * an Index, since we can obviously just choose a Random one, and so - * forth, rather than using tlbwr, that'd make overloading said handler - * a lot easier. But I'm probably just a bad person. */ void tlb_modified(void *badvaddr) @@ -250,10 +241,8 @@ panic("write to invalid page"); if (pte_ro(pte)) panic("write to ro page"); - if (pte_dirty(pte)) { - tlb_invalidate_all(); - printf("dirty page caused a TLBMod\n"); - } + if (pte_dirty(pte)) + panic("dirty page caused a TLBMod"); /* * Mark the page dirty.