* [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: armando.visconti, linux
Cc: hsweeten, swarren, nico, kgene.kim, linux-arm-kernel,
linux-kernel, spear-devel
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
* Re: [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
Cc: hsweeten, swarren, nico, kgene.kim, linux-arm-kernel,
linux-kernel, spear-devel
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
* Re: [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: Armando Visconti
Cc: linux, hsweeten, swarren, kgene.kim, linux-arm-kernel,
linux-kernel, spear-devel
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
* Re: [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: Armando Visconti
Cc: linux, kgene.kim, swarren, nico, spear-devel, linux-kernel,
hsweeten, 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
* Re: [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: Armando Visconti
Cc: hsweeten, swarren, nico, kgene.kim, linux-arm-kernel,
linux-kernel, spear-devel
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
* Re: [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: Russell King - ARM Linux
Cc: Armando Visconti, kgene.kim, swarren, nico, spear-devel,
linux-kernel, hsweeten, 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
* Re: [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: Will Deacon, Russell King - ARM Linux
Cc: kgene.kim, swarren, nico, spear-devel, linux-kernel, hsweeten,
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
* Re: [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: Will Deacon
Cc: Russell King - ARM Linux, kgene.kim, swarren, nico,
Armando Visconti, spear-devel, linux-kernel, hsweeten,
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
* Re: [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: Uwe Kleine-König
Cc: kgene.kim, swarren, nico, Armando Visconti, spear-devel,
linux-kernel, hsweeten, Russell King - ARM Linux,
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).