Improvements to ARM GIC driver
authorJuan Castillo <juan.castillo@arm.com>
Mon, 20 Oct 2014 11:27:28 +0000 (12:27 +0100)
committerJuan Castillo <juan.castillo@arm.com>
Fri, 31 Oct 2014 18:40:23 +0000 (18:40 +0000)
commiteb57fa568578d230273b1335ae9de069a014344a
tree197393e908c37733df641acf5973c70e1eca8a0c
parentd07baec4b5bf141acc2c36aaf68ea977a7a916fb
Improvements to ARM GIC driver

This patch introduces several improvements to the ARM GIC driver:

* In function gicd_set_itargetsr(), target CPU is specified using
  the same bit mask detailed in the GICD_ITARGETSRn register instead
  of the CPU linear ID, removing the dependency between bit position
  and linear ID in the platform porting. The current CPU bit mask
  may be obtained by reading GICD_ITARGETSR0.

* PPIs and SGIs are initialized in arm_gic_pcpu_distif_setup().
  SPIs are initialized in arm_gic_distif_setup().

* By default, non secure interrupts are assigned the maximum
  priority allowed to a non secure interrupt (defined by
  GIC_HIGHEST_NS_PRIORITY).

* GICR base address is allowed to be NULL for GICv1 and GICv2.

Change-Id: Ie2837fe860d43b2282e582dfdb13c39c6186f232
drivers/arm/gic/arm_gic.c
drivers/arm/gic/gic_v2.c
include/drivers/arm/gic_v2.h