Hi,
I am configuring the GICD_IGRPMODR[0] with a 0X3FFFFFFF value. Sometimes value is read as 0 sometimes it is 0x3FFFFFFF.
The value of GICD_CTLR is 0x30.
1) Can you please tell me why this register behaves differently?
2) In GIC Spec
https://developer.arm.com/documentation/ihi0069/latest/ Page 567 title: Accessing the GICD_IGRPMODR
There are 2 statements that sound contradictory
A) When GICD_CTLR.ARE_S==0 or GICD_CTLR.DS==1, the GICD_IGRPMODR<n> registers are RES0.
B) When affinity routing is enabled for the Secure state, GICD_IGRPMODR0 is RES0 and equivalent functionality is proved by GICR_IGRPMODR0.
When GICD_IGRPMODR[0] register marked as RES0? When ARE_S=0 or ARE_S=1. In our case DS =0 always
3) What is the value of RES0? Is there any difference between RES and RES0?