Linux Will Remove Support for Dozens of ARM Chips. What's Happening?

plan. Details are under the cut.

What is the plan?

Bergman proposes a “great purge” of the Linux kernel and the GNU Compiler Collection (GCC) compilers, a set of compilers for programming languages ​​within the GNU Project. GCC is open source software. It is distributed by the Free Software Foundation under the terms of the GNU GPL and GNU LGPL.

In short, Bergman first wants to remove support for ARMv3 (ARM6 family) and ARMv4 (ARM 11). These chips appeared at the end of the 20th century and have long since lost their relevance. Some processors based on the ARMv3 and ARMv4 architectures are still occasionally used, for example, in StrongARM and FA526. But these are already echoes of the past.

In the case of ARMv4, Bergman believes that support should be cut from compilers at the first stage, and only then, in a few years, from the Linux kernel. Another architecture, ARMv7-M, is planned to be eliminated in 2027. Its development was stopped in 2017.

In 2023, experts analyzed the kernel and calculated how much it could be lightened by removing support for outdated technologies. It revealedwhich is 154 thousand lines of program code. Bergman, unfortunately, did not conduct similar calculations, but the volume of “cleansing” is probably about the same.

The author of the project recommends not to introduce changes immediately, but to get rid of outdated technologies systematically – from those that are not at all relevant at the present time to those that are sometimes used.

What architectures will be removed

The plan contains detailed information about architectureschips and extensions that Bergman suggests removing:

  • ARMv3 – her support has already been removed from GCC 9;

  • ARMv4 — the architecture was abandoned in Debian 5.0. According to the plan, ARMv4 support will be discontinued first in GCC, and in a few years — in the kernel;

  • ARMv4T — currently there are six SoC families with ARM720T, ARM920T and ARM922T cores. They are more common than the representatives of the above-mentioned architecture. Bergman suggests getting rid of support for the technology in the core, but not earlier than ARMv5;

  • ARMv5 — the architecture is used on about a third of all platforms supported in the kernel. It would seem that everything is fine, but no: almost all of them are close to the end of their life cycle. Due to the lack of FPU and atomic operations, maintaining support in Debian, for example, is becoming increasingly difficult. So, perhaps, the Debian port for ARMv5 will soon be transferred to the unofficial list;

  • ARMv6 — it is planned to get rid of only the initial generations of chips of this architecture, including ARM1136r0p (NXP i.MX31) and OMAP24xx (Nokia N8xx);

  • ARMv6K — used in ARM1176 (Raspberry Pi 1, AST2500) and ARM1136r1 processors;

  • ARMv7-M — still used in microcontrollers based on Cortex-M3/M4/M7. These are the last of the Mohicans, meaning they are supported in the core by chips without an MMU. Bergman proposes removing support for ARMv7-M in 2027, 10 years after the development of chips with this architecture stopped;

  • iWMMXt — the Linux kernel no longer supports some chips based on this architecture, including the ARMv7 PJ4 CPU (MMP2, Berlin). Support for iWMMXt has been discontinued in Clang, and it is proposed to be removed from GCC as well;

  • BE32 (big endian ARMv5) is a rare architecture, on the basis of which only the Intel IXP4xx SoC is built. The author suggests removing support for the technology from both GCC and the kernel;

  • BE8 (big-endian ARMv7) – many drivers have problems, so it is also proposed to cut it. Testing is not conducted, and there is no information about devices that work on the basis of chips.

The plan is still being discussed, there is no final decision. The author suggests not to delay it, but to start work on cleaning the Linux kernel already from version 6.12. The stable distribution is planned for December 2024.

Not only ARM

Linux developers are getting rid of the legacy of the past not only in the form of ending support for old ARM-based chips. They are doing the same with respect to aging x86 processors. At the very end of last year, Linux 6.7 deleted code responsible for supporting Intel Itanium chips based on the IA-64 architecture. The initiator of that purge was Linus Torvalds himself. Back in 2021, he called these chips “dead.”

And in 2022, he also proposed removing the Intel i486 processors. According to Torvalds, the technology is hopelessly outdated, so all code related to them should be removed from the Linux kernel. Well, support for i386 was removed back in late 2012, so i486 lasted quite a long time.

What do you think about the “great Bergman purge” and its possible consequences?

You can also read:

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *