From owner-freebsd-mips@FreeBSD.ORG Mon Apr 28 12:55:37 2008 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0065D1065683 for ; Mon, 28 Apr 2008 12:55:36 +0000 (UTC) (envelope-from aduane@juniper.net) Received: from exprod7og106.obsmtp.com (exprod7og106.obsmtp.com [64.18.2.165]) by mx1.freebsd.org (Postfix) with ESMTP id BBD658FC1B for ; Mon, 28 Apr 2008 12:55:36 +0000 (UTC) (envelope-from aduane@juniper.net) Received: from source ([66.129.224.36]) by exprod7ob106.postini.com ([64.18.6.12]) with SMTP; Mon, 28 Apr 2008 05:55:36 PDT Received: from proton.jnpr.net ([10.10.2.37]) by emailsmtp56.jnpr.net with Microsoft SMTPSVC(6.0.3790.3959); Mon, 28 Apr 2008 05:42:44 -0700 Received: from antipi.jnpr.net ([10.10.2.34]) by proton.jnpr.net with Microsoft SMTPSVC(6.0.3790.1830); Mon, 28 Apr 2008 08:42:31 -0400 x-mimeole: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Mon, 28 Apr 2008 08:38:43 -0400 Message-ID: <0FCFCF6165E968449991746EB91D614D142EFA@antipi.jnpr.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: minor fix for tlb manipulations Thread-Index: AcioJugOQ0IV4Yu2RweqFfQ+M5I7swBBeMJt References: <2da2ec620804222103r7e90af37j2d36b0f0bc049abb@mail.gmail.com> <20080426.232158.1683324026.imp@bsdimp.com> From: "Andrew Duane" To: "M. Warner Losh" , X-OriginalArrivalTime: 28 Apr 2008 12:42:31.0665 (UTC) FILETIME=[53534E10:01C8A92D] Cc: freebsd-mips@freebsd.org Subject: RE: minor fix for tlb manipulations X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Apr 2008 12:55:37 -0000 Our version of the MIPS code does in fact use the number of pairs, not = number of entries, so we are not affected by this issue. I'm not sure = how the "virgin" FreeBSD code works, though, we've modified this section = somewhat. -----Original Message----- From: owner-freebsd-mips@freebsd.org on behalf of M. Warner Losh Sent: Sun 4/27/2008 1:21 AM To: nao@tom-yam.or.jp Cc: freebsd-mips@freebsd.org Subject: Re: minor fix for tlb manipulations =20 In message: = <2da2ec620804222103r7e90af37j2d36b0f0bc049abb@mail.gmail.com> "Naoki Hamada" writes: : I found a slight problem in tlb.S which tries to manipulate : no-existing tlbs. The argument of Mips_TLBFlush() and mips_TBIAP() is : the number of tlbs to deal with, but both functions process the same : number of tlb pairs, so twice the number of actual tlbs. I believe that the argument is the number of pairs to invalidate, at least in the case of Mips_TLBFlush. The number passed in is the MMUSize field from CO_Config1, which indicates the number of pairs that exist in the tlb. True, each iteration of the loop invalidates a pair of TLB entires, I think that the code is correct as it is. The MMUSize field returns the number of pairs, so I don't think any biasing is needed. The current Mips_TLBFlush function matches the InitTLB function given in the MIPS32 Architecture for Programmers, Volume III. : TLBWI entry of "MIPS32 Architecture For Programmers Volume II: The : MIPS32 Instruction Set" states that "The operation is UNDEFINED if the : contents of the Index register are greater than or equal to the number : of TLB entries in the processor." It seems to do no harm to my system, : but your mileage may vary. Correct. However, the count is the number of pairs, not the total number. Have I missed something in my reading the code and the mips32 specs? Warner _______________________________________________ freebsd-mips@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-mips To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org"