|
@@ -401,76 +401,6 @@ do_ivec_xcall:
|
|
|
1: jmpl %g3, %g0
|
|
|
nop
|
|
|
|
|
|
- .globl save_alternate_globals
|
|
|
-save_alternate_globals: /* %o0 = save_area */
|
|
|
- rdpr %pstate, %o5
|
|
|
- andn %o5, PSTATE_IE, %o1
|
|
|
- wrpr %o1, PSTATE_AG, %pstate
|
|
|
- stx %g0, [%o0 + 0x00]
|
|
|
- stx %g1, [%o0 + 0x08]
|
|
|
- stx %g2, [%o0 + 0x10]
|
|
|
- stx %g3, [%o0 + 0x18]
|
|
|
- stx %g4, [%o0 + 0x20]
|
|
|
- stx %g5, [%o0 + 0x28]
|
|
|
- stx %g6, [%o0 + 0x30]
|
|
|
- stx %g7, [%o0 + 0x38]
|
|
|
- wrpr %o1, PSTATE_IG, %pstate
|
|
|
- stx %g0, [%o0 + 0x40]
|
|
|
- stx %g1, [%o0 + 0x48]
|
|
|
- stx %g2, [%o0 + 0x50]
|
|
|
- stx %g3, [%o0 + 0x58]
|
|
|
- stx %g4, [%o0 + 0x60]
|
|
|
- stx %g5, [%o0 + 0x68]
|
|
|
- stx %g6, [%o0 + 0x70]
|
|
|
- stx %g7, [%o0 + 0x78]
|
|
|
- wrpr %o1, PSTATE_MG, %pstate
|
|
|
- stx %g0, [%o0 + 0x80]
|
|
|
- stx %g1, [%o0 + 0x88]
|
|
|
- stx %g2, [%o0 + 0x90]
|
|
|
- stx %g3, [%o0 + 0x98]
|
|
|
- stx %g4, [%o0 + 0xa0]
|
|
|
- stx %g5, [%o0 + 0xa8]
|
|
|
- stx %g6, [%o0 + 0xb0]
|
|
|
- stx %g7, [%o0 + 0xb8]
|
|
|
- wrpr %o5, 0x0, %pstate
|
|
|
- retl
|
|
|
- nop
|
|
|
-
|
|
|
- .globl restore_alternate_globals
|
|
|
-restore_alternate_globals: /* %o0 = save_area */
|
|
|
- rdpr %pstate, %o5
|
|
|
- andn %o5, PSTATE_IE, %o1
|
|
|
- wrpr %o1, PSTATE_AG, %pstate
|
|
|
- ldx [%o0 + 0x00], %g0
|
|
|
- ldx [%o0 + 0x08], %g1
|
|
|
- ldx [%o0 + 0x10], %g2
|
|
|
- ldx [%o0 + 0x18], %g3
|
|
|
- ldx [%o0 + 0x20], %g4
|
|
|
- ldx [%o0 + 0x28], %g5
|
|
|
- ldx [%o0 + 0x30], %g6
|
|
|
- ldx [%o0 + 0x38], %g7
|
|
|
- wrpr %o1, PSTATE_IG, %pstate
|
|
|
- ldx [%o0 + 0x40], %g0
|
|
|
- ldx [%o0 + 0x48], %g1
|
|
|
- ldx [%o0 + 0x50], %g2
|
|
|
- ldx [%o0 + 0x58], %g3
|
|
|
- ldx [%o0 + 0x60], %g4
|
|
|
- ldx [%o0 + 0x68], %g5
|
|
|
- ldx [%o0 + 0x70], %g6
|
|
|
- ldx [%o0 + 0x78], %g7
|
|
|
- wrpr %o1, PSTATE_MG, %pstate
|
|
|
- ldx [%o0 + 0x80], %g0
|
|
|
- ldx [%o0 + 0x88], %g1
|
|
|
- ldx [%o0 + 0x90], %g2
|
|
|
- ldx [%o0 + 0x98], %g3
|
|
|
- ldx [%o0 + 0xa0], %g4
|
|
|
- ldx [%o0 + 0xa8], %g5
|
|
|
- ldx [%o0 + 0xb0], %g6
|
|
|
- ldx [%o0 + 0xb8], %g7
|
|
|
- wrpr %o5, 0x0, %pstate
|
|
|
- retl
|
|
|
- nop
|
|
|
-
|
|
|
.globl getcc, setcc
|
|
|
getcc:
|
|
|
ldx [%o0 + PT_V9_TSTATE], %o1
|