Lines Matching +full:no +full:- +full:idle +full:- +full:on +full:- +full:init
4 | gen_except --- FPSP routine to detect reportable exceptions
7 | user_fpcr on the stack with the exception status byte
32 | For details on the license for this file, please see the
58 cmpib #IDLE_SIZE-4,1(%a7) |test for idle frame
59 beq do_check |go handle idle frame
60 cmpib #UNIMP_40_SIZE-4,1(%a7) |test for orig unimp frame
62 cmpib #UNIMP_41_SIZE-4,1(%a7) |test for rev unimp frame
64 cmpib #BUSY_SIZE-4,1(%a7) |if size <> $60, fmt error
66 leal BUSY_SIZE+LOCAL_SIZE(%a7),%a1 |init a1 so fpsp.h
86 | Or in the FPSR from the emulation with the USER_FPSR on the stack.
102 cmpib #UNIMP_40_SIZE-4,1(%a7) |test for orig unimp frame
107 cmpib #UNIMP_41_SIZE-4,1(%a7) |test for rev unimp frame
117 | Or in the FPSR from the emulation with the USER_FPSR on the stack.
124 | Frame is idle, so check for exceptions reported through
127 | idle fsave vector to the unimp vector.
133 | Or in the FPSR from the emulation with the USER_FPSR on the stack.
138 | On a busy frame, we must clear the nmnexc bits.
140 cmpib #BUSY_SIZE-4,1(%a7) |check frame type
149 cmpb #UNIMP_40_SIZE-4,1(%a7)
157 subib #24,%d1 |normalize bit offset to 0-8
159 | ;based on first enabled exc
209 | No bits in the enable byte match existing exceptions. Check for
221 | No exceptions are to be reported. If the instruction was
222 | unimplemented, no FPU restore is necessary. If it was
229 bne do_clean |if clear, no frestore needed
231 moveml USER_DA(%a6),%d0-%d1/%a0-%a1
232 fmovemx USER_FP0(%a6),%fp0-%fp3
251 | It is the responsibility of the exception-causing exception
264 tstb CU_ONLY(%a6) |test if inst is cu-only
278 cmpib #BUSY_SIZE-4,1(%a7) |check for busy frame
292 clrl -(%a7) |clear and dec a7
295 moveb #BUSY_SIZE-4,1(%a7) |write busy fmt word.
329 cmpib #UNIMP_40_SIZE-4,1(%a7)
334 cmpib #UNIMP_41_SIZE-4,1(%a7)
342 clrl -(%a7) |clear and dec a7
346 | busy frame was created as the result of an exception on the final
352 leal BUSY_SIZE+LOCAL_SIZE(%a7),%a1 |init a1 for new frame
354 moveb #BUSY_SIZE-4,1(%a7)
366 moveml USER_DA(%a6),%d0-%d1/%a0-%a1
367 fmovemx USER_FP0(%a6),%fp0-%fp3
394 | If the current frame is already a 6-word stack then all
396 | If the frame is only a 4-word stack (meaning we got here
397 | on an Unsupported data type exception), then we need to grow
401 bftst EXC_VEC-4(%sp){#0:#4}
409 fmovel %fpiar,BUSY_SIZE+EXC_EA-4(%sp)
414 movew #TRACE_VEC,EXC_VEC-4(%a7)
417 | This is a work-around for hardware bug 1384.
421 fsave -(%sp)
427 tstb 1(%sp) | check to see if idle
433 loop40: clrl -(%sp)
436 movel #0x40280000,-(%sp)
442 tstb 1(%sp) | check to see if idle
448 loop41: clrl -(%sp)
451 movel #0x41300000,-(%sp)
457 bclrb #etemp15_bit,-40(%a5)