This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

GIC-400 address layout in deviation from standard?

Dear all,

It seems there are some GIC-400 implementations on ARMv8 platforms where the register address layout is somewhat deviating from the GIC-400 TRM.

I found some code in the Linux kernel driver (irqchip/irq-gic.c) that moves the base address of the GIC CPU interface up by 60kB so that the GICC_DIR

register can still be found at offset 0x1000. Otherwise, the register would be at offset 0x1_0000 which is not mentioned anywhere in the documentation.

Can someone tell me based on which clause in the architecture reference manual this can be done? Is there any method to detect this address layout other

than by reading the GICC_IIDR from the original and the aliased location and comparing them, as it's been done here:

Linux/drivers/irqchip/irq-gic.c - Linux Cross Reference - Free Electrons

Best regards,

Matthias

Parents Reply Children