You copied the Doc URL to your clipboard.

How do I save the ITS collection table when powering down the GIC-500?

Article ID: 202637519

Published date: 06 Jun 2018

Last updated: -

Applies to: GIC-500 Generic Interrupt Controller


How do I save the Interrupt Translation Service (ITS) collection table when powering down the GIC-500?


When powering down the CoreLink GIC-500 Generic Interrupt Controller, with the exception of the Locality-specific Peripheral Interrupt (LPI) pending bits, software must preserve the state of the GIC-500. The state must be copied after the GIC-500 core power-down sequence is completed to ensure that the preserved pending information is up-to-date.

The process to power down the GIC-500 involves the following steps:

  1. Completing the processor power-down sequence for all cores.

  2. Setting the GICR_WAKER.Sleep bit to 1.

  3. Polling the GICR_WAKER register until the GICR_WAKER.Quiescent bit is set.

Consider the scenario where the system supports ITS. However, software cannot save the collection table of the GIC-500.



In GICv3, the ITS considers all physical LPIs that it generates to be members of collections. The data that is associated with a collection can be held in the ITS, in external memory, or in both. The following figure shows how these tables are used in the translation process:


The GIC-500 uses only hardware collections, so they are not backed up in memory. Collection mappings are discarded when the ITS is quiesced by using the GITS_CTLR register.


Software cannot save the ITS collection table of the GIC-500. Software must map the collection table when powering up the GIC-500. Re-issuing the MAPC command has no effect on other mapping or LPI pending states. The LPI is dropped between re-enabling the ITS and rerunning the MAPC command.





Related Information