Subversion Repositories HelenOS

Rev

Rev 3492 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3492 Rev 3993
Line 128... Line 128...
128
    saved
128
    saved
129
    retry
129
    retry
130
.endm
130
.endm
131
 
131
 
132
/*
132
/*
133
 * Macro used to spill userspace window to userspace window buffer.
-
 
134
 * It can be either triggered from preemptible_handler doing SAVE
-
 
135
 * at (TL=1) or from normal kernel code doing SAVE when OTHERWIN>0
-
 
136
 * at (TL=0).
-
 
137
 */
-
 
138
.macro SPILL_TO_USPACE_WINDOW_BUFFER
-
 
139
    stx %l0, [%g7 + L0_OFFSET] 
-
 
140
    stx %l1, [%g7 + L1_OFFSET]
-
 
141
    stx %l2, [%g7 + L2_OFFSET]
-
 
142
    stx %l3, [%g7 + L3_OFFSET]
-
 
143
    stx %l4, [%g7 + L4_OFFSET]
-
 
144
    stx %l5, [%g7 + L5_OFFSET]
-
 
145
    stx %l6, [%g7 + L6_OFFSET]
-
 
146
    stx %l7, [%g7 + L7_OFFSET]
-
 
147
    stx %i0, [%g7 + I0_OFFSET]
-
 
148
    stx %i1, [%g7 + I1_OFFSET]
-
 
149
    stx %i2, [%g7 + I2_OFFSET]
-
 
150
    stx %i3, [%g7 + I3_OFFSET]
-
 
151
    stx %i4, [%g7 + I4_OFFSET]
-
 
152
    stx %i5, [%g7 + I5_OFFSET]
-
 
153
    stx %i6, [%g7 + I6_OFFSET]
-
 
154
    stx %i7, [%g7 + I7_OFFSET]
-
 
155
    add %g7, STACK_WINDOW_SAVE_AREA_SIZE, %g7
-
 
156
    saved
-
 
157
    retry
-
 
158
.endm
-
 
159
 
-
 
160
 
-
 
161
/*
-
 
162
 * Macro used by the nucleus and the primary context 0 during normal fills.
133
 * Macro used by the nucleus and the primary context 0 during normal fills.
163
 */
134
 */
164
.macro FILL_NORMAL_HANDLER_KERNEL
135
.macro FILL_NORMAL_HANDLER_KERNEL
165
    ldx [%sp + STACK_BIAS + L0_OFFSET], %l0
136
    ldx [%sp + STACK_BIAS + L0_OFFSET], %l0
166
    ldx [%sp + STACK_BIAS + L1_OFFSET], %l1
137
    ldx [%sp + STACK_BIAS + L1_OFFSET], %l1
Line 229... Line 200...
229
    mov %r0, %o7
200
    mov %r0, %o7
230
    retry
201
    retry
231
.endm
202
.endm
232
#endif /* __ASM__ */
203
#endif /* __ASM__ */
233
 
204
 
-
 
205
#if defined (SUN4U)
-
 
206
#include <arch/trap/sun4u/regwin.h>
-
 
207
#elif defined (SUN4V)
-
 
208
#include <arch/trap/sun4v/regwin.h>
-
 
209
#endif
-
 
210
 
234
#endif
211
#endif
235
 
212
 
236
/** @}
213
/** @}
237
 */
214
 */