[PATCH 00/14] AArch64 BE Support

Matthew Leach matthew.leach at arm.com
Fri Oct 11 09:52:06 EDT 2013


Hello,

This patch series adds big-endian support to the arm64 kernel. It has
been tested successfully with LTP on both AArch32 and AArch64
userspace configurations. There were no regressions reported over a
little-endian system.

The first patch (from Mark Rutland) clarifies the booting
requirements, which is needed for a big-endian kernel boot. The bulk
of the patches fix up issues in the architectural port, with the last
patch fixing an endianness assumption in the smc91x network driver.

Whilst there is another series of BE patches currently on the list:

  http://lists.infradead.org/pipermail/linux-arm-kernel/2013-October/204031.html

we believe that our work is both more complete and has been subjected
to substantial testing effort.

All comments welcome,

Matt

Mark Rutland (1):
  Docs: arm64: booting: clarify boot requirements

Matthew Leach (6):
  arm64: compat: correct register concatenation for syscall wrappers
  arm64: big-endian: don't treat code as data when copying sigret code
  arm64: asm: add CPU_LE & CPU_BE assembler helpers
  arm64: head: create a new function for setting the boot_cpu_mode flag
  arm64: big-endian: set correct endianess on kernel entry
  arm64: big-endian: write CPU holding pen address as LE

Will Deacon (7):
  arm64: big-endian: add big-endian support to top-level arch Makefile
  arm64: big-endian: fix byteorder include
  arm64: ELF: add support for big-endian executables
  arm64: setup: report ELF_PLATFORM as the machine for utsname
  arm64: compat: add support for big-endian (BE8) AArch32 binaries
  arm64: kconfig: allow CPU_BIG_ENDIAN to be selected
  net: smc91x: dont't use SMC_outw for fixing up halfword-aligned data

 Documentation/arm64/booting.txt         |   45 +++++++++++++++++++---------
 arch/arm64/Kconfig                      |    5 ++++
 arch/arm64/Makefile                     |    6 ++++
 arch/arm64/include/asm/assembler.h      |   31 +++++++++++++++++++
 arch/arm64/include/asm/compat.h         |   14 +++++++++
 arch/arm64/include/asm/elf.h            |   18 ++++++++++++
 arch/arm64/include/asm/processor.h      |    5 ++++
 arch/arm64/include/asm/ptrace.h         |    1 +
 arch/arm64/include/asm/virt.h           |    3 +-
 arch/arm64/include/uapi/asm/byteorder.h |    4 +++
 arch/arm64/kernel/Makefile              |    2 +-
 arch/arm64/kernel/head.S                |   49 ++++++++++++++++++++++++-------
 arch/arm64/kernel/kuser32.S             |   42 ++++++++++++++++++++++++++
 arch/arm64/kernel/setup.c               |    2 +-
 arch/arm64/kernel/signal32.c            |   28 ------------------
 arch/arm64/kernel/smp_spin_table.c      |   11 ++++++-
 arch/arm64/kernel/sys32.S               |   22 +++++++-------
 arch/arm64/kernel/vdso.c                |    5 +++-
 arch/arm64/mm/proc.S                    |    4 +--
 drivers/net/ethernet/smsc/smc91x.h      |    6 ++--
 20 files changed, 228 insertions(+), 75 deletions(-)

-- 
1.7.9.5




More information about the linux-arm-kernel mailing list