Is there a way to forward the interrupts from Descriptor to multiple Cores using GICD_IROUTER ?
Seems the Affinity Routing field in my case is hard-tied to 1.
P.S. The SoC I'm working on, do have 8 ARM cores
Yes, set GICD_IROUTER<n>.IRM==1. This means "Interrupts routed to any PE defined as a participating node". Where "participating node" means that the core is awake and has the Group the interrupt belongs to enabled.
Note: There is a difference between GICv2 (GIC-400) and GICv3 (GIC-500). With GIC-400 if you selected multiple targets, the interrupt would be sent to multiple targets with the first to respond getting it. With GIC-500/GICv3, the GIC picks one target and sends it there. So a given instance of an interrupt only goes to one place. Although for the next instance the GIC could pick one of the other possible targets.