Add GIC interrupt controller support for BCM2838.
@bavison @rsprowson - Might be worth reviewing this before merging
- Requires RiscOS/Sources/HWSupport/BCMSupport!3 (merged)
- Requires
enable_gic=1
in config.txt (or Pi4 .dtb to be present on the card), otherwise the firmware uses a boot stub that doesn't configure the GIC (presumably leaving it in bypass mode) - IRQs are managed via the GIC, FIQs via the BCM2838 FIQ controller (boot stub doesn't let us manage FIQs using the GIC)
- Implemented in s.IntVC6 to avoid making s.Interrupts too confusing.
- Previous VC6 interrupt support removed from s.Interrupts
- From the OS's perspective, interrupt numbers mostly remain unchanged. However iDev_QA7 interrupts are unavailable, and some of the BCM2838 interrupt numbers have been overlaid ontop of them.
- Device drivers must take care to issue HAL_IRQClear, as that is a new requirement for this HAL