Arnd Bergmann, responsible for kernel packages in SUSE, has made a second attempt to clean up the Linux kernel of code supporting outdated ARM platforms that are rarely used and hinder the maintenance of current subsystems. The first attempt was made in August 2024, but it stalled despite kernel developers agreeing to proceed with the cleanup in 2025 or 2026 after establishing the corresponding LTS branches of the kernel. In the second set of patches, Arnd updated the information and added warnings in the configuration files about transitioning platforms to the deprecated category. The actual removal of the flagged platforms is proposed for kernel 7.4, expected in early 2027.
Scheduled for removal:
- All platform support files not transitioned to using the Device Tree structure. An exception will be made only for the OMAP1 and S3C platforms (ARCH_S3C64XX), as the code for supporting OMAP1 is being transitioned to Device Tree, and S3C boards are still actively used. Additionally, support for the ATAGS (ARM Tag-Area) structure, which was used to transmit configuration information prior to Device Tree, will be disabled by default.
- Support for the extended instruction set iWMMXt, which has been deprecated since GCC 14.
- The ARMv6/ARM1136r0 architecture, used in SoCs such as ARM1136r0p (NXP i.MX31) and OMAP24xx (Nokia N8xx). The removal does not affect the ARMv6K architecture (ARM1136r1/ARM1176).
- Microcontrollers based on Cortex-M3/M4/M7 processors (stm32, imxrt, lpc18xx, samv7) — the last supported chips in the kernel without a memory management unit (MMU).
- RiscPC — the oldest platform supported in the kernel.
- LSI Axxia platforms.
- An emulator for performing floating point operations NWFPE (No Floating Point Emulator), OABI, and compatibility mode with OABI (OABI_COMPAT), allowing executable files compiled for OABI to run on a kernel with EABI. These subsystems are only applied to devices with StrongARM processors based on the ARMv4 architecture and will remain in the kernel until StrongARM support is removed.
- The param_struct structure, used before ATAGS (ARM Tag-Area), was deprecated in 2001 and was scheduled for removal back in 2006.
- Marked as deprecated and non-functional (broken) support for BE8 mode (big-endian ARMv7), which is not planned for removal yet, as it is of interest for testing user space components on big-endian systems. Support for the big-endian variant of ARMv5 remains, as it is used in ixp4xx processors that are currently in use.
Additionally, the Linux kernel 7.3 intends to remove the EFS filesystem, which was used in early versions of the IRIX operating system, has not been utilized for about 30 years, and has not been maintained for over 20 years. For those who need access to information on partitions with EFS, there are utilities available that work in user space.
Work has also begun to discontinue the use of the 32-bit rdmsr() interface in the kernel for accessing MSR (Model Specific Register) registers in the CPU, allowing for the separate reading of the upper and lower 32-bit values from 64-bit MSR registers. The plan is to completely remove the 32-bit interface code and transition the kernel to the 64-bit rdmsrq() interface, which will enable the replacement of all high-level macros accessing MSR with inline functions.
Source: opennet.ru
