Deleted Added
full compact
__sparc_utrap_gen.S (88794) __sparc_utrap_gen.S (91159)
1/*-
2 * Copyright (c) 2001 Jake Burkholder.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27#if defined(SYSLIBC_RCS) && !defined(lint)
28 .text
1/*-
2 * Copyright (c) 2001 Jake Burkholder.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27#if defined(SYSLIBC_RCS) && !defined(lint)
28 .text
29 .asciz "$FreeBSD: head/lib/libc/sparc64/sys/__sparc_utrap_gen.S 88794 2002-01-01 21:58:32Z jake $"
29 .asciz "$FreeBSD: head/lib/libc/sparc64/sys/__sparc_utrap_gen.S 91159 2002-02-23 19:00:30Z jake $"
30#endif /* SYSLIBC_RCS and not lint */
31
32 .register %g2, #ignore
33 .register %g3, #ignore
34 .register %g6, #ignore
35 .register %g7, #ignore
36
37#include <machine/asm.h>
30#endif /* SYSLIBC_RCS and not lint */
31
32 .register %g2, #ignore
33 .register %g3, #ignore
34 .register %g6, #ignore
35 .register %g7, #ignore
36
37#include <machine/asm.h>
38#include <machine/tstate.h>
38#include <machine/utrap.h>
39
40#include "assym.s"
41
42ENTRY(__sparc_utrap_gen)
39#include <machine/utrap.h>
40
41#include "assym.s"
42
43ENTRY(__sparc_utrap_gen)
43 sub %fp, CCFSZ + UF_SIZEOF, %sp
44 sub %sp, UF_SIZEOF, %sp
44
45 stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE]
46 stx %o3, [%sp + SPOFF + CCFSZ + UF_TAR]
47 stx %o4, [%sp + SPOFF + CCFSZ + UF_SFAR]
48 stx %o5, [%sp + SPOFF + CCFSZ + UF_SFSR]
49
45
46 stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE]
47 stx %o3, [%sp + SPOFF + CCFSZ + UF_TAR]
48 stx %o4, [%sp + SPOFF + CCFSZ + UF_SFAR]
49 stx %o5, [%sp + SPOFF + CCFSZ + UF_SFSR]
50
51 stx %l4, [%sp + SPOFF + CCFSZ + UF_FSR]
52 stx %l5, [%sp + SPOFF + CCFSZ + UF_STATE]
50 stx %l6, [%sp + SPOFF + CCFSZ + UF_PC]
51 stx %l7, [%sp + SPOFF + CCFSZ + UF_NPC]
52
53 stx %g1, [%sp + SPOFF + CCFSZ + UF_G1]
54 stx %g2, [%sp + SPOFF + CCFSZ + UF_G2]
55 stx %g3, [%sp + SPOFF + CCFSZ + UF_G3]
56 stx %g4, [%sp + SPOFF + CCFSZ + UF_G4]
57 stx %g5, [%sp + SPOFF + CCFSZ + UF_G5]

--- 24 unchanged lines hidden (view full) ---

82 ldx [%sp + SPOFF + CCFSZ + UF_O1], %i1
83 ldx [%sp + SPOFF + CCFSZ + UF_O2], %i2
84 ldx [%sp + SPOFF + CCFSZ + UF_O3], %i3
85 ldx [%sp + SPOFF + CCFSZ + UF_O4], %i4
86 ldx [%sp + SPOFF + CCFSZ + UF_O5], %i5
87 ldx [%sp + SPOFF + CCFSZ + UF_O6], %i6
88 ldx [%sp + SPOFF + CCFSZ + UF_O7], %i7
89
53 stx %l6, [%sp + SPOFF + CCFSZ + UF_PC]
54 stx %l7, [%sp + SPOFF + CCFSZ + UF_NPC]
55
56 stx %g1, [%sp + SPOFF + CCFSZ + UF_G1]
57 stx %g2, [%sp + SPOFF + CCFSZ + UF_G2]
58 stx %g3, [%sp + SPOFF + CCFSZ + UF_G3]
59 stx %g4, [%sp + SPOFF + CCFSZ + UF_G4]
60 stx %g5, [%sp + SPOFF + CCFSZ + UF_G5]

--- 24 unchanged lines hidden (view full) ---

85 ldx [%sp + SPOFF + CCFSZ + UF_O1], %i1
86 ldx [%sp + SPOFF + CCFSZ + UF_O2], %i2
87 ldx [%sp + SPOFF + CCFSZ + UF_O3], %i3
88 ldx [%sp + SPOFF + CCFSZ + UF_O4], %i4
89 ldx [%sp + SPOFF + CCFSZ + UF_O5], %i5
90 ldx [%sp + SPOFF + CCFSZ + UF_O6], %i6
91 ldx [%sp + SPOFF + CCFSZ + UF_O7], %i7
92
93 ldx [%sp + SPOFF + CCFSZ + UF_STATE], %l5
94 ! Restore %asi and %ccr from the passed tstate
95 srlx %l5, TSTATE_CCR_SHIFT, %l4
96 and %l4, CCR_MASK, %l4
97 wr %l4, 0, %ccr
98 srlx %l5, TSTATE_ASI_SHIFT, %l4
99 and %l4, ASI_MASK, %l4
100 wr %l4, 0, %asi
90 ldx [%sp + SPOFF + CCFSZ + UF_PC], %l6
91 ldx [%sp + SPOFF + CCFSZ + UF_NPC], %l7
92
93 jmpl %l6, %g0
94 return %l7
95END(__sparc_utrap_gen)
101 ldx [%sp + SPOFF + CCFSZ + UF_PC], %l6
102 ldx [%sp + SPOFF + CCFSZ + UF_NPC], %l7
103
104 jmpl %l6, %g0
105 return %l7
106END(__sparc_utrap_gen)