linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PULL REQUEST] big-endian updates for ARM
@ 2013-09-02 11:24 Ben Dooks
  2013-09-02 11:27 ` Thomas Petazzoni
  2013-09-02 11:51 ` Thomas Petazzoni
  0 siblings, 2 replies; 11+ messages in thread
From: Ben Dooks @ 2013-09-02 11:24 UTC (permalink / raw)
  To: linux-arm-kernel

With the last ack added, the following series is ready to be pulled.

The following changes since commit fa8218def1b1a16f0a410e2c1c767b4738cc81fa:

   Merge tag 'regmap-v3.11-rc7' of 
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap (2013-08-27 
10:10:30 -0700)

are available in the git repository at:


   git://git.baserock.org/delta/linux.git baserock/311-rc7/be/core-v3

for you to fetch changes up to 5217543fe4605fa91065acf5141d88949cd3da1e:

   ARM: signal: sigreturn_codes should be endian neutral to work in BE8 
(2013-09-02 11:53:53 +0100)

----------------------------------------------------------------
Ben Dooks (19):
       ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN
       ARM: asm: Add ARM_BE8() assembly helper
       ARM: fixup_pv_table bug when CPU_ENDIAN_BE8
       ARM: set BE8 if LE in head code
       ARM: pl01x debug code endian fix
       ARM: twd: data endian fix
       ARM: smp_scu: data endian fixes
       highbank: enable big-endian
       fix highbank
       mvebu: support running big-endian
       vexpress: add big endian support
       ARM: alignment: correctly decode instructions in BE8 mode.
       ARM: traps: use <asm/opcodes.h> to get correct instruction order
       ARM: module: correctly relocate instructions in BE8
       ARM: set --be8 when linking modules
       ARM: hardware: fix endian-ness in <hardware/coresight.h>
       ARM: net: fix arm instruction endian-ness in bpf_jit_32.c
       ARM: Correct BUG() assembly to ensure it is endian-agnostic
       ARM: kdgb: use <asm/opcodes.h> for data to be assembled as intruction

Victor Kamensky (2):
       ARM: atomic64: fix endian-ness in atomic.h
       ARM: signal: sigreturn_codes should be endian neutral to work in BE8

  arch/arm/Kconfig                            |  1 +
  arch/arm/Makefile                           |  1 +
  arch/arm/boot/compressed/head.S             |  9 ++--
  arch/arm/include/asm/assembler.h            |  7 +++
  arch/arm/include/asm/atomic.h               | 26 +++++------
  arch/arm/include/asm/bug.h                  | 10 +++--
  arch/arm/include/asm/hardware/coresight.h   |  8 ++--
  arch/arm/include/asm/hardware/debug-pl01x.S |  2 +
  arch/arm/include/asm/kgdb.h                 |  3 +-
  arch/arm/kernel/Makefile                    |  3 +-
  arch/arm/kernel/entry-armv.S                |  5 +--
  arch/arm/kernel/entry-common.S              |  4 +-
  arch/arm/kernel/head.S                      | 12 +++++
  arch/arm/kernel/module.c                    | 57 ++++++++++++++----------
  arch/arm/kernel/signal.c                    | 24 +---------
  arch/arm/kernel/sigreturn_codes.S           | 69 
