ARM9 OS: Difference between revisions

Hallowizer (talk | contribs)
Time: made a mistake in my labels which led to incorrect info about timers 2 and 3
Hallowizer (talk | contribs)
added an interrupt section
Line 114: Line 114:
}
}
</pre>
</pre>
== Interrupts ==
The interrupt handler called by the [[ARM9 BIOS]] calls a handler in a table mapping the raw IRQ IDs to handlers. Each handler is either a no-op (not listed in the table below) or a stub that calls <code>__OSDispatchInterrupt</code> with an OS interrupt ID. <code>__OSDispatchInterrupt</code> then calls the handler registered with <code>__OSSetInterruptHandler</code>.
{| class="wikitable sortable"
! Hardware ID
! Translated ID
! Name
|-
| 3
| 8
| Timer 0 overflow
|-
| 4
| 9
| Timer 1 overflow
|-
| 5
| 10
| Timer 2 overflow
|-
| 6
| 11
| Timer 3 overflow
|-
| 8
| 0
| DMA 0
|-
| 9
| 1
| DMA 1
|-
| 10
| 2
| DMA 2
|-
| 11
| 3
| DMA 3
|-
| 28
| 4
| New DMA 0
|-
| 29
| 5
| New DMA 1
|-
| 30
| 6
| New DMA 2
|-
| 31
| 7
| New DMA 3
|}