nuttx
nuttx copied to clipboard
armv7-a/gicv2: move IRQ to group1 and group0 as the FIQ
Summary
armv7-a/gicv2: move IRQ to group1 and group0 as the FIQ
Purpose: make the the os crash when busyloop with interrupt disable
Follow the arm gicv2 spec, if we want to use the IRQ and FIQ simultaneously when not using the processor Security Externsions. We should:
- IRQ to Group 1 and FIQ to Group 0;
- Set CICC_CTLR.FIQEn to 1;
Then in NuttX:
- implement the arm_decodefiq and directly crash in it;
- provide interface to change the IRQ to FIQ, e.g. change the watchdog IRQ to FIQ, so the watchdog can trigger even with the interrupt disabled (up_irq_save() called);
Impact
armv7 a/r armv8a
Testing
bes board