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 | |||
|} | |||