+++++++++++++++++++++++++++++
  arch/arm/kernel/sleep.S                     |  1 +
  arch/arm/kernel/smp_scu.c                   | 14 +++---
  arch/arm/kernel/smp_twd.c                   | 24 +++++-----
  arch/arm/kernel/traps.c                     | 24 ++++++----
  arch/arm/mach-highbank/Kconfig              |  1 +
  arch/arm/mach-ixp4xx/Kconfig                |  4 --
  arch/arm/mach-mvebu/Kconfig                 |  1 +
  arch/arm/mach-mvebu/coherency_ll.S          |  3 ++
  arch/arm/mach-mvebu/headsmp.S               |  4 ++
  arch/arm/mach-vexpress/Kconfig              |  1 +
  arch/arm/mm/Kconfig                         |  6 +++
  arch/arm/mm/abort-ev6.S                     |  5 +--
  arch/arm/mm/alignment.c                     |  9 +++-
  arch/arm/mm/proc-v6.S                       |  4 +-
  arch/arm/mm/proc-v7.S                       |  4 +-
  arch/arm/net/bpf_jit_32.c                   |  6 ++-
  arch/arm/plat-versatile/headsmp.S           |  2 +
  33 files changed, 229 insertions(+), 125 deletions(-)
  create mode 100644 arch/arm/kernel/sigreturn_codes.S

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-02 11:24 Ben Dooks
@ 2013-09-02 11:27 ` Thomas Petazzoni
  2013-09-02 11:32   ` Ben Dooks
  2013-09-02 11:51 ` Thomas Petazzoni
  1 sibling, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2013-09-02 11:27 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Ben Dooks,

On Mon, 02 Sep 2013 12:24:23 +0100, Ben Dooks wrote:

> Ben Dooks (19):
>        ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN
>        ARM: asm: Add ARM_BE8() assembly helper
>        ARM: fixup_pv_table bug when CPU_ENDIAN_BE8
>        ARM: set BE8 if LE in head code
>        ARM: pl01x debug code endian fix
>        ARM: twd: data endian fix
>        ARM: smp_scu: data endian fixes
>        highbank: enable big-endian
>        fix highbank

Seems like you forgot to rebase your branch to squash this commit in
the previous one.

>        mvebu: support running big-endian
>        vexpress: add big endian support
>        ARM: alignment: correctly decode instructions in BE8 mode.
>        ARM: traps: use <asm/opcodes.h> to get correct instruction order
>        ARM: module: correctly relocate instructions in BE8
>        ARM: set --be8 when linking modules
>        ARM: hardware: fix endian-ness in <hardware/coresight.h>
>        ARM: net: fix arm instruction endian-ness in bpf_jit_32.c
>        ARM: Correct BUG() assembly to ensure it is endian-agnostic
>        ARM: kdgb: use <asm/opcodes.h> for data to be assembled as intruction
> 
> Victor Kamensky (2):
>        ARM: atomic64: fix endian-ness in atomic.h
>        ARM: signal: sigreturn_codes should be endian neutral to work in BE8

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-02 11:27 ` Thomas Petazzoni
@ 2013-09-02 11:32   ` Ben Dooks
  0 siblings, 0 replies; 11+ messages in thread
From: Ben Dooks @ 2013-09-02 11:32 UTC (permalink / raw)
  To: linux-arm-kernel

On 02/09/13 12:27, Thomas Petazzoni wrote:
> Dear Ben Dooks,
>
> On Mon, 02 Sep 2013 12:24:23 +0100, Ben Dooks wrote:
>
>> Ben Dooks (19):
>>         ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN
>>         ARM: asm: Add ARM_BE8() assembly helper
>>         ARM: fixup_pv_table bug when CPU_ENDIAN_BE8
>>         ARM: set BE8 if LE in head code
>>         ARM: pl01x debug code endian fix
>>         ARM: twd: data endian fix
>>         ARM: smp_scu: data endian fixes
>>         highbank: enable big-endian
>>         fix highbank
>
> Seems like you forgot to rebase your branch to squash this commit in
> the previous one.

thanks, sorted and pushed out.

>>         mvebu: support running big-endian
>>         vexpress: add big endian support
>>         ARM: alignment: correctly decode instructions in BE8 mode.
>>         ARM: traps: use<asm/opcodes.h>  to get correct instruction order
>>         ARM: module: correctly relocate instructions in BE8
>>         ARM: set --be8 when linking modules
>>         ARM: hardware: fix endian-ness in<hardware/coresight.h>
>>         ARM: net: fix arm instruction endian-ness in bpf_jit_32.c
>>         ARM: Correct BUG() assembly to ensure it is endian-agnostic
>>         ARM: kdgb: use<asm/opcodes.h>  for data to be assembled as intruction
>>
>> Victor Kamensky (2):
>>         ARM: atomic64: fix endian-ness in atomic.h
>>         ARM: signal: sigreturn_codes should be endian neutral to work in BE8
>
> Thomas


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-02 11:24 Ben Dooks
  2013-09-02 11:27 ` Thomas Petazzoni
