diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-18 19:50:40 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-18 19:50:40 -0700 |
| commit | bd5f485f3f026225b86573e559af0b7254ef4184 (patch) | |
| tree | 92b9cabbbefe9b8cee634769676b9b97238cdfc7 /arch/arm/Kconfig | |
| parent | 6eb1ea5ff48d647deb67c58b7a0e97bbf4de088a (diff) | |
| parent | acf1efa9485fda84f332c8fbbe7b4453dbec183a (diff) | |
| download | linux-master.tar.gz linux-master.zip | |
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/Kconfig | 80 |
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" |
