ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode
authorLennart Sorensen <lsorense@csclub.uwaterloo.ca>
Mon, 5 Jan 2015 23:45:45 +0000 (15:45 -0800)
committerTony Lindgren <tony@atomide.com>
Mon, 5 Jan 2015 23:48:21 +0000 (15:48 -0800)
commit999f934de195a1506089b52c77429fdba25da688
treece34518e411d34dddb638c3d218cd49b8d3d2356
parentafc9d590b8a150cfeaac0078ef5de6fb21a5ea6a
ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode

If the boot loader enables HYP mode on the boot CPU, the secondary CPU
also needs to call into the ROM to switch to HYP mode before booting.
The firmwares on the omap5 and dra7xx unfortunately do not take care
of this, so it has to be handled by the kernel.

This patch is based on "[PATCH 2/2] ARM: OMAP5: Add HYP mode entry support
for secondary CPUs" by Santosh Shilimkar <santosh.shilimkar@ti.com>,
except this version does not require a compile time CONFIG to control
if it should enable HYP mode or not, it simply does it based on the mode
of the boot CPU, so it works whether the CPU boots in SVC or HYP mode,
and should even work as a guest kernel inside kvm if qemu decides to
support emulating the omap5 or dra7xx.

Cc: stable@vger.kernel.org #v3.16+
Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/omap-headsmp.S
arch/arm/mach-omap2/omap-smp.c