We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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?