-
Notifications
You must be signed in to change notification settings - Fork 9
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 |