PERFORCE change 93342 for review
Kip Macy
kmacy at FreeBSD.org
Wed Mar 15 08:35:11 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=93342
Change 93342 by kmacy at 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
More information about the p4-projects
mailing list