* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 @ 2012-11-29 11:04 Armando Visconti 2012-12-03 16:44 ` Armando Visconti 0 siblings, 1 reply; 9+ messages in thread From: Armando Visconti @ 2012-11-29 11:04 UTC (permalink / raw) To: linux-arm-kernel 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@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 -- 1.7.4.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-11-29 11:04 [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 Armando Visconti @ 2012-12-03 16:44 ` Armando Visconti 2012-12-03 16:51 ` Nicolas Pitre ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Armando Visconti @ 2012-12-03 16:44 UTC (permalink / raw) To: linux-arm-kernel 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@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? Thx, Armando ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-03 16:44 ` Armando Visconti @ 2012-12-03 16:51 ` Nicolas Pitre 2012-12-03 16:54 ` Will Deacon 2012-12-03 17:25 ` Russell King - ARM Linux 2 siblings, 0 replies; 9+ messages in thread From: Nicolas Pitre @ 2012-12-03 16:51 UTC (permalink / raw) To: linux-arm-kernel On Mon, 3 Dec 2012, 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@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? Acked-by: Nicolas Pitre <nico@linaro.org> Nicolas ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-03 16:44 ` Armando Visconti 2012-12-03 16:51 ` Nicolas Pitre @ 2012-12-03 16:54 ` Will Deacon 2012-12-03 17:25 ` Russell King - ARM Linux 2 siblings, 0 replies; 9+ messages in thread From: Will Deacon @ 2012-12-03 16:54 UTC (permalink / raw) To: linux-arm-kernel On Mon, Dec 03, 2012 at 04:44:11PM +0000, 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@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? Although this is correct, you still need some extra patches to avoid unaligned accesses to strongly-ordered memory (given that we don't currently have mainline support for the MPU). Take a look at my nommu/fixes branch: https://git.kernel.org/?p=linux/kernel/git/will/linux.git;a=shortlog;h=refs/heads/nommu/fixes I'm happy to post some of that if it's useful to you. Will ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-03 16:44 ` Armando Visconti 2012-12-03 16:51 ` Nicolas Pitre 2012-12-03 16:54 ` Will Deacon @ 2012-12-03 17:25 ` Russell King - ARM Linux 2012-12-03 17:46 ` Will Deacon 2 siblings, 1 reply; 9+ messages in thread From: Russell King - ARM Linux @ 2012-12-03 17:25 UTC (permalink / raw) To: linux-arm-kernel 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@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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-03 17:25 ` Russell King - ARM Linux @ 2012-12-03 17:46 ` Will Deacon 2012-12-04 9:36 ` Armando Visconti 2012-12-05 19:51 ` Uwe Kleine-König 0 siblings, 2 replies; 9+ messages in thread From: Will Deacon @ 2012-12-03 17:46 UTC (permalink / raw) To: linux-arm-kernel 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@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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-03 17:46 ` Will Deacon @ 2012-12-04 9:36 ` Armando Visconti 2012-12-05 19:51 ` Uwe Kleine-König 1 sibling, 0 replies; 9+ messages in thread From: Armando Visconti @ 2012-12-04 9:36 UTC (permalink / raw) To: linux-arm-kernel On 12/03/2012 06:46 PM, 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<armando.visconti@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. > Done! > 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. > Yes, we definetely need them. Thx, Arm ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-03 17:46 ` Will Deacon 2012-12-04 9:36 ` Armando Visconti @ 2012-12-05 19:51 ` Uwe Kleine-König 2012-12-06 10:47 ` Will Deacon 1 sibling, 1 reply; 9+ messages in thread From: Uwe Kleine-König @ 2012-12-05 19:51 UTC (permalink / raw) To: linux-arm-kernel 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<armando.visconti@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. 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/ | ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 2012-12-05 19:51 ` Uwe Kleine-König @ 2012-12-06 10:47 ` Will Deacon 0 siblings, 0 replies; 9+ messages in thread From: Will Deacon @ 2012-12-06 10:47 UTC (permalink / raw) To: linux-arm-kernel On Wed, Dec 05, 2012 at 07:51:34PM +0000, Uwe Kleine-K?nig wrote: > Hello, Hi Uwe, > On Mon, Dec 03, 2012 at 05:46:17PM +0000, Will Deacon wrote: > > 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. I was thinking more about the word-at-a-time stuff, which relies on efficient unaligned access for the dcache accesses. Will ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-12-06 10:47 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-11-29 11:04 [PATCH] nommu: Enable the strict alignment (CR_A) bit only if ARCH < v6 Armando Visconti 2012-12-03 16:44 ` Armando Visconti 2012-12-03 16:51 ` Nicolas Pitre 2012-12-03 16:54 ` Will Deacon 2012-12-03 17:25 ` Russell King - ARM Linux 2012-12-03 17:46 ` Will Deacon 2012-12-04 9:36 ` Armando Visconti 2012-12-05 19:51 ` Uwe Kleine-König 2012-12-06 10:47 ` Will Deacon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).