linux/arch/arm
Arnd Bergmann 5d6f52671e ARM: rework endianess selection
Choosing big-endian vs little-endian kernels in Kconfig has not worked
correctly since the introduction of CONFIG_ARCH_MULTIPLATFORM a long
time ago.

The problems is that CONFIG_BIG_ENDIAN depends on
ARCH_SUPPORTS_BIG_ENDIAN, which can set by any one platform
in the config, but would actually have to be supported by all
of them.

This was mostly ok for ARMv6/ARMv7 builds, since these are BE8 and
tend to just work aside from problems in nonportable device drivers.
For ARMv4/v5 machines, CONFIG_BIG_ENDIAN and CONFIG_ARCH_MULTIPLATFORM
were never set together, so this was disabled on all those machines
except for IXP4xx.

As IXP4xx can now become part of ARCH_MULTIPLATFORM, it seems better to
formalize this logic: all ARMv4/v5 platforms get an explicit dependency
on being either big-endian (ixp4xx) or little-endian (the rest). We may
want to fix ixp4xx in the future to support both, but it does not work
in LE mode at the moment.

For the ARMv6/v7 platforms, there are two ways this could be handled

 a) allow both modes only for platforms selecting
    'ARCH_SUPPORTS_BIG_ENDIAN' today, but only LE mode for the
    others, given that these were added intentionally at some
    point.

 b) allow both modes everwhere, given that it was already possible
    to build that way by e.g. selecting ARCH_VIRT, and that the
    list is not an accurate reflection of which platforms may or
    may not work.

Out of these, I picked b) because it seemed slighly more logical
to me.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-08 17:20:54 +02:00
..
boot ARM: ep93xx: multiplatform support 2022-04-04 10:22:37 +02:00
common
configs ARM: iop32x: enable multiplatform support 2022-04-08 17:20:49 +02:00
crypto This push fixes the following issues: 2022-03-31 11:17:39 -07:00
include Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2022-04-01 19:57:03 -07:00
kernel ARM fixes for 5.18-rc1: 2022-04-03 10:17:48 -07:00
lib asm-generic updates for 5.18 2022-03-23 18:03:08 -07:00
mach-actions
mach-airoha ARM: Add basic support for Airoha EN7523 SoC 2022-03-01 09:02:01 +01:00
mach-alpine
mach-artpec
mach-asm9260 ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-aspeed ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-at91 ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-axxia
mach-bcm ARM: SoC updates for 5.18 2022-03-23 18:20:09 -07:00
mach-berlin
mach-clps711x ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-cns3xxx
mach-davinci ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-digicolor
mach-dove ARM: dove: multiplatform support 2022-04-04 10:22:37 +02:00
mach-ep93xx ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-exynos ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-footbridge ARM: SoC updates for 5.18 2022-03-23 18:20:09 -07:00
mach-gemini ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-highbank ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-hisi ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-imx ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-iop32x ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-ixp4xx ARM: ixp4xx: Drop all common code 2022-02-12 18:20:04 +01:00
mach-keystone ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-lpc18xx
mach-lpc32xx ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-moxart ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-mstar ARM: SoC updates for 5.18 2022-03-23 18:20:09 -07:00
mach-mv78xx0 ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-mvebu ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-mxs ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-nomadik ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-npcm ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-nspire ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-omap1
mach-omap2 ARM: OMAP2+: Fix regression for smc calls for vmap stack 2022-03-31 22:41:27 +02:00
mach-orion5x ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-oxnas ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-pxa ARM: SoC updates for 5.18 2022-03-23 18:20:09 -07:00
mach-qcom ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-rda
mach-realtek
mach-rockchip
mach-rpc
mach-s3c ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-s5pv210
mach-sa1100
mach-shmobile ARM: remove support for NOMMU ARMv4/v5 2022-03-17 09:13:13 +01:00
mach-socfpga ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-spear ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-sti
mach-stm32
mach-sunxi ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-tegra
mach-uniphier
mach-ux500 ARM: remove support for NOMMU ARMv4/v5 2022-03-17 09:13:13 +01:00
mach-versatile ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-vt8500 ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mach-zynq ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
mm ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
net bpf, arm: Fix various typos in comments 2022-03-21 16:20:26 +01:00
nwfpe
plat-omap
plat-orion
plat-pxa
probes ARM development updates for 5.18: 2022-03-23 17:35:57 -07:00
tools arch: syscalls: simplify uapi/kapi directory creation 2022-03-31 12:03:46 +09:00
vdso ARM: 9181/1: vdso: remove -nostdlib compiler flag 2022-02-28 13:59:45 +00:00
vfp
xen
Kbuild
Kconfig ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM development updates for 5.18: 2022-03-23 17:35:57 -07:00
Makefile ARM: versatile: move integrator/realview/vexpress to versatile 2022-04-04 10:22:37 +02:00