]> git.proxmox.com Git - mirror_edk2.git/commit - ArmPkg/Drivers/ArmGic/ArmGicLib.c
ArmPkg: Add support for GICv4
authorSami Mujawar <sami.mujawar@arm.com>
Tue, 9 Oct 2018 15:35:22 +0000 (16:35 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 12 Oct 2018 15:40:33 +0000 (17:40 +0200)
commit301402fa4797ac3a141e575329ca2ea91756414c
tree0d5f58643cc72275887d3bb322813609906a9334
parentbbce001515bbfcad24c216b1c9c25057e8c461e9
ArmPkg: Add support for GICv4

Updated Redistributor base calculation to allow for the fact that
GICv4 has 2 additional 64KB frames (for VLPI and a reserved frame).
The code now tests the VLPIS bit in the GIC Redistributor Type
Register (GICR_TYPER) and calculates the Redistributor granularity
accordingly.

The code changes are:
  GICR_TYPER register fields, etc, added to the header.
  Loop updated to pay attention to GICR_TYPER.Last.
  Derive frame "stride" size from GICR_TYPER.VLPIS.

Note: The assumption is that the redistributors are adjacent for
all CPUs. However this may not be the case for NUMA systems.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
ArmPkg/Drivers/ArmGic/ArmGicLib.c
ArmPkg/Drivers/ArmGic/ArmGicLib.inf
ArmPkg/Include/Library/ArmGicLib.h