u-boot-brain/arch/arm/cpu
Andre Przywara d429688754 ARM: extend non-secure switch to also go into HYP mode
For the KVM and XEN hypervisors to be usable, we need to enter the
kernel in HYP mode. Now that we already are in non-secure state,
HYP mode switching is within short reach.

While doing the non-secure switch, we have to enable the HVC
instruction and setup the HYP mode HVBAR (while still secure).

The actual switch is done by dropping back from a HYP mode handler
without actually leaving HYP mode, so we introduce a new handler
routine in our new secure exception vector table.

In the assembly switching routine we save and restore the banked LR
and SP registers around the hypercall to do the actual HYP mode
switch.

The C routine first checks whether we are in HYP mode already and
also whether the virtualization extensions are available. It also
checks whether the HYP mode switch was finally successful.
The bootm command part only calls the new function after the
non-secure switch.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
2013-10-03 21:28:55 +02:00
..
arm_intcm ARM: refactor compiler options in config.mk 2013-09-23 17:03:05 +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
armv7 ARM: extend non-secure switch to also go into HYP mode 2013-10-03 21:28:55 +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
tegra-common Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04: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
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