8.2.1. GIC memory map

The GIC registers are memory-mapped, with a physical base address specified by PERIPHBASE[43:18]. This input must be tied to a constant value. The PERIPHBASE value is sampled during reset into the Configuration Base Address Register (CBAR) for each processor in the MPCore device. See Configuration Base Address Register, EL1 and Configuration Base Address Register.

The GIC registers are grouped into three contiguous 64KB pages. These blocks include the CPU interface, virtual interface control, and virtual CPU interface blocks.

Memory regions used for these registers must be marked as Device, nGnRnE, nGnRE, nGRE, or GRE in the translation tables. Memory regions marked as Normal memory cannot access any of the GIC registers, but can access caches or external memory as required.

Access to these registers must be with the single word load and store instructions. Load/store-multiple, load/store-double, and load/store exclusive instructions result in a Data Abort exception to the requesting processor.

The Accelerator Coherency Port (ACP) cannot access any of the GIC registers. The registers must be accessed through one of the processors. Any access from ACP to the GIC registers goes to external memory and no Data Abort exception is generated.

Table 8.1 shows the GIC memory map of a Cortex-A57 MPCore processor. An external standalone GIC such as the ARM GIC-400 or other proprietary GIC might differ. It lists the address offsets for the GIC blocks relative to the PERIPHBASE base address.

Table 8.1. Cortex-A57 MPCore multiprocessor GIC memory map

Offset range from PERIPHBASE[43:18]

GIC block

0x00000-0x01FFF

CPU interface

0x02000-0x0FFFF

Reserved

0x10000-0x10FFF

Virtual interface control

0x11000-0x1FFFF

Reserved

0x20000-0x21FFF

Virtual CPU interface (4KB page offset)

0x22000-0x2EFFF

Reserved

0x2F000-0x30FFF

Alias of the Virtual CPU interface (64KB page offset alias)

0x31FFF-0x3FFFF

Reserved


Copyright © 2013, 2014 ARM. All rights reserved.ARM DDI 0488D
Non-ConfidentialID012914