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

Will Deacon will.deacon at arm.com
Mon Dec 3 12:46:17 EST 2012


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<armando.visconti at st.com>
> >> ---
> >>   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.

Will



More information about the linux-arm-kernel mailing list