- 93767FBF28AC3CA8A8D7CEA92C2295D7F4A041C9B67B003EDC7CA1A32AE624B423F8F33E5D099403A9E68E794F0F5D90F4F3F2A12E8D3CEE4FCAFB12E7502684
+ 35A5F7D843A515A6301C0D09957D3529F10F0443A50BD54177BCAAECC96054C502D2E14CCF1D5F106247DD2F566839AB49883E97B86CFF1D5AD889652E8F5EAF
m/mips_cpu.asm
(40 . 12)(40 . 8)
118 SetIRQ TIMER_IRQ ; Timer reached limit, invoke timer IRQ
119
120 _cycle_no_mips_timer:
121
122 ;; Test if Interrupts are Disabled:
123 bt CP0_Status, CP0St_IE ; CF := CP0St_IE
124 jnc _cycle_no_irq ; If 0, IRQs are disabled, go to no_irq
125 test CP0_Status, (1 << CP0St_ERL) | (1 << CP0St_EXL) ; If ERL/EXL:
126 jnz _cycle_no_irq ; ... then also interrupts are disabled
127
128 JMP_IF_IRQS_OFF _cycle_no_irq ; Skip IRQ processing if IRQs disabled
129
130 GetSlaveIRQ ; See if slave threw interrupt
131
(64 . 7)(60 . 7)
133 ;; Copy InDelaySlot Flag to RunningDelaySlot Flag:
134 Flg_Cpy RunningDelaySlot, InDelaySlot
135
136 jmp _Handle_Exception ; Handle exception and end cycle.
137 jmp _Handle_Exception_IRQ ; Handle IRQ exception and end cycle.
138
139 _cycle_no_irq: ; If ints disabled or none pending
140