[PATCH 2/2] ARM: OMAP5: Add HYP mode entry support for secondary CPUs
Christoffer Dall
christoffer.dall at linaro.org
Mon Nov 25 10:09:17 EST 2013
On 23 November 2013 16:07, Santosh Shilimkar <santosh.shilimkar at ti.com> wrote:
> Boot-CPU entry into the HYP mode is managed in boot-loader but
> the secondary CPUs directly jumps to kernel during boot. Same
> path is also used for CPU hotplug as well during suspend for
> secondary CPU.
>
> Hence patch the secondary CPU boot path for hyp mode etry.
>
> Cc: Marc Zyngier <marc.zyngier at arm.com>
> Cc: Christoffer Dall <christoffer.dall at linaro.org>
> Cc: Tony Lindgren <tony at atomide.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> ---
> arch/arm/mach-omap2/omap-headsmp.S | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/omap-headsmp.S b/arch/arm/mach-omap2/omap-headsmp.S
> index 75e9295..4844dd8 100644
> --- a/arch/arm/mach-omap2/omap-headsmp.S
> +++ b/arch/arm/mach-omap2/omap-headsmp.S
> @@ -22,6 +22,7 @@
>
> /* Physical address needed since MMU not enabled yet on secondary core */
> #define AUX_CORE_BOOT0_PA 0x48281800
> +#define API_HYP_ENTRY 0x102
>
> /*
> * OMAP5 specific entry point for secondary CPU to jump from ROM
> @@ -38,6 +39,12 @@ wait: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0
> and r4, r4, #0x0f
> cmp r0, r4
> bne wait
> +#ifdef CONFIG_KVM_ARM_HOST
> + ldr r12, =API_HYP_ENTRY
> + adr r0, hyp_boot
> + smc #0
> +hyp_boot:
> +#endif
> b secondary_startup
> END(omap5_secondary_startup)
> /*
hmm, this means that currently running this in a guest will fail to
bring-up SMP, right?
Couldn't you create a little wrapper-pen in U-Boot instead, which
replicates the omap boot protocol and takes care of the hyp-mode
startup there instead, keeping this completely out of the kernel?
-Christoffer
More information about the linux-arm-kernel
mailing list