SPARC traps



SPARC traps



trap entry

  1. clear ET (Enable Trap) bit (if already clear, reset machine). This disables all interrupts.
  2. copy S bit to PS bit, and set S to 1 (supervisory)
  3. decrement CWP (trap handler can use local registers)
  4. store pc into %l0, npc into %l1, psr into %l2.
  5. set trap type into tt field (bits 4-11) of TBR (trap base register)
  6. load:
  7. start executing instructions again



trap types



trap exit: re-execute instruction

	jmpl	%l0, %g0
	rett	%l1



trap exit: execute next instruction

	jmpl	%l1, %g0
	rett	%l1 + 4



interrupt priorities


Notes:


show trap table on page 297, fig. 12.1



register window traps



register window overflow example



window overflow trap: hardware response



window overflow trap: OS response