summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2011-06-07 23:15:21 +0000
committermarius <marius@FreeBSD.org>2011-06-07 23:15:21 +0000
commitd2f204966c11d08d0a3955cd9de7554ad364bf29 (patch)
tree26c7c8b96e8b42928f733f302d597314ea986961 /sys/sparc64
parentc129cb6c4fa374e0cf38714d1eaa8c1ee9bd6b33 (diff)
downloadFreeBSD-src-d2f204966c11d08d0a3955cd9de7554ad364bf29.zip
FreeBSD-src-d2f204966c11d08d0a3955cd9de7554ad364bf29.tar.gz
- For the case when tl1_align(_trap) is used to call rsf_fatal via
RSF_FATAL we need to switch to alternate globals for KSTACK_CHECK just like tl1_data_excptn(_trap) does. This is more or less cosmetic because in case RSF_FATAL is called we're already heading south. - Correct an END(). - Read the window state from the correct register for a CATR().
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/sparc64/exception.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/sparc64/sparc64/exception.S b/sys/sparc64/sparc64/exception.S
index 246f2c2..0b8a0fa 100644
--- a/sys/sparc64/sparc64/exception.S
+++ b/sys/sparc64/sparc64/exception.S
@@ -1280,6 +1280,7 @@ ENTRY(tl1_data_excptn_trap)
END(tl1_data_excptn_trap)
.macro tl1_align
+ wrpr %g0, PSTATE_ALT, %pstate
ba,a %xcc, tl1_align_trap
nop
.align 32
@@ -1289,7 +1290,7 @@ ENTRY(tl1_align_trap)
RESUME_SPILLFILL_ALIGN
ba %xcc, tl1_sfsr_trap
mov T_MEM_ADDRESS_NOT_ALIGNED | T_KERNEL, %g2
-END(tl1_data_excptn_trap)
+END(tl1_align_trap)
ENTRY(tl1_sfsr_trap)
wr %g0, ASI_DMMU, %asi
@@ -2702,7 +2703,7 @@ tl0_ret_fill_end:
, %l0, %l1, %l2, 7, 8, 9)
rdpr %pstate, %l1
stx %l1, [%l0 + KTR_PARM1]
- stx %l5, [%l0 + KTR_PARM2]
+ stx %l6, [%l0 + KTR_PARM2]
stx %sp, [%l0 + KTR_PARM3]
9:
OpenPOWER on IntegriCloud