You are on page 1of 158

tt0.

reg:

The integer registers

tt1.reg:

The integer registers

tt0.usp: tt0.vbr:

The user stack pointer The vector table

tt1.usp: tt1.vbr:

The user stack pointer The vector table

tt0.ptab: The page map table tt0.fpr: The floating-point registers

tt1.ptab: The page map table tt1.fpr: The floating-point registers

sw_out: movem.l <d0-a7>,(tt0.reg) move.l %usp,a0 move.l a0,tt0.usp jmp

sw_out: movem.l <d0-a7>,(tt1.reg) move.l %usp,a0 move.l a0,tt1.usp jmp

sw_in_mmu: pmove.q sw_in: move.l move.l move.l move.l movem.l rte

tt0.ptab,%crp tt0.vbr,a0 a0,%vbr tt0.usp,a0 a0,%usp (tt0.reg),<d0-a7>

sw_in_mmu: pmove.q sw_in: move.l move.l move.l move.l movem.l rte

tt1.ptab,%crp tt1.vbr,a0 a0,%vbr tt1.usp,a0 a0,%usp (tt1.reg),<d0-a7>

(0,0) Running

Schedule

(0,0) Ready Resume

Suspend Resume (1,0) Running, Scheduler Invoked

Suspend (1,0) Suspended In run-queue

Resume (1,1) Suspended Not in run-queue

Schedule

Schedule

You might also like