On Thu, 2015-01-22 at 20:42 +0530, Bhupesh Sharma wrote: > +WEAK(apply_core_errata) > + > + mov x29, lr /* Save LR */ > + /* For now, we support Cortex-A57 specific errata only */ > + > + /* Check if we are running on a Cortex-A57 core */ > + branch_if_a57_core x0, apply_a57_core_errata > + b 0f
Instead of branching forward here, have the a57 code branch back at the end. > /* > + * Branch if current processor is a Cortex-A57 core. > + */ > +.macro branch_if_a57_core, xreg, a57_label > + mrs \xreg, midr_el1 > + lsr \xreg, \xreg, #4 > + and \xreg, \xreg, #0x00000FFF > + cmp \xreg, #0xD07 /* Cortex-A57 MPCore processor. */ > + b.eq \a57_label > +.endm > + > +/* > + * Branch if current processor is a Cortex-A53 core. > + */ > +.macro branch_if_a53_core, xreg, a53_label > + mrs \xreg, midr_el1 > + lsr \xreg, \xreg, #4 > + cmp \xreg, #0xD03 /* Cortex-A53 MPCore processor. */ > + b.eq \a53_label > +.endm Why do you AND with 0xfff for a57 but not a53? Where else do you expect to use these macros? -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot