summaryrefslogtreecommitdiff
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-08-18 19:50:40 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-08-18 19:50:40 -0700
commitbd5f485f3f026225b86573e559af0b7254ef4184 (patch)
tree92b9cabbbefe9b8cee634769676b9b97238cdfc7 /arch/arm/Kconfig
parent6eb1ea5ff48d647deb67c58b7a0e97bbf4de088a (diff)
parentacf1efa9485fda84f332c8fbbe7b4453dbec183a (diff)
downloadlinux-master.tar.gz
linux-master.zip
Merge tag 'soc-arm-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socHEADmaster
Pull ARM SoC platform updates from Arnd Bergmann: "The 32-bit Arm platforms are a bit more interesting this time: I refreshed an earlier series to mark code as deprecated that does have the tendency of getting in the way of cleanups and new features but has close to zero users. Among these are: - 22 of the remaining 28 legacy board files that predate the current devicetree based descriptions, using old chips from Intel and Marvell. The remaining six board files are for TI OMAP1 and Samsung s3c64xx chips and all still have known users. - support for Cortex-M3/M4/M7 and ARM1136r0 CPU cores and the 25 machines based on these. These all use devicetree but the CPU support causes disproportional work. Most of them are just reference boards, the notable exceptions being the Nokia N800/N810 tablet and the Buglabs BUG platform. - be8, be32, oabi and iwmmxt userspace binaries, which were mostly associated with the platforms now scheduled for removal and are increasingly problematic to support with modern toolchains. Nothing is actually removed at this point, to ensure that any remaining users continue to have the 7.3-LTS for a while longer. Patches for removal are currently being tested. Other updates include a continued work to convert GPIO number based interfaces to descriptors, a patch to restore little-endian mode on the one Arm platform (ixp4xx) that only worked in big-endian mode recently, and some minor cleanups and bugfixes" * tag 'soc-arm-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (41 commits) MAINTAINERS: Drop redundant lists from various Samsung entries ARM: tegra: Replace __ASSEMBLY__ with __ASSEMBLER__ ARM: tegra: Fix OF node reference leaks in IRQ init ARM: lpc32xx: remove a few manually populated OF devices ARM: lpc32xx: only run SoC init on LPC32xx hardware firmware: imx: scu: manage mailbox channels and global handle ARM: sa1100: h3xxx: convert gpio-keys to use software nodes ARM: sa1100: collie: convert gpio-keys to use software nodes ARM: sa1100: assabet: convert gpio-keys to use software nodes gpio: sa1100: register software node for GPIO controller ARM: ixp4xx: Relax endianness ARM: replace linux/gpio.h inclusions soc: imx9: devm_kasprintf error handling ARM: mark mv78xx0 support as deprecated ARM: mark axxia platform as deprecated ARM: mark Cortex-M3/M4/M7 based boards as deprecated ARM: mark footbridge as deprecated ARM: mark RiscPC as deprecated ARM: mark mach-sa1100 as deprecated ARM: orion5x: mark all board files as deprecated ...
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig80
1 files changed, 46 insertions, 34 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7788949992f4..f10379dfe7a3 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -472,7 +472,7 @@ source "arch/arm/mach-zynq/Kconfig"
# ARMv7-M architecture
config ARCH_LPC18XX
- bool "NXP LPC18xx/LPC43xx"
+ bool "NXP LPC18xx/LPC43xx (DEPRECATED)"
depends on ARM_SINGLE_ARMV7M
select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA
@@ -482,8 +482,10 @@ config ARCH_LPC18XX
Support for NXP's LPC18xx Cortex-M3 and LPC43xx Cortex-M4
high performance microcontrollers.
+ This platform is scheduled for removal in early 2027
+
config ARCH_MPS2
- bool "ARM MPS2 platform"
+ bool "ARM MPS2 platform (DEPRECATED)"
depends on ARM_SINGLE_ARMV7M
select ARM_AMBA
select CLKSRC_MPS2
@@ -494,6 +496,8 @@ config ARCH_MPS2
Please, note that depends which Application Note is used memory map
for the platform may vary, so adjustment of RAM base might be needed.
+ This platform is scheduled for removal in early 2027
+
# Definitions to make life easier
config ARCH_ACORN
bool
@@ -514,13 +518,21 @@ config PLAT_VERSATILE
source "arch/arm/mm/Kconfig"
config IWMMXT
- bool "Enable iWMMXt support"
- depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
- default y if PXA27x || PXA3xx || ARCH_MMP
+ bool "Enable iWMMXt support (DEPRECATED)"
+ depends on PXA27x || PXA3xx || ARCH_MMP
help
Enable support for iWMMXt context switching at run time if
running on a CPU that supports it.
+ Machines that actually support this feature are very rare,
+ and support is deprecated in new gcc-14. While there were a
+ few applications that used this in the past, none are known
+ to still do so.
+
+ If you use this, please send a patch to remove the
+ deprecation, otherwise this will be removed in early
+ 2027.
+
if !MMU
source "arch/arm/Kconfig-nommu"
endif
@@ -1152,23 +1164,23 @@ config ARM_PATCH_IDIV
code to do integer division.
config AEABI
- bool "Use the ARM EABI to compile the kernel" if !CPU_V7 && \
- !CPU_V7M && !CPU_V6 && !CPU_V6K && !CC_IS_CLANG
- default CPU_V7 || CPU_V7M || CPU_V6 || CPU_V6K || CC_IS_CLANG
+ bool "Use the ARM EABI to compile the kernel" if CPU_SA110 || CPU_SA1100
+ default y
help
- This option allows for the kernel to be compiled using the latest
- ARM ABI (aka EABI). This is only useful if you are using a user
- space environment that is also compiled with EABI.
+ The Arm EABI is the default ABI on all modern Linux
+ distributions, replacing the obsolete and "OABI" that was
+ commonly used on ARMv4 distributions before ca. 2013.
- Since there are major incompatibilities between the legacy ABI and
- EABI, especially with regard to structure member alignment, this
- option also changes the kernel syscall calling convention to
- disambiguate both ABIs and allow for backward compatibility support
- (selected with CONFIG_OABI_COMPAT).
+ Everyone should enable this, as support for OABI user space
+ was dropped in gcc-4.8 and most distributions after ca. 2013.
+
+ Support for OABI mode will be removed from the kernel
+ once Intel StrongARM CPUs are phased out.
config OABI_COMPAT
bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
depends on AEABI && !THUMB2_KERNEL
+ depends on CPU_SA110 || CPU_SA1100
help
This option preserves the old syscall interface along with the
new (ARM EABI) one. It also provides a compatibility layer to
@@ -1181,11 +1193,8 @@ config OABI_COMPAT
selected, since there is no way yet to sensibly distinguish
between calling conventions during filtering.
- If you know you'll be using only pure EABI user space then you
- can say N here. If this option is not selected and you attempt
- to execute a legacy ABI binary then the result will be
- UNPREDICTABLE (in fact it can be predicted that it won't work
- at all). If in doubt say N.
+ Support for OABI_COMPAT will be removed from the kernel
+ once Intel StrongARM CPUs are phased out.
config ARCH_SELECT_MEMORY_MODEL
def_bool y
@@ -1394,19 +1403,22 @@ config ARCH_WANT_FLAT_DTB_INSTALL
config ATAGS
bool "Support for the traditional ATAGS boot data passing"
- default y
+ depends on EXPERT
help
- This is the traditional way of passing data to the kernel at boot
- time. If you are solely relying on the flattened device tree (or
- the ARM_ATAG_DTB_COMPAT option) then you may unselect this option
- to remove ATAGS support from your kernel binary.
+ This is the traditional way of passing data to the kernel at
+ boot but is now only used by a few of the oldest ARMv4 and
+ ARMv5 machines. Users that still rely on ATAGS should plan
+ on migrating to devicetree based booting.
+
+ Support for ATAGS will be removed when the last machine using
+ it is either converted to DT or removed.
config DEPRECATED_PARAM_STRUCT
- bool "Provide old way to pass kernel parameters"
+ bool "Provide old way to pass kernel parameters (DEPRECATED)"
depends on ATAGS
help
This was deprecated in 2001 and announced to live on for 5 years.
- Some old boot loaders still use this way.
+ It is now scheduled for removal in early 2027.
# Compressed boot loader in ROM. Yes, we really want to ask about
# TEXT and BSS so we preserve their values in the config files.
@@ -1652,16 +1664,16 @@ menu "Floating point emulation"
comment "At least one emulation must be selected"
config FPE_NWFPE
- bool "NWFPE math emulation"
+ bool "NWFPE math emulation (DEPRECATED)"
depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
help
Say Y to include the NWFPE floating point emulator in the kernel.
- This is necessary to run most binaries. Linux does not currently
- support floating point hardware so you need to say Y here even if
- your machine has an FPA or floating point co-processor podule.
- You may say N here if you are going to load the Acorn FPEmulator
- early in the bootup.
+ This is only used on OABI userspace binaries, either using a
+ pure OABI (!CONFIG_AEABI) kernel, or the OABI emulation.
+
+ Support for NWFPE will be removed in the future when OABI
+ support is removed.
config FPE_NWFPE_XP
bool "Support extended precision"