@ 2013-09-02 11:51 ` Thomas Petazzoni
  2013-09-02 17:22   ` Jason Cooper
  1 sibling, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2013-09-02 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Ben Dooks,

On Mon, 02 Sep 2013 12:24:23 +0100, Ben Dooks wrote:
> With the last ack added, the following series is ready to be pulled.
> 
> The following changes since commit fa8218def1b1a16f0a410e2c1c767b4738cc81fa:
> 
>    Merge tag 'regmap-v3.11-rc7' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap (2013-08-27 
> 10:10:30 -0700)
> 
> are available in the git repository at:
> 
> 
>    git://git.baserock.org/delta/linux.git baserock/311-rc7/be/core-v3
> 
> for you to fetch changes up to 5217543fe4605fa91065acf5141d88949cd3da1e:
> 
>    ARM: signal: sigreturn_codes should be endian neutral to work in BE8 
> (2013-09-02 11:53:53 +0100)

Successfully boot tested in LE and BE modes on Armada XP hardware:

Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Jason, Greg or Andrew, can you give your formal Acked-by as mach-mvebu
maintainers for "mvebu: support running big-endian" in this series?

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-02 11:51 ` Thomas Petazzoni
@ 2013-09-02 17:22   ` Jason Cooper
  0 siblings, 0 replies; 11+ messages in thread
From: Jason Cooper @ 2013-09-02 17:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Sep 02, 2013 at 01:51:26PM +0200, Thomas Petazzoni wrote:
> Dear Ben Dooks,
> 
> On Mon, 02 Sep 2013 12:24:23 +0100, Ben Dooks wrote:
> > With the last ack added, the following series is ready to be pulled.
> > 
> > The following changes since commit fa8218def1b1a16f0a410e2c1c767b4738cc81fa:
> > 
> >    Merge tag 'regmap-v3.11-rc7' of 
> > git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap (2013-08-27 
> > 10:10:30 -0700)
> > 
> > are available in the git repository at:
> > 
> > 
> >    git://git.baserock.org/delta/linux.git baserock/311-rc7/be/core-v3
> > 
> > for you to fetch changes up to 5217543fe4605fa91065acf5141d88949cd3da1e:
> > 
> >    ARM: signal: sigreturn_codes should be endian neutral to work in BE8 
> > (2013-09-02 11:53:53 +0100)
> 
> Successfully boot tested in LE and BE modes on Armada XP hardware:
> 
> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> Jason, Greg or Andrew, can you give your formal Acked-by as mach-mvebu
> maintainers for "mvebu: support running big-endian" in this series?

No problem.

Acked-by: Jason Cooper <jason@lakedaemon.net>

thx,

Jason.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
       [not found] <20130903101332.GA26613@localhost.localdomain>
@ 2013-09-03 11:25 ` Ben Dooks
  2013-09-03 11:45   ` Thomas Petazzoni
  0 siblings, 1 reply; 11+ messages in thread
From: Ben Dooks @ 2013-09-03 11:25 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/09/13 11:13, Dave Martin wrote:
> On Mon, Sep 02, 2013 at 12:24:23PM +0100, Ben Dooks wrote:
>> With the last ack added, the following series is ready to be pulled.
>>
>> The following changes since commit fa8218def1b1a16f0a410e2c1c767b4738cc81fa:
>>
>>    Merge tag 'regmap-v3.11-rc7' of
>> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
>> (2013-08-27 10:10:30 -0700)
>>
>> are available in the git repository at:
>>
>>
>>    git://git.baserock.org/delta/linux.git baserock/311-rc7/be/core-v3
>>
>> for you to fetch changes up to 5217543fe4605fa91065acf5141d88949cd3da1e:
>>
>>    ARM: signal: sigreturn_codes should be endian neutral to work in BE8
>> (2013-09-02 11:53:53 +0100)
>>
>> ----------------------------------------------------------------
>> Ben Dooks (19):
>>        ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN
>>        ARM: asm: Add ARM_BE8() assembly helper
>>        ARM: fixup_pv_table bug when CPU_ENDIAN_BE8
>>        ARM: set BE8 if LE in head code
>>        ARM: pl01x debug code endian fix
>>        ARM: twd: data endian fix
>>        ARM: smp_scu: data endian fixes
>>        highbank: enable big-endian
>>        fix highbank
>>        mvebu: support running big-endian
>>        vexpress: add big endian support
>>        ARM: alignment: correctly decode instructions in BE8 mode.
>>        ARM: traps: use<asm/opcodes.h>  to get correct instruction order
>
> As I repoerted in [1], this is patch broken for CONFIG_THUMB2_KERNEL due
> to a typo:
>
> arch/arm/kernel/traps.c: In function 'do_undefinstr':
> arch/arm/kernel/traps.c:411:5: error: 'instr2' undeclared (first use in this function)
>       instr2 = __mem_to_opcode_thumb16(((u16 *)pc)[1]);
>       ^
> arch/arm/kernel/traps.c:411:5: note: each undeclared identifier is reported only once for each function it appears in
> arch/arm/kernel/traps.c:410:9: warning: unused variable 'inst2' [-Wunused-variable]
>       u16 inst2;
>           ^
> make[1]: *** [arch/arm/kernel/traps.o] Error 1
>
>
> The following should be enough to fix it:
>
> diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
> index da070db..d3806aa 100644
> --- a/arch/arm/kernel/traps.c
> +++ b/arch/arm/kernel/traps.c
> @@ -407,7 +407,7 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs)
>   		if (thumb_mode(regs)) {
>   			instr = __mem_to_opcode_thumb16(((u16 *)pc)[0]);
>   			if (is_wide_instruction(instr)) {
> -				u16 inst2;
> +				u16 instr2;
>   				instr2 = __mem_to_opcode_thumb16(((u16 *)pc)[1]);
>   				instr = __opcode_thumb32_compose(instr, instr2);
>   			}


Sorry, I thought that had been fixed, thanks for reminding me.

I have fixed it and now on:

	git://git.baserock.org/delta/linux baserock/311-rc7/be/core-v4

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-03 11:25 ` [PULL REQUEST] big-endian updates for ARM Ben Dooks
@ 2013-09-03 11:45   ` Thomas Petazzoni
  2013-09-03 12:51     ` Ben Dooks
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2013-09-03 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Ben Dooks,

On Tue, 03 Sep 2013 12:25:08 +0100, Ben Dooks wrote:

> Sorry, I thought that had been fixed, thanks for reminding me.
> 
> I have fixed it and now on:
> 
> 	git://git.baserock.org/delta/linux baserock/311-rc7/be/core-v4

Can you resend a proper pull request for this core-v4 branch? There has
been two fixes since the v3, the Acked-by from one of the mach-mvebu
maintainers, and my Tested-by.

Also, as indicated on IRC, I confirm that this patch set also works on
Armada 370. It doesn't work on one particular Armada 370 board that I
have, but it's using an old bootloader that may be the cause of the
issue. The BE kernel works fine on the two other Armada 370 boards I've
tested.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-03 11:45   ` Thomas Petazzoni
@ 2013-09-03 12:51     ` Ben Dooks
  2013-09-03 12:55       ` Thomas Petazzoni
  0 siblings, 1 reply; 11+ messages in thread
From: Ben Dooks @ 2013-09-03 12:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/09/13 12:45, Thomas Petazzoni wrote:
> Dear Ben Dooks,
>
> On Tue, 03 Sep 2013 12:25:08 +0100, Ben Dooks wrote:
>
>> Sorry, I thought that had been fixed, thanks for reminding me.
>>
>> I have fixed it and now on:
>>
>> 	git://git.baserock.org/delta/linux baserock/311-rc7/be/core-v4
>
> Can you resend a proper pull request for this core-v4 branch? There has
> been two fixes since the v3, the Acked-by from one of the mach-mvebu
> maintainers, and my Tested-by.

that was just a confirmation for Dave to test. I will sort out a new
pull request later.

> Also, as indicated on IRC, I confirm that this patch set also works on
> Armada 370. It doesn't work on one particular Armada 370 board that I
> have, but it's using an old bootloader that may be the cause of the
> issue. The BE kernel works fine on the two other Armada 370 boards I've
> tested.
>
> Thanks!
>
> Thomas


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-03 12:51     ` Ben Dooks
@ 2013-09-03 12:55       ` Thomas Petazzoni
  2013-09-03 15:21         ` Ben Dooks
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2013-09-03 12:55 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Ben Dooks,

On Tue, 03 Sep 2013 13:51:40 +0100, Ben Dooks wrote:

> >> I have fixed it and now on:
> >>
> >> 	git://git.baserock.org/delta/linux baserock/311-rc7/be/core-v4
> >
> > Can you resend a proper pull request for this core-v4 branch? There has
> > been two fixes since the v3, the Acked-by from one of the mach-mvebu
> > maintainers, and my Tested-by.
> 
> that was just a confirmation for Dave to test. I will sort out a new
> pull request later.

Excellent, thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-03 12:55       ` Thomas Petazzoni
@ 2013-09-03 15:21         ` Ben Dooks
  2013-09-03 15:29           ` Thomas Petazzoni
  0 siblings, 1 reply; 11+ messages in thread
From: Ben Dooks @ 2013-09-03 15:21 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/09/13 13:55, Thomas Petazzoni wrote:
> Dear Ben Dooks,
>
> On Tue, 03 Sep 2013 13:51:40 +0100, Ben Dooks wrote:
>
>>>> I have fixed it and now on:
>>>>
>>>> 	git://git.baserock.org/delta/linux baserock/311-rc7/be/core-v4
>>>
>>> Can you resend a proper pull request for this core-v4 branch? There has
>>> been two fixes since the v3, the Acked-by from one of the mach-mvebu
>>> maintainers, and my Tested-by.
>>
>> that was just a confirmation for Dave to test. I will sort out a new
>> pull request later.
>
> Excellent, thanks!
>
> Thomas

Out of interest, should all patches in the series have the
Tested-by line added to them, or just the top-level pull request?


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PULL REQUEST] big-endian updates for ARM
  2013-09-03 15:21         ` Ben Dooks
@ 2013-09-03 15:29           ` Thomas Petazzoni
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2013-09-03 15:29 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Ben Dooks,

On Tue, 03 Sep 2013 16:21:10 +0100, Ben Dooks wrote:

> Out of interest, should all patches in the series have the
> Tested-by line added to them, or just the top-level pull request?

I believe the Tested-by normall goes to the individual patches.
However, my testing on Armada XP obviously didn't exercise all the
patches (I haven't tested modules, I haven't used the bpf_jit thing, I
haven't tested the twd, smp_scu and pl01x fixes, etc.).

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-09-03 15:29 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20130903101332.GA26613@localhost.localdomain>
2013-09-03 11:25 ` [PULL REQUEST] big-endian updates for ARM Ben Dooks
2013-09-03 11:45   ` Thomas Petazzoni
2013-09-03 12:51     ` Ben Dooks
2013-09-03 12:55       ` Thomas Petazzoni
2013-09-03 15:21         ` Ben Dooks
2013-09-03 15:29           ` Thomas Petazzoni
2013-09-02 11:24 Ben Dooks
2013-09-02 11:27 ` Thomas Petazzoni
2013-09-02 11:32   ` Ben Dooks
2013-09-02 11:51 ` Thomas Petazzoni
2013-09-02 17:22   ` Jason Cooper

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).