u-boot/arch/arm/cpu
Andre Przywara 1ef923851a ARM: add C function to switch to non-secure state
The core specific part of the work is done in the assembly routine
in nonsec_virt.S, introduced with the previous patch, but for the full
glory we need to setup the GIC distributor interface once for the
whole system, which is done in C here.
The routine is placed in arch/arm/cpu/armv7 to allow easy access from
other ARMv7 boards.

We check the availability of the security extensions first.

Since we need a safe way to access the GIC, we use the PERIPHBASE
registers on Cortex-A15 and A7 CPUs and do some sanity checks.
Boards not implementing the CBAR can override this value via a
configuration file variable.

Then we actually do the GIC enablement:
a) enable the GIC distributor, both for non-secure and secure state
   (GICD_CTLR[1:0] = 11b)
b) allow all interrupts to be handled from non-secure state
   (GICD_IGROUPRn = 0xFFFFFFFF)

The core specific GIC setup is then done in the assembly routine.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
2013-10-03 21:28:43 +02:00
..
arm720t ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
arm920t ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
arm925t ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
arm926ejs Merge branch 'u-boot-imx/master' into 'u-boot-arm/master' 2013-10-02 14:53:27 +02:00
arm946es ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
arm1136 ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
arm1176 ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
arm_intcm ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
armv7 ARM: add C function to switch to non-secure state 2013-10-03 21:28:43 +02:00
ixp ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
pxa ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
sa1100 ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +02:00
tegra20-common Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
tegra30-common Tegra114: Initialize System Counter (TSC) with osc frequency 2013-04-15 11:01:38 -07:00
tegra114-common Tegra114: Initialize System Counter (TSC) with osc frequency 2013-04-15 11:01:38 -07:00
tegra-common Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u-boot-spl.lds Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u-boot.lds arm: lds: Remove libgcc eabi exception handling tables 2013-09-05 13:41:42 +02:00