summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2002-08-15 05:46:42 +0000
committerJake Burkholder <jake@FreeBSD.org>2002-08-15 05:46:42 +0000
commit0db0a7019c2554f46ff976de9cdf0adc56a48388 (patch)
tree6c15ccc4db1601816face40bb41e707736f129cd
parentb5d2ed3047e46d1bebae570c61bb559a0923c330 (diff)
Notes
-rw-r--r--sys/sparc64/sparc64/exception.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/sparc64/sparc64/exception.S b/sys/sparc64/sparc64/exception.S
index d8e124547f15..7de0f1ffbc74 100644
--- a/sys/sparc64/sparc64/exception.S
+++ b/sys/sparc64/sparc64/exception.S
@@ -466,6 +466,7 @@ END(rsf_fatal)
.endm
.macro tl0_insn_excptn
+ wrpr %g0, PSTATE_ALT, %pstate
wr %g0, ASI_IMMU, %asi
rdpr %tpc, %g3
ldxa [%g0 + AA_IMMU_SFSR] %asi, %g4
@@ -477,6 +478,7 @@ END(rsf_fatal)
.endm
.macro tl0_data_excptn
+ wrpr %g0, PSTATE_ALT, %pstate
wr %g0, ASI_DMMU, %asi
ldxa [%g0 + AA_DMMU_SFAR] %asi, %g3
ldxa [%g0 + AA_DMMU_SFSR] %asi, %g4
@@ -1073,6 +1075,7 @@ END(tl0_sftrap)
.endm
.macro tl1_insn_excptn
+ wrpr %g0, PSTATE_ALT, %pstate
wr %g0, ASI_IMMU, %asi
rdpr %tpc, %g3
ldxa [%g0 + AA_IMMU_SFSR] %asi, %g4
@@ -1092,13 +1095,13 @@ ENTRY(tl1_insn_exceptn_trap)
END(tl1_insn_exceptn_trap)
.macro tl1_data_excptn
+ wrpr %g0, PSTATE_ALT, %pstate
b,a %xcc, tl1_data_excptn_trap
nop
.align 32
.endm
ENTRY(tl1_data_excptn_trap)
- wrpr %g0, PSTATE_ALT, %pstate
RESUME_SPILLFILL_MMU_CLR_SFSR
b %xcc, tl1_sfsr_trap
mov T_DATA_EXCEPTION | T_KERNEL, %g2
@@ -1111,7 +1114,6 @@ END(tl1_data_excptn_trap)
.endm
ENTRY(tl1_align_trap)
- wrpr %g0, PSTATE_ALT, %pstate
RESUME_SPILLFILL_ALIGN
b %xcc, tl1_sfsr_trap
mov T_MEM_ADDRESS_NOT_ALIGNED | T_KERNEL, %g2