[U-Boot] [PATCH] armv8: Flush dcache before switching to EL2

FengHua fenghua at phytium.com.cn
Wed Apr 2 12:05:47 CEST 2014




> -----Original Messages-----
> From: "York Sun" <yorksun at freescale.com>
> Sent Time: 2014-04-01 05:40:32 (Tuesday)
> To: albert.u.boot at aribaud.net
> Cc: u-boot at lists.denx.de, "York Sun" <yorksun at freescale.com>
> Subject: [U-Boot] [PATCH] armv8: Flush dcache before switching to EL2
> 
> For ARMv8, U-boot has been running at EL3 with cache and MMU enabled.
> Without proper setup for EL2, cache and MMU are both disabled (out of
> reset). Before switching, we need to flush the dcache to make sure the
> data is in the main memory.
> 
> Signed-off-by: York Sun <yorksun at freescale.com>
> ---
>  arch/arm/lib/bootm.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> index a8295bf..9782ddb 100644
> --- a/arch/arm/lib/bootm.c
> +++ b/arch/arm/lib/bootm.c
> @@ -199,6 +199,7 @@ static void do_nonsec_virt_switch(void)
>  
>  #ifdef CONFIG_ARM64
>  	smp_kick_all_cpus();
> +	flush_dcache_all();	/* flush cache before swtiching to EL2 */
>  	armv8_switch_to_el2();
>  #ifdef CONFIG_ARMV8_SWITCH_TO_EL1
>  	armv8_switch_to_el1();
> -- 
> 1.7.9.5

fine!

Acked-by: David.Feng <fenghua at phytium.com.cn>








More information about the U-Boot mailing list