1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00

Try to handle "double faults" occuring at more trap levels (ie 4 :)).

This commit is contained in:
Jake Burkholder 2002-05-25 01:45:11 +00:00
parent 597e13d8c5
commit 0679dc5f91
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=97263
2 changed files with 28 additions and 28 deletions
sys/sparc64/sparc64

View File

@ -163,26 +163,26 @@
ENTRY(tl1_kstack_fault)
rdpr %tl, %g1
cmp %g1, 3
beq %xcc, 1f
1: cmp %g1, 2
be,a 2f
nop
blt %xcc, 2f
nop
sir
1:
#if KTR_COMPILE & KTR_TRAP
CATR(KTR_TRAP, "tl1_kstack_fault: tl=%#lx tpc=%#lx tnpc=%#lx"
, %g1, %g2, %g3, 7, 8, 9)
rdpr %tl, %g2
stx %g2, [%g1 + KTR_PARM1]
rdpr %tpc, %g2
stx %g2, [%g1 + KTR_PARM1]
rdpr %tnpc, %g2
stx %g2, [%g1 + KTR_PARM1]
, %g2, %g3, %g4, 7, 8, 9)
rdpr %tl, %g3
stx %g3, [%g2 + KTR_PARM1]
rdpr %tpc, %g3
stx %g3, [%g2 + KTR_PARM1]
rdpr %tnpc, %g3
stx %g3, [%g2 + KTR_PARM1]
9:
#endif
wrpr %g0, 2, %tl
sub %g1, 1, %g1
wrpr %g1, 0, %tl
ba,a %xcc, 1b
nop
2:
#if KTR_COMPILE & KTR_TRAP

View File

@ -163,26 +163,26 @@
ENTRY(tl1_kstack_fault)
rdpr %tl, %g1
cmp %g1, 3
beq %xcc, 1f
1: cmp %g1, 2
be,a 2f
nop
blt %xcc, 2f
nop
sir
1:
#if KTR_COMPILE & KTR_TRAP
CATR(KTR_TRAP, "tl1_kstack_fault: tl=%#lx tpc=%#lx tnpc=%#lx"
, %g1, %g2, %g3, 7, 8, 9)
rdpr %tl, %g2
stx %g2, [%g1 + KTR_PARM1]
rdpr %tpc, %g2
stx %g2, [%g1 + KTR_PARM1]
rdpr %tnpc, %g2
stx %g2, [%g1 + KTR_PARM1]
, %g2, %g3, %g4, 7, 8, 9)
rdpr %tl, %g3
stx %g3, [%g2 + KTR_PARM1]
rdpr %tpc, %g3
stx %g3, [%g2 + KTR_PARM1]
rdpr %tnpc, %g3
stx %g3, [%g2 + KTR_PARM1]
9:
#endif
wrpr %g0, 2, %tl
sub %g1, 1, %g1
wrpr %g1, 0, %tl
ba,a %xcc, 1b
nop
2:
#if KTR_COMPILE & KTR_TRAP