Subject: [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6

From: [email-masked] (Uwe Kleine-König)
Date: Wed, 5 Dec 2012 20:51:34 +0100

Hello,

On Mon, Dec 03, 2012 at 05:46:17PM +0000, Will Deacon wrote:
> On Mon, Dec 03, 2012 at 05:25:53PM +0000, Russell King - ARM Linux wrote:
> > On Mon, Dec 03, 2012 at 05:44:11PM +0100, Armando Visconti wrote:
> > > On 11/29/2012 12:04 PM, Armando VISCONTI wrote:
> > >> This patch keeps disabled the strict alignment CP15 bit for
> > >> all armv6 and armv7 processor without the mmu. This behaviour
> > >> is now same as in the mmu case.
> > >>
> > >> Signed-off-by: Armando Visconti<[email-masked]>
> > >> ---
> > >>   arch/arm/kernel/head-nommu.S |    2 +-
> > >>   1 files changed, 1 insertions(+), 1 deletions(-)
> > >>
> > >> diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
> > >> index 278cfc1..2c228a0 100644
> > >> --- a/arch/arm/kernel/head-nommu.S
> > >> +++ b/arch/arm/kernel/head-nommu.S
> > >> @@ -68,7 +68,7 @@ __after_proc_init:
> > >>   	 * CP15 system control register value returned in r0 from
> > >>   	 * the CPU init function.
> > >>   	 */
> > >> -#ifdef CONFIG_ALIGNMENT_TRAP
> > >> +#if defined(CONFIG_ALIGNMENT_TRAP)&&  __LINUX_ARM_ARCH__<  6
> > >>   	orr	r0, r0, #CR_A
> > >>   #else
> > >>   	bic	r0, r0, #CR_A
> > >
> > > Any feedback on this simple patch?
> > 
> > Well, it brings the nommu version into line with the mmu version, so
> > it's sensible.  Please put it in the patch system, thanks.
> 
> In which case, I'll definitely dust-off the patches to prevent unaligned
> accesses to strongly-ordered memory because that results in good ol'
> UNPREDICTABLE behaviour.
> 
> I think Uwe also requires some of the stuff there for his M3 port.
I didn't check more context than available in the patch and I also
didn't double-check the M3-docs, but AFAIK the M3 doesn't have a cp15
and I noopt this code out.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |