[U-Boot] [PATCH v2 1/2] Errata/ARM57: Add basic constructs to handle and apply A57 specific erratas

bhupesh.sharma at freescale.com bhupesh.sharma at freescale.com
Thu Jan 15 07:10:57 CET 2015


Hi York,

> -----Original Message-----
> From: Sun York-R58495
> Sent: Wednesday, January 14, 2015 9:44 PM
> On 01/14/2015 05:46 AM, Bhupesh Sharma wrote:
> > This patch adds basic constructs in the ARMv8 u-boot code to handle
> > and apply Cortex-A57 specific erratas.
> >
> > As and example, the framework showcases how erratas 833069, 826974 and
> > 828024 can be handled and applied.
> >
> > Later on this framework can be extended to include other erratas.
> >
> > Signed-off-by: Bhupesh Sharma <bhupesh.sharma at freescale.com>
> > ---
> > Changes from v1:
> > 	- Addressed York's comment about x29 usage and calling the
> > 	  core errata fxup function before the lowlevel_init function
> > 	  is called.
> >
> >  arch/arm/cpu/armv8/start.S   |   51
> ++++++++++++++++++++++++++++++++++++++++++
> >  arch/arm/include/asm/macro.h |   20 +++++++++++++++++
> >  2 files changed, 71 insertions(+)
> >
> > diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
> > index 4b11aa4..df532f9 100644
> > --- a/arch/arm/cpu/armv8/start.S
> > +++ b/arch/arm/cpu/armv8/start.S
> > @@ -67,6 +67,9 @@ reset:
> >  	msr	cpacr_el1, x0			/* Enable FP/SIMD */
> >  0:
> >
> > +	/* Apply ARM core specific erratas */
> > +	bl	apply_core_errata
> > +
> >  	/*
> >  	 * Cache/BPB/TLB Invalidate
> >  	 * i-cache is invalidated before enabled in icache_enable() @@ -
> 97,6
> > +100,54 @@ master_cpu:
> >
> >
> > /*--------------------------------------------------------------------
> > ---*/
> >
> > +WEAK(apply_core_errata)
> > +
> > +	/* For now, we support Cortex-A57 specific errata only */
> > +
> > +	/* Check if we are running on a Cortex-A57 core */
> > +	branch_if_a57_core x0, 1f
> > +	b	2f
> > +1:
> > +	bl	apply_a57_core_errata
> > +
> > +2:
> > +	ret
> > +ENDPROC(apply_core_errata)
> > +
> 
> Bhupesh,
> 
> Have you tested the new code? I don't think it handles LR correctly. Your
> code will be stuck.
> 

Yes, I have tested this on both the LS2085A simulator and emulator platforms.
On emulator I tried u-boot boot-to-prompt and on simulator I tried linux boot-to-prompt.
Both seem to be working fine.

Regards,
Bhupesh


More information about the U-Boot mailing list