PERFORCE change 98256 for review
Kip Macy
kmacy at FreeBSD.org
Thu Jun 1 00:33:17 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=98256
Change 98256 by kmacy at kmacy_storage:sun4v_work on 2006/06/01 07:31:30
track the context and address that caused an alignment fault at tl1
Affected files ...
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#60 edit
Differences ...
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#60 (text+ko) ====
@@ -965,7 +965,7 @@
mov %l7, %o0
call spinlock_exit
nop
- b user_rtt
+ ba,pt %xcc, user_rtt
nop
common_utrap:
jmpl %l3, %o7 ! call trap handler / syscall
@@ -976,6 +976,7 @@
sub %g6, TF_SIZEOF, %sp
add %sp, REGOFF + SPOFF, %l7
ENTRY(user_rtt)
+ nop
! pil handling needs to be re-visited
wrpr %g0, PIL_TICK, %pil
ldx [PCPU(CURTHREAD)], %l4
@@ -990,7 +991,7 @@
wrpr %g0, %l0, %pil
call ast
mov %l7, %o0
- ba,a,pt %xcc, user_rtt
+ ba,pt %xcc, user_rtt
nop
1:
@@ -1002,7 +1003,7 @@
mov T_SPILL, %o1
call trap
mov %l7, %o0
- ba,a %xcc, user_rtt
+ ba,pt %xcc, user_rtt
nop
2:
@@ -1762,15 +1763,18 @@
wrpr %g0, 1, %gl
rdpr %tt, %g5
GET_MMFSA_SCRATCH(%g7)
+ wr %g0, ASI_REAL, %asi
+ ldxa [%g7 + MMFSA_D_ADDR]%asi, %g6
+ ldxa [%g7 + MMFSA_D_CTX]%asi, %g7
cmp %g5, T_ALIGNMENT
be,pn %xcc, 3f
- wr %g0, ASI_REAL, %asi
- ldxa [%g7 + MMFSA_D_ADDR]%asi, %g6
- ldxa [%g7 + MMFSA_D_CTX]%asi, %g7
+ nop
srlx %g6, PAGE_SHIFT, %g6
sllx %g6, PAGE_SHIFT, %g6 ! mask off bottom
or %g6, %g7, %g6
-
-3:
- done
+ done
+3:
+ sllx %g7, TRAP_CTX_SHIFT, %g7
+ or %g7, %g5, %g5
+ done
END(tl1_trap)
More information about the p4-projects
mailing list