mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-25 05:12:02 +00:00
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>
54 lines
1.4 KiB
Plaintext
54 lines
1.4 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
menuconfig ARCH_IOP32X
|
|
bool "IOP32x-based platforms"
|
|
depends on ARCH_MULTI_V5
|
|
depends on CPU_LITTLE_ENDIAN
|
|
select CPU_XSCALE
|
|
select GPIO_IOP
|
|
select GPIOLIB
|
|
select FORCE_PCI
|
|
help
|
|
Support for Intel's 80219 and IOP32X (XScale) family of
|
|
processors.
|
|
|
|
if ARCH_IOP32X
|
|
|
|
config MACH_EP80219
|
|
bool
|
|
|
|
config MACH_GLANTANK
|
|
bool "Enable support for the IO-Data GLAN Tank"
|
|
help
|
|
Say Y here if you want to run your kernel on the GLAN Tank
|
|
NAS appliance or machines from IO-Data's HDL-Gxxx, HDL-GWxxx
|
|
and HDL-GZxxx series.
|
|
|
|
config ARCH_IQ80321
|
|
bool "Enable support for IQ80321"
|
|
help
|
|
Say Y here if you want to run your kernel on the Intel IQ80321
|
|
evaluation kit for the IOP321 processor.
|
|
|
|
config ARCH_IQ31244
|
|
bool "Enable support for EP80219/IQ31244"
|
|
select MACH_EP80219
|
|
help
|
|
Say Y here if you want to run your kernel on the Intel EP80219
|
|
evaluation kit for the Intel 80219 processor (a IOP321 variant)
|
|
or the IQ31244 evaluation kit for the IOP321 processor.
|
|
|
|
config MACH_N2100
|
|
bool "Enable support for the Thecus n2100"
|
|
help
|
|
Say Y here if you want to run your kernel on the Thecus n2100
|
|
NAS appliance.
|
|
|
|
config MACH_EM7210
|
|
bool "Enable support for the Lanner EM7210"
|
|
help
|
|
Say Y here if you want to run your kernel on the Lanner EM7210
|
|
board. Say also Y here if you have a SS4000e Baxter Creek NAS
|
|
appliance."
|
|
|
|
endif
|