From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dirk Behme Date: Wed, 2 Apr 2014 15:11:36 +0200 Subject: [U-Boot] [PATCH 1/3] ARM: Add workaround for Cortex-A9 errata 794072 In-Reply-To: <1396443538-7626-2-git-send-email-nitin.garg@freescale.com> References: <1396443538-7626-1-git-send-email-nitin.garg@freescale.com> <1396443538-7626-2-git-send-email-nitin.garg@freescale.com> Message-ID: <533C0C88.9030401@de.bosch.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 02.04.2014 14:58, nitin.garg at freescale.com wrote: > From: Nitin Garg > > A short loop including a DMB instruction might cause a denial of > service on another processor which executes a CP15 broadcast operation. > Exists on r1, r2, r3, r4 revisions. > > Signed-off-by: Nitin Garg > --- > README | 1 + > arch/arm/cpu/armv7/start.S | 2 +- > 2 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/README b/README > index 7cb7c4f..a496c65 100644 > --- a/README > +++ b/README > @@ -566,6 +566,7 @@ The following options need to be configured: > CONFIG_ARM_ERRATA_742230 > CONFIG_ARM_ERRATA_743622 > CONFIG_ARM_ERRATA_751472 > + CONFIG_ARM_ERRATA_794072 > > If set, the workarounds for these ARM errata are applied early > during U-Boot startup. Note that these options force the > diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S > index ac1e55a..f3830c8 100644 > --- a/arch/arm/cpu/armv7/start.S > +++ b/arch/arm/cpu/armv7/start.S > @@ -205,7 +205,7 @@ ENTRY(cpu_init_cp15) > mcr p15, 0, r0, c1, c0, 0 @ write system control register > #endif > > -#ifdef CONFIG_ARM_ERRATA_742230 > +#if (defined(CONFIG_ARM_ERRATA_742230) || defined(CONFIG_ARM_ERRATA_794072)) > mrc p15, 0, r0, c15, c0, 1 @ read diagnostic register > orr r0, r0, #1 << 4 @ set bit #4 > mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register > Acked-by: Dirk Behme Best regards Dirk