From owner-p4-projects@FreeBSD.ORG Wed Mar 15 08:35:11 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 DA2A116A422; Wed, 15 Mar 2006 08:35:10 +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 9B9CC16A401 for ; Wed, 15 Mar 2006 08:35:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4CC3743D46 for ; Wed, 15 Mar 2006 08:35:10 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k2F8ZAb8020493 for ; Wed, 15 Mar 2006 08:35:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k2F8Z9jk020490 for perforce@freebsd.org; Wed, 15 Mar 2006 08:35:09 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 15 Mar 2006 08:35:09 GMT Message-Id: <200603150835.k2F8Z9jk020490@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 93342 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: Wed, 15 Mar 2006 08:35:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=93342 Change 93342 by kmacy@kmacy_storage:sun4v_work on 2006/03/15 08:34:17 formatting cleanups Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#30 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#30 (text+ko) ==== @@ -1300,6 +1300,7 @@ be,pn %xcc, 1f srlx %g5, TTARGET_VA_SHIFT, %g1 GET_HASH_SCRATCH_USER(%g2) +! MAGIC_TRAP_ON ba,pt %xcc, 2f sllx %g6, TTARGET_CTX_SHIFT, %g6 1: @@ -1325,65 +1326,66 @@ #endif tsb_miss_compute_hash_addr: - sethi %hi(PAGE_SIZE), %g7 - sub %g7, 1, %g7 ! %g7==PAGE_MASK + sethi %hi(PAGE_SIZE), %g7 + sub %g7, 1, %g7 ! %g7==PAGE_MASK - and %g2, %g7, %g4 ! size stored in lower 13 bits - andn %g2, %g7, %g2 ! actual VA of hash + and %g2, %g7, %g4 ! size stored in lower 13 bits + andn %g2, %g7, %g2 ! actual VA of hash ! XXX only handle 8k page miss ! calculate hash index - srlx %g5, PAGE_SHIFT, %g1 ! absolute hash index - sllx %g4, (PAGE_SHIFT - THE_SHIFT), %g4 ! size of hash in THEs - sub %g4, 1, %g4 ! THE_MASK - and %g1, %g4, %g4 ! masked hash index - sllx %g4, THE_SHIFT, %g4 ! masked hash offset + srlx %g5, PAGE_SHIFT, %g1 ! absolute hash index + sllx %g4, (PAGE_SHIFT - THE_SHIFT), %g4 ! size of hash in THEs + sub %g4, 1, %g4 ! THE_MASK + and %g1, %g4, %g4 ! masked hash index + sllx %g4, THE_SHIFT, %g4 ! masked hash offset ! fetch hash entries - exit when we find what were looking for ! %g2==entry base - add %g2, %g4, %g2 ! base + offset == entry base + add %g2, %g4, %g2 ! base + offset == entry base + mov %g5, %g7 ! save fault addr ! entry 0 ! %g1 == abs index %g2 == THE pointer %g3 == flags ! %g4 <- tag %g5 <- data ! %g6 == search tag %g7 == fault addr tsb_miss_lookup_0: - ldda [%g2]ASI_LDTD_N, %g4 - cmp %g4, %g0 ! entry tag == 0 ? - be,pn %xcc, 4f + ldda [%g2]ASI_LDTD_N, %g4 + cmp %g4, %g0 ! entry tag == 0 ? + be,pn %xcc, 4f nop - cmp %g4, %g6 ! entry tag == VA tag? - be,pn %xcc, 5f + cmp %g4, %g6 ! entry tag == VA tag? + be,pn %xcc, 5f nop ! entry 1 tsb_miss_lookup_1: - add %g2, 16, %g2 ! next THF - ldda [%g2 + %g0]ASI_LDTD_N, %g4 - cmp %g4, %g0 ! entry tag == 0 ? - be,pn %xcc, 4f + add %g2, 16, %g2 ! next THF + ldda [%g2 + %g0]ASI_LDTD_N, %g4 + cmp %g4, %g0 ! entry tag == 0 ? + be,pn %xcc, 4f nop - cmp %g4, %g6 ! entry tag == search tag? - be,pn %xcc, 5f + cmp %g4, %g6 ! entry tag == search tag? + be,pn %xcc, 5f nop ! entry 2 tsb_miss_lookup_2: - add %g2, 16, %g2 ! next THF - ldda [%g2 + %g0]ASI_LDTD_N, %g4 - cmp %g4, %g0 ! entry tag == 0 ? - be,pn %xcc, 4f + add % g2, 16, %g2 ! next THF + ldda [%g2 + %g0]ASI_LDTD_N, %g4 + cmp %g4, %g0 ! entry tag == 0 ? + be,pn %xcc, 4f nop - cmp %g4, %g6 ! entry tag == search tag? - be,pn %xcc, 5f + cmp %g4, %g6 ! entry tag == search tag? + be,pn %xcc, 5f nop ! entry 3 tsb_miss_lookup_3: - add %g2, 16, %g2 ! next THF - ldda [%g2 + %g0]ASI_LDTD_N, %g4 - cmp %g4, %g0 ! entry tag == 0 ? - be,pn %xcc, 4f + add %g2, 16, %g2 ! next THF + ldda [%g2 + %g0]ASI_LDTD_N, %g4 + cmp %g4, %g0 ! entry tag == 0 ? + be,pn %xcc, 4f nop - cmp %g4, %g6 ! entry tag == search tag? - be,pn %xcc, 5f + cmp %g4, %g6 ! entry tag == search tag? + be,pn %xcc, 5f nop tsb_miss_not_found: 4: ! not found @@ -1448,8 +1450,8 @@ bz,pn %xcc, 8f nop GET_TSB_SCRATCH_USER(%g3) ! %g3 == TSB (RA) - ba,pt %xcc, 9f - and %g3, %g7, %g2 ! size of TSB in pages + ba,pt %xcc, 9f + and %g3, %g7, %g2 ! size of TSB in pages 8: GET_TSB_SCRATCH_KERNEL(%g3) ! %g3 == TSB (RA) and %g3, %g7, %g2 ! size of TSB in pages @@ -1472,8 +1474,8 @@ 10: mov %g1, %g2 #endif - stxa %g4, [%g2]ASI_REAL ! store tag - stxa %g5, [%g2 + %g7]ASI_REAL ! store data + stxa %g4, [%g2]ASI_REAL ! store tag + stxa %g5, [%g2 + %g7]ASI_REAL ! store data ! XXX the following intstruction should be replaced with a ! retry on HVs that do auto-demap