Prepare platforms to use refactored ARM GIC drivers
This patch adds platform helpers for the new GICv2 and GICv3 drivers in
plat_gicv2.c and plat_gicv3.c. The platforms can include the appropriate
file in their build according to the GIC driver to be used. The existing
plat_gic.c is only meant for the legacy GIC driver.

In the case of ARM platforms, the major changes are as follows:

1. The crash reporting helper macro `arm_print_gic_regs` that prints the GIC CPU
   interface register values has been modified to detect the type of CPU
   interface being used (System register or memory mappped interface) before
   using the right interface to print the registers.

2. The power management helper function that is called after a core is powered
   up has been further refactored. This is to highlight that the per-cpu
   distributor interface should be initialised only when the core was originally
   powered down using the CPU_OFF PSCI API and not when the CPU_SUSPEND PSCI API
   was used.

3. In the case of CSS platforms, the system power domain restore helper
   `arm_system_pwr_domain_resume()` is now only invoked in the `suspend_finish`
   handler as the system power domain is always expected to be initialized when
   the `on_finish` handler is invoked.

Change-Id: I7fc27d61fc6c2a60cea2436b676c5737d0257df6
1 parent 0244613 commit f14d188681b2c6f49ccd22595b112da7b02798f8
@Soby Mathew Soby Mathew authored on 26 Oct 2015
Showing 7 changed files
View
include/plat/arm/common/aarch64/arm_macros.S
View
plat/arm/board/fvp/aarch64/fvp_helpers.S
View
plat/arm/board/fvp/fvp_pm.c
View
plat/arm/board/fvp/include/plat_macros.S
View
plat/arm/css/common/css_pm.c
View
plat/common/plat_gicv2.c 0 → 100644
View
plat/common/plat_gicv3.c 0 → 100644