[U-Boot] [PATCH v2] ARM: bootm: Allow booting in secure mode on hyp capable systems

Ian Campbell ijc at hellion.org.uk
Wed Oct 22 20:55:03 CEST 2014


On Wed, 2014-10-22 at 15:45 +0200, Hans de Goede wrote:
> 	if (!fake) {
>  #if defined(CONFIG_ARMV7_NONSEC) || defined(CONFIG_ARMV7_VIRT)
> -		armv7_init_nonsec();
> -		secure_ram_addr(_do_nonsec_entry)(kernel_entry,
> -						  0, machid, r2);
> -#else
> -		kernel_entry(0, machid, r2);
> +		if (boot_nonsec()) {
> +			armv7_init_nonsec();
> +			secure_ram_addr(_do_nonsec_entry)(kernel_entry,
> +							  0, machid, r2);
> +		}
>  #endif
> +		kernel_entry(0, machid, r2);

There's a subtle different here, which is that this final kernel_entry
call used to be in the #else clause, and so emitted for the NONSEC ||
VIRT case. So if the _do_nonsec_entry call were to fail (not currently
possible) and return you'd end up trying again via the sec path.

I'm not sure that's a bad thing, but it is a difference so it'd be good
to know it was a deliberate choice (or not).

Ian.



More information about the U-Boot mailing list