[PATCH 00/13] Arm64 big endian enablement

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Jun 11 15:25:03 CEST 2024


Hi Jiaxun,

On Sun, 19 May 2024 at 15:56, Jiaxun Yang <jiaxun.yang at flygoat.com> wrote:
>
> Hi all,

Apologies for taking time to review, got a lot in my backlog


>
> This series enabled big endian support for arm64, enabled qemu-arm
> board for arm64be and slightly adjusted our Kconfig handling on endianness.
>
> In practical I think most Arm SoCs do support little endian only,
> for those SoCs with big endian support they are usually bi-endian
> and expected bootloader in little endian. The only big-endian only
> Arm SoC I know is a network processor from ZTE ZXIC, I doubt if upstream
> U-Boot will ever support it.
>
> However enabling arm64be can enable us to take more care on big endian
> targets, given that arm64 is the most feature rich arch in U-Boot,
> we can run more test on big endian systems.
>
> Boot tested on qemu.

This is not a nak, but I dont see why we should have the extra
maintenace burden if people don't use it.

I'd like more feedback from the community on whether this is useful or not

Cheers
/Ilias

>
> Please review.
>
> Thanks
>
> Signed-off-by: Jiaxun Yang <jiaxun.yang at flygoat.com>
> ---
> Jiaxun Yang (13):
>       tools/relocate-rela: Fix Big Endian elf64 handling
>       arm: Don't select ARM_ASM_UNIFIED on arm64
>       arm: Fix assembler.h for arm64
>       arm: Introduce CPU_LE/CPU_BE macros
>       arm: Define endian related bits in system.h
>       armv8: Big Endian enablement for compiler and linker
>       arm: Perform byte swap for read and write in io.h
>       armv8: Allow endianness to be setted at reset entry
>       armv8: spin_table: Perform byte swap for jump address
>       lib/crc32: Don't perform byte swap for arm64 crc32b
>       Kconfig: Unify endian support option
>       config: Use CONFIG_SYS_BIG_ENDIAN in code whenever possible
>       qemu-arm: Big endian enablement for arm64
>
>  Makefile                                           |  2 +-
>  arch/Kconfig                                       | 34 ++++++++---
>  arch/arc/include/asm/arc-bcr.h                     | 10 +--
>  arch/arm/Kconfig                                   |  3 +-
>  arch/arm/config.mk                                 | 14 +++++
>  arch/arm/cpu/armv8/Kconfig                         |  9 +++
>  .../arm/cpu/armv8/linux-kernel-image-header-vars.h |  4 +-
>  arch/arm/cpu/armv8/spin_table_v8.S                 |  2 +
>  arch/arm/cpu/armv8/start.S                         | 26 ++++++++
>  arch/arm/cpu/armv8/u-boot-spl.lds                  |  6 ++
>  arch/arm/cpu/armv8/u-boot.lds                      |  4 ++
>  arch/arm/include/asm/assembler.h                   | 25 ++++++++
>  arch/arm/include/asm/io.h                          | 12 ++--
>  arch/arm/include/asm/system.h                      |  3 +
>  arch/arm/lib/elf_aarch64_efi.lds                   |  7 +++
>  arch/mips/Kconfig                                  | 20 +++---
>  arch/mips/mach-ath79/Kconfig                       |  8 +--
>  arch/mips/mach-bmips/Kconfig                       | 20 +++---
>  arch/mips/mach-jz47xx/Kconfig                      |  2 +-
>  arch/mips/mach-mscc/Kconfig                        |  4 +-
>  arch/mips/mach-pic32/Kconfig                       |  2 +-
>  board/emulation/qemu-arm/Kconfig                   |  2 +
>  board/emulation/qemu-arm/MAINTAINERS               |  1 +
>  configs/qemu_arm64be_defconfig                     | 71 ++++++++++++++++++++++
>  doc/board/emulation/qemu-arm.rst                   |  7 ++-
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c           |  2 +-
>  lib/crc32.c                                        |  3 +-
>  scripts/Makefile.build                             |  2 +-
>  scripts/Makefile.lib                               |  3 +-
>  tools/relocate-rela.c                              | 40 +++++++-----
>  30 files changed, 271 insertions(+), 77 deletions(-)
> ---
> base-commit: 3be9f399e911cfc437a37ac826441f1d96da1c9b
> change-id: 20240518-aarch64-be-1ec99cf7f28b
>
> Best regards,
> --
> Jiaxun Yang <jiaxun.yang at flygoat.com>
>


More information about the U-Boot mailing list