Lines Matching refs:scr1
176 #define TRACE_PTR(ptr, scr1) \ argument
181 rdpr %pstate, scr1; \
182 andcc scr1, PSTATE_IE | PSTATE_AM, scr1; \
186 CPU_INDEX(scr1, ptr); \
187 sll scr1, TRAPTR_SIZE_SHIFT, scr1; \
189 add ptr, scr1, scr1; \
191 stb ptr, [scr1 + TRAPTR_ASIBUF]; \
196 ld [scr1 + TRAPTR_LIMIT], ptr; \
201 ldx [scr1 + TRAPTR_PBASE], ptr; \
202 ld [scr1 + TRAPTR_OFFSET], scr1; \
204 add ptr, scr1, ptr;
213 #define TRACE_NEXT(scr1, scr2, scr3) \ argument
214 CPU_INDEX(scr2, scr1); \
216 set trap_trace_ctl, scr1; \
217 add scr1, scr2, scr2; \
218 ldub [scr2 + TRAPTR_ASIBUF], scr1; \
219 wr %g0, scr1, %asi; \
220 sethi %hi(trap_freeze), scr1; \
221 ld [scr1 + %lo(trap_freeze)], scr1; \
223 brnz scr1, .+36; /* skip update on freeze */ \
224 ld [scr2 + TRAPTR_OFFSET], scr1; \
226 st scr1, [scr2 + TRAPTR_LAST_OFFSET]; \
227 add scr1, TRAP_ENT_SIZE, scr1; \
229 cmp scr1, scr3; \
230 movge %icc, 0, scr1; \
231 st scr1, [scr2 + TRAPTR_OFFSET];
236 #define TRACE_SAVE_TL_GL_REGS(addr, scr1) \ argument
237 rdpr %tl, scr1; \
238 stha scr1, [addr + TRAP_ENT_TL]%asi
258 #define TRACE_RTT(code, scr1, scr2, scr3, scr4) \ argument
262 TRACE_PTR(scr1, scr2); \
264 stxa scr2, [scr1 + TRAP_ENT_TICK]%asi; \
266 stha scr2, [scr1 + TRAP_ENT_TL]%asi; \
268 stha scr2, [scr1 + TRAP_ENT_TT]%asi; \
270 stna scr2, [scr1 + TRAP_ENT_TPC]%asi; \
272 stxa scr2, [scr1 + TRAP_ENT_TSTATE]%asi; \
273 stna %sp, [scr1 + TRAP_ENT_SP]%asi; \
274 stna %l6, [scr1 + TRAP_ENT_TR]%asi; \
275 stna %l7, [scr1 + TRAP_ENT_F1]%asi; \
278 stna scr2, [scr1 + TRAP_ENT_F2]%asi; \
281 stna scr2, [scr1 + TRAP_ENT_F3]%asi; \
283 stna scr2, [scr1 + TRAP_ENT_F4]%asi; \
284 TRACE_NEXT(scr1, scr2, scr3); \
291 #define TRACE_WIN_INFO(code, scr1, scr2, scr3) \ argument
292 TRACE_PTR(scr1, scr2); \
294 stxa scr2, [scr1 + TRAP_ENT_TICK]%asi; \
296 stha scr2, [scr1 + TRAP_ENT_TL]%asi; \
300 stha scr2, [scr1 + TRAP_ENT_TT]%asi; \
302 stxa scr2, [scr1 + TRAP_ENT_TSTATE]%asi; \
303 stna %sp, [scr1 + TRAP_ENT_SP]%asi; \
305 stna scr2, [scr1 + TRAP_ENT_TPC]%asi; \
307 stna scr2, [scr1 + TRAP_ENT_TR]%asi; \
309 stna scr2, [scr1 + TRAP_ENT_F1]%asi; \
317 stna scr2, [scr1 + TRAP_ENT_F2]%asi; \
325 stna scr2, [scr1 + TRAP_ENT_F3]%asi; \
326 stna %o7, [scr1 + TRAP_ENT_F4]%asi; \
327 TRACE_NEXT(scr1, scr2, scr3)
331 #define FAULT_WINTRACE(scr1, scr2, scr3, type) \ argument
332 TRACE_PTR(scr1, scr2); \
334 stxa scr2, [scr1 + TRAP_ENT_TICK]%asi; \
336 stha scr2, [scr1 + TRAP_ENT_TL]%asi; \
338 stha scr2, [scr1 + TRAP_ENT_TT]%asi; \
340 stna scr2, [scr1 + TRAP_ENT_TPC]%asi; \
342 stxa scr2, [scr1 + TRAP_ENT_TSTATE]%asi; \
343 stna %sp, [scr1 + TRAP_ENT_SP]%asi; \
344 stna %g0, [scr1 + TRAP_ENT_TR]%asi; \
345 stna %g0, [scr1 + TRAP_ENT_F1]%asi; \
346 stna %g4, [scr1 + TRAP_ENT_F2]%asi; \
348 stna scr2, [scr1 + TRAP_ENT_F3]%asi; \
349 stna %g0, [scr1 + TRAP_ENT_F4]%asi; \
350 TRACE_NEXT(scr1, scr2, scr3)
354 #define SYSTRAP_TRACE(scr1, scr2, scr3) \ argument
355 TRACE_PTR(scr1, scr2); \
357 stxa scr2, [scr1 + TRAP_ENT_TICK]%asi; \
359 stha scr2, [scr1 + TRAP_ENT_TL]%asi; \
363 stha scr2, [scr1 + TRAP_ENT_TT]%asi; \
365 stna scr2, [scr1 + TRAP_ENT_TPC]%asi; \
367 stxa scr2, [scr1 + TRAP_ENT_TSTATE]%asi; \
368 stna %g1, [scr1 + TRAP_ENT_SP]%asi; \
369 stna %g2, [scr1 + TRAP_ENT_TR]%asi; \
370 stna %g3, [scr1 + TRAP_ENT_F1]%asi; \
371 stna %g4, [scr1 + TRAP_ENT_F2]%asi; \
373 stna scr2, [scr1 + TRAP_ENT_F3]%asi; \
375 stna scr2, [scr1 + TRAP_ENT_F4]%asi; \
376 TRACE_NEXT(scr1, scr2, scr3)
380 #define FAULT_WINTRACE(scr1, scr2, scr3, type) argument
381 #define SYSTRAP_TRACE(scr1, scr2, scr3) argument