[U-Boot] U-boot changes to bringup boot and secondary CPUs in HYP mode
Lukasz Majewski
lukma at denx.de
Fri Oct 27 11:04:16 UTC 2017
Hi Jayadev,
> Hello all,
>
> I am currently trying to bring up Xen on OMAP5432. When I try to boot
> the board it shows
>
>
>
>
>
>
>
>
> *Starting kernel ...- UART enabled -- CPU 00000000 booting -- Xen
> must be entered in NS Hyp mode -- Please update the bootloader --
> Boot failed -* After applying the below patch , the boot CPU started
> loading.
>
> diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> index 86c0e42..696da4b 100644
> --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
> @@ -19,7 +19,20 @@
> ENTRY(save_boot_params)
> ldr r1, =OMAP_SRAM_SCRATCH_BOOT_PARAMS
> str r0, [r1]
> +/*
> + * Turn on hypervisor mode on CPU#0
> + */
> +#ifdef CONFIG_DRA7XX_HYPERVISOR_ON
> + mov r0, lr @ This is a great place to switch into hyp
> mode
> + @ only the r0 was needed from _start and is now
> + @ free; all other general purpose registers were
> + @ already free.
> + ldr r12, =0x102 @ Set PL310 control register - value in R0
> + .word 0xe1600070 @ SMC #0 - hand assembled because
> -march=armv5
> + @ call ROM Code API to set control register
> +#else
> bx lr
> +#endif /* CONFIG_DRA7XX_HYPERVISOR_ON */
> ENDPROC(save_boot_params)
> ENTRY(set_pl310_ctrl_reg)
>
> However now the secondary CPUs fail to load;
>
>
>
>
>
>
>
> *(XEN) Bringing up CPU1- CPU 00000001 booting -- Xen must be entered
> in NS Hyp mode -- Please update the bootloader -- Boot failed -*
> Can someone provide the proper U-boot changes required to load the
> CPUs in HYP mode
Maybe between your patch (at the very beginning of boot up) and the time
XEN wants to re-enable second CPU there is a switch from HYP to SVC mode?
Please keep in mind that u-boot works with single core - and this
single core execution mode is passed to XEN.
>
> Thanks and Regards
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
More information about the U-Boot
mailing list