[PATCH 1/2] ARM: implement recommended WAR for errata 709718

Sascha Hauer s.hauer at pengutronix.de
Thu Nov 6 22:55:06 PST 2014


On Thu, Nov 06, 2014 at 12:23:12PM +0100, Lucas Stach wrote:
> ARM Cortex A8 errata 709718:
> "Load and store operations to shared device memory
> regions may not complete in program order"
> 
> We implement the recommended workaround in the bootloader
> as it must be applied before enabling the MMU for the
> first time.
> 
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>

Applied both, thanks

Sascha

> ---
>  arch/arm/include/asm/errata.h | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm/include/asm/errata.h b/arch/arm/include/asm/errata.h
> index e2ffd87360c0..9525823e4ca8 100644
> --- a/arch/arm/include/asm/errata.h
> +++ b/arch/arm/include/asm/errata.h
> @@ -12,6 +12,18 @@
>   * GNU General Public License for more details.
>   */
>  
> +static inline void enable_arm_errata_709718_war(void)
> +{
> +	__asm__ __volatile__ (
> +		"mrc	p15, 0, r0, c10, c2, 0\n"
> +		"bic	r0, #3 << 16\n"
> +		"mcr	p15, 0, r0, c10, c2, 0\n"
> +		"mrc	p15, 0, r0, c1, c0, 0\n"
> +		"orr	r0, r0, #1 << 28\n"
> +		"mcr	p15, 0, r0, c1, c0, 0\n"
> +	);
> +}
> +
>  static inline void enable_arm_errata_716044_war(void)
>  {
>  	__asm__ __volatile__ (
> -- 
> 2.1.1
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list