News: 1746606611

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux kernel to drop 486 and early 586 support

(2025/05/07)


Kernel 6.15 is taking shape and it looks like it will eliminate support for Intel's 486 chip and its contemporaries.

The next version of the Linux kernel is progressing towards release. [1]Release candidate 5 appeared over the weekend, and we expect the kernel itself will probably arrive around the end of May or early June. What we feel is one of the most interesting changes is the removal of support for several chips from the 80486 era.

Faulty instructions in Alibaba's T-Head C910 RISC-V CPUs blow away all security [2]READ MORE

The change is a [3]patch from kernel veteran Ingo Molnar, and removes nearly 15,000 lines of code. It increases the features that an x86-32 CPU must support in order to run kernel 6.15 and later to include the [4]Timer Stamp Counter (TSC) and the [5]CMPXCHG8B instruction . The latter instruction is accidentally rather famous, to the extent that it has its own [6]Intel erratum . In certain circumstances, it returns invalid results. This is the famous "Pentium F00F bug," and at the end of last year, processor guru Ken Shirriff published an [7]extremely detailed explanation of how it happened.

The bug only affected Pentium processors with the original Intel P5 microarchitecture, which was first released in 1993. So, in other words, this change removes support for processors older than the original Intel Pentium, meaning the Intel i486 family and a handful of closely related early 586 processors, such as the [8]IDT WinChip , and [9]AMD Elan family. That includes the chips that were marketed as "485slc" processors, which were essentially a 386SX with the extra CPU instructions from the 80486 line added.

[10]US DoE wants developers to fast-track AI datacenters on its land

[11]Nuclear center must replace roof on 70-year-old lab so it can process radioactive waste

[12]Oracle JDK 24 appears in rare alignment of version and feature count

[13]Indian authorities seize loot from collapsed BitConnect crypto scam

In turn, that means that it effectively removes support for the last x86 chips that didn't include onboard hardware floating-point units, which means that the kernel can also jettison its support for emulating an FPU in software. The removal of that code makes up the majority of the parts that were deleted, but the remainder is still over 1,000 lines.

Ironically, this is happening just a few months after an intrepid coder, Mikhail Zakharov, [14]added FPU emulation back into the NetBSD 10 codebase, as he [15]described on his blog .

It has been a long time since a new version of the Linux kernel dropped support for an entire CPU family: the last occasion was when the developers [16]removed support for the 386 way back in 2012. It's also taken a while for this to happen: Linus Torvalds [17]proposed getting rid of i486 support in 2022 but it was voted out. ®

[18]

Get our [19]Tech Resources



[1] https://lore.kernel.org/lkml/CAHk-=wgjwfsyPf3SfjrPhAMJqN6brBpajQ3F9qp_TatwOs56YQ@mail.gmail.com/

[2] https://www.theregister.com/2024/08/07/riscv_business_thead_c910_vulnerable/

[3] https://lore.kernel.org/lkml/20250425084216.3913608-1-mingo@kernel.org/

[4] https://www.intel.com/content/www/us/en/docs/trace-analyzer-collector/user-guide-reference/2021-10/cpu-cycle-counter.html

[5] https://x86-isa.parsaamini.net/isa/CMPXCHG8B.html

[6] https://www.intel.com/content/www/us/en/support/articles/000008595/processors.html

[7] https://www.righto.com/2024/12/this-die-photo-of-pentium-shows.html

[8] https://www.cpu-world.com/CPUs/WinchipC6/index.html

[9] https://www.cpu-world.com/CPUs/ElanSC400/index.html

[10] https://www.theregister.com/2025/04/04/doe_ai_datacenters/

[11] https://www.theregister.com/2025/03/28/uk_nuclear_center_waste_project_delayed/

[12] https://www.theregister.com/2025/03/18/oracle_jdk_24/

[13] https://www.theregister.com/2025/02/18/india_bitconnect_seizures/

[14] https://github.com/mezantrop/i486SX_soft_FPU

[15] https://mezzantrop.wordpress.com/2025/02/04/netbsd-10-x-kernel-math_emulation/

[16] https://www.theregister.com/2012/12/12/linux_no_longer_runs_on_386_cpus/

[17] https://lore.kernel.org/lkml/CAHk-=wikUaRM5H_y1Bc+QyvGi40dKDL8fnCTyz7ECbwK7aHNPQ@mail.gmail.com/

[18] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aBsvPk8kYPLX6harNY0gqQAAABU&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[19] https://whitepapers.theregister.com/



Hubble Telescope.......

Anonymous Coward

....uses both Intel 386 and Intel 486 processors.

They may be obsolete.......but they are still doing sterling work!

Why would Linux remove support for useful (but old and obsolete) processors?

P.S. Coincidence - Hubble and Linux are approximately the same age!

Re: Hubble Telescope.......

imanidiot

Because keeping support for those processors means 15.000 lines of code that have to be kept in the kernel and maintained, including all relevant interfaces and drivers. It's a lot of work for processors that are probably not that commonly used anymore. Even in embedded applications I doubt it's nearly as abundant as it once was. Nor am I aware of anyone still making 486 instruction set processors new. Sure there's still processors out there that are doing fine work, and they can keep going for a long time on the current kernel version. But there comes a point were supporting (very) old instruction sets just isn't worth the effort.

"anyone still making new"

demon driver

"Nor am I aware of anyone still making 486 instruction set processors new" – I never thought that would come to be a criterion for whether Linux should support a processor or not. When I started to become interested Linux, one of the reasons that actually did make it interesting was the fact that it supported a plethora of old and new architectures and processors some of which I hadn't even heard about.

Re: "anyone still making new"

Charlie Clark

Linux has always been pretty pragmatic about hardware support, but the move towards x86_64, ARM-64 and all the new hardware devices do make maintaining a monolithic kernel more demanding. NetBSD is the OS that has always championed maintaining support for as many architectures as possible, but this comes with its own price.

Re: Hubble Telescope.......

Charlie Clark

It only affects future versions of the OS. Existing ones will be just fine and, especially if you're running 386es you probably don't want anything new due to increased demands on memory, etc.

Re: Hubble Telescope.......

jake

Virtually every version of the Linux kernel that has ever been released is still available for download, and likely will be until after the heat-death of the Universe. All your old hardware will still be runnable for a very long time.

Also, note that the 6.12.x SLTS Kernel will be supported until 2037, or thereabouts.

Most people have absolutely no reason whatsoever to be running the latest, bleeding edge kernel available. This is doubly true of scientific equipment.

NB: The HST design process was started officially in 1977, when Linus was 8 years old. It was launched and in operation in 1990, about a year and a half before Linus unleashed Linux on the unsuspecting planet. HST does not run Linux, it runs a RTOS called VRTX.

wolfetone

I'm being a bit dim today - but does this mean that the new kernel won't run on newer 486 chips that you can buy that power embedded systems?

jake

There is nothing stopping you from choosing a down-rev version of Linux if you want to run an "obsolete" core.

However, note that many (most) embedded systems don't use Linux.

What's the benefit?

rgjnk

If you dig through the kernel there's support for all sorts of weird & wonderful stuff, and while it might keep those with a tidiness fetish happy to scrap 'obsolete' stuff the benefit is normally minimal - there's rarely any ongoing maintenance effort involved on those chunks of code and as you already have *many* branches of CPU support in the kernel there usually isn't any wider simplification as you still have to cope with all the other processors & their needs & features.

Plus as has been mentioned embedded 486 isn't completely dead yet.

So is this genuinely useful or just a cleanup for the sake of it? Using lines deleted as the metric suggests the latter.

Re: What's the benefit?

jake

Because the vast majority of people/uses have no use for the old stuff ... and support for the old stuff will continue on as it always has, with no need for modern hardware support.

IOW, if you have the need, just use an older kernel. They are not going anywhere any time soon.

It's not broken, you silly boy.

- Linus Torvalds offending people on the gcc mailing list