-
Notifications
You must be signed in to change notification settings - Fork 11
Interrupts and Exceptions
Cupertino Miranda edited this page Nov 18, 2020
·
1 revision
All the exceptions are handled by CPU in a similar way, and it is fully supported.
| Exception Idx | Exception | Observations |
|---|---|---|
| 0 | RESET | Not supported. |
| 1 | MEMORY_ERROR | See MMU/MPU |
| 2 | INST_ERROR | Generated by decoder, MMU, MPU, SR, LR. |
| 3 | MACHINE_CHECK | Fully supported |
| 4 | TLB_MISS_I | See MMU/MPU |
| 5 | TLB_MISS_D | See MMU/MPU |
| 6 | PROTV | See MMU/MPU |
| 7 | PRIVILEGEV | See MMU/MPU |
| 8 | SWI | Fully supported |
| 9 | TRAP | Fully supported |
| 10 | EXTENSION | Not supported |
| 11 | DIVZERO | Not supported |
| 12 | DCERROR | Not supported |
| 13 | MALIGNED | See MMU/MPU |
| AUX register | Observations |
|---|---|
| IRQ_PRIORITY | Fully supported |
| AUX_IRQ_ACT | Fully supported |
| AUX_IRQ_HINT | Fully supported |
| IRQ_PENDING | Fully supported |
| AUX_IRQ_CTRL.NR | No support for RF16 configuration. |
| AUX_IRQ_CTRL.B | Fully supported |
| AUX_IRQ_CTRL.L | Fully supported |
| AUX_IRQ_CTRL.U | Fully supported |
| AUX_IRQ_CTRL.LP | Dummy support |
| AUX_USER_SP | Fully supported |
| ICAUSE | Fully supported |
| IRQ_SELECT | Fully supported |
| IRQ_ENABLE | Fully supported |
| IRQ_TRIGGER | Dummy register. |
| IRQ_PULSE_CANCEL | Implemented, not tested |
| IRQ_STATUS | Fully supported |
| INT_VECTOR_BASE | Fully supported |
| AUX register | Observations | QEMU properties |
|---|---|---|
| IRQ_BUILD.VERSION | Always set to 1 | |
| IRQ_BUILD.IRQS | Fully supported | --global cpu.num-irq=XXX |
| IRQ_BUILD.EXTS | Fully supported | --global cpu.ext-irq=XXX |
| IRQ_BUILD.P | Fully supported | --global cpu.num-irqlevels=XXX |
| IRQ_BUILD.F | Fully supported | --global cpu.firq=true/false |
| IRQ_BUILD.N | Not supported | |
| VECBASE_AC_BUILD | Fully supported | --global cpu.intv-base=XXXX |