nuttx icon indicating copy to clipboard operation
nuttx copied to clipboard

armv7-a/gicv2: move IRQ to group1 and group0 as the FIQ

Open GUIDINGLI opened this issue 1 year ago • 0 comments

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:

  1. IRQ to Group 1 and FIQ to Group 0;
  2. Set CICC_CTLR.FIQEn to 1;

Then in NuttX:

  1. implement the arm_decodefiq and directly crash in it;
  2. 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

GUIDINGLI avatar Mar 06 '24 15:03 GUIDINGLI