Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Intel Linux Hardware

The Linux Kernel May Finally Phase Out Intel i486 CPU Support (phoronix.com) 154

"Linus Torvalds has backed the idea of possibly removing Intel 486 (i486) processor support from the Linux kernel," reports Phoronix: After the Linux kernel dropped i386 support a decade ago, i486 has been the minimum x86 processor support for the mainline Linux kernel. This latest attempt to kill off i486 support ultimately arose from Linus Torvalds himself with expressing the idea of possibly requiring x86 32-bit CPUs with "cmpxchg8b" support, which would mean Pentium CPUs and later:

Maybe we should just bite the bullet, and say that we only support x86-32 with 'cmpxchg8b' (ie Pentium and later).

Get rid of all the "emulate 64-bit atomics with cli/sti, knowing that nobody has SMP on those CPU's anyway", and implement a generic x86-32 xchg() setup using that try_cmpxchg64 loop.

I think most (all?) distros already enable X86_PAE anyway, which makes that X86_CMPXCHG64 be part of the base requirement.

Not that I'm convinced most distros even do 32-bit development anyway these days.... We got rid of i386 support back in 2012. Maybe it's time to get rid of i486 support in 2022?

Towards the end of his post, Torvalds makes the following observation about i486 systems. "At some point, people have them as museum pieces. They might as well run museum kernels. "
This discussion has been archived. No new comments can be posted.

The Linux Kernel May Finally Phase Out Intel i486 CPU Support

Comments Filter:
  • Commercial OS (Score:5, Insightful)

    by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Monday October 24, 2022 @06:56AM (#62992981) Homepage Journal

    If nobody is willing to pay for it, and nobody is willing to do it for free, then it might as well go away as it's clearly not all that important.

    If there's some maintenance need then somebody can pay to maintain a fork, and backport security patches.

    • Re:Commercial OS (Score:5, Interesting)

      by slaker ( 53818 ) on Monday October 24, 2022 @07:18AM (#62993013)

      A guy I know from college is still checking and maintaining 486 compatibility on his mid-90s era 486/33. He's been doing it since pre-1.0 Linux. Not the most glamorous volunteer work, but it's astonishing to think that he's been doing it for almost 30 years for no other reason than his own amusement.

    • Comment removed based on user account deletion
      • Re:Commercial OS (Score:5, Informative)

        by ShanghaiBill ( 739463 ) on Monday October 24, 2022 @10:30AM (#62993547)

        Is there an embedded microcontroller that has the entire ISA on it?

        There are embedded systems still being made that use 486s.

        VXIpi-486 Model 500 [apexwaves.com]

        TS-4400 [embeddedts.com]

      • by Bert64 ( 520050 )

        There were plenty of later 486s with PCI slots, and there are plenty of PCI to USB2 controllers out there that should be compatible with them. I'm not sure if there are any PCI implementations of USB3, and certainly no PCIE for 486s.

        The 486 topped out at 100mhz (DX4) I believe, other manufacturers might have made faster ones. And while a 486 isn't going to drive a modern wifi card or gigabit network adapter at full speed, being compatible enough to actually join the network is useful even if you can't satur

        • For what it's worth, the m68k was used in industrial equipment all over the world for decades. It would make sense to keep support for that, as there is probably still active equipment being used with 68030+ CPUs.

          Maybe it's because we're so used to so many bad phone-home behaviors from literally every other piece of software out there, but I'm a little surprised Linux doesn't have some kind of basic hardware survey for what it's being installed on, just so they can see if anyone is actually installing mode

      • by jvkjvk ( 102057 )

        >I think a better issue is what exactly are features a modern kernel has that are likely to pose an issue to 486 users if they don't have them.

        Security updates that have not been backported, or will not be backported? Or will there be a dedicated group who spins up a fork of the last 486 kernel and does all that?

  • by williamyf ( 227051 ) on Monday October 24, 2022 @07:11AM (#62992999)

    Make a chronogram/roadmap so that every 3 years, Linux get's rid of a bunch of x86-32 only Processors:

    Now, asking for cmpxchg8b
    In 3 years time ask for true PAE (and not the PSE of the OG Pentium)
    In six years ask for 32 bit SSE support or some other instructions in 32 bit to weed out some other 32Bit only x-86
    In 9 years time ask for SSE2 support to weed out another chunk of 32bit only processors
    In 12 years time as for some other instuction(s)... lather rinse repeat, until all 32 bit only x-86s are weeded out.

    • by sinij ( 911942 )
      Fully agree, while supporting legacy hardware is admirable, supporting MUSEUM hardware is a waste of resources.
    • by AmiMoJo ( 196126 )

      I guess it depends if there are any significant use cases for Linux on machines that don't support those features, and if not supporting them has any benefits.

      Older machines tend not to be running the latest software, or internet facing and in need of security fixes. It doesn't make much sense to run a 486 server when you can get a much better one literally for free. There is always BSD too.

      This got me thinking about how valuable 32 bit support is, vs. 64 bit only. There are still a lot of ARM devices with

      • by Bert64 ( 520050 )

        Oddly enough, MIPS was actually one of the first architectures to have 64bit support - back in 1991 with the R4000.

    • There are many embedded industrial systems that use Vortex86 chips which are generally i586 with some i686 extras. So long as lots of new chips are being put into embedded industrial systems then they should be supported.

      Eliminating ancient code paths is nice but impairing security in industrial systems is a bad idea.

      • by caseih ( 160668 )

        Fair enough. The companies producing these products should therefor have no problems working with Linus and maintaining those specific architectures. This is already what happens for other architectures that companies base their products on.

    • by Z80a ( 971949 )

      At this point, it probably would be a better idea to create a i486 fork of the linux kernel, with everything that you won't find on a 486 machine stripped out of it.
      Those machines have tiny memory amounts if compared to modern ones, and not much of what is being added to the newer kernels apply anyway.

  • If anyone here started using Linux back in 1992 like I did.. What's great about the Linux kernel is there is support for virtually any platform.
    • Though my instinct is to agree with your point, I see it a little bit differently. Practically speaking it's becoming pretty niche to need modern support for such an ancient processor, and likely a waste of resources to continue to maintain.

      If it were important enough to somebody, they're always welcome to go create a fork and continue with it that way.
    • There's no need to support hardware simply for the sake of being able to say 'it runs on this hardware.'

      But the great thing about the Linux kernel actually isn't that it supports virtually any platform; it's that if you, personally, want it to support a certain platform, you can make it happen, if you choose to.

    • If anyone here started using Linux back in 1992 like I did.. What's great about the Linux kernel is there is support for virtually any platform.

      If there's one thing that Linux is about, it's anything that Linus damn well says it is. There's really no higher authority on it.

      Also the support for virtually any platform shall not come at undue expense. Linux still does run on any platform, just go download the appropriate version from your appropriate space in history. If you're expecting your 30 year old hardware to do something modern, don't. Linux may run on everything, but not all versions of Linux runs on everything and expecting it to is silly.

    • If anyone here started using Linux back in 1992 like I did.. What's great about the Linux kernel is there is support for virtually any platform.

      In 1992, the only arch supported by Linux was i386. The second supported architecture was alpha, in kernel 1.1.67 released on November 22, 1994. For the majority of Linux's existence, netbsd supported more architectures. Of course, there are Linux ports which have never been shared with the world, but the same is true of other operating systems as well.

  • Close call. (Score:5, Interesting)

    by Gravis Zero ( 934156 ) on Monday October 24, 2022 @08:03AM (#62993113)

    While the 486 arch is still used in some embedded industrial systems (e.g. ZFx86 [zfmicro.com]), I was far more concerned about the far more popular Vortex86. As luck would have it, all but the very earliest are based on i586 and have the cmpxchg8b instruction.

    I don't know about the rest, so I hope the embedded industrial chip makers are paying attention because Linus may be about to kneecap their products.

    • by gatzke ( 2977 )

      I think there are some radiation-hardened CPUs that are used for certain military and space applications.

      Of course, they could use old Linux or something not Linux.

  • by BeepBoopBeep ( 7930446 ) on Monday October 24, 2022 @08:09AM (#62993131)
    Apple killing X86 support in 5 years.
    • by Bert64 ( 520050 )

      Apple x86 support was very short lived, it's only really macs released in 2006 that were x86, they moved very quickly to 64bit with the second release macbook, imac and mac mini (the mac pro was 64bit from the start).
      The imac actually took a step backwards, as the G5 imac was 64bit.
      The only 32bit x86 apple ever supported was the first generation core which had SSE2/SSE3, nothing earlier was ever supported.
      They really should have skipped 32bit x86 entirely, and gone straight to 64.

  • by Quietti ( 257725 ) on Monday October 24, 2022 @08:48AM (#62993199) Journal

    The few distros that still support 32-bit x86 mostly do for the Geode LX and similar VIA processors that provide a barebone 686 instruction set without PAE. Heck, older Geodes are not even barebone 686, but rather 585 with all the bells and whistles. That ought to remain the base platform.

    For everyone else, there's essentially zero reason for remaining on 32-bit CPUs.

  • by poptopdrop ( 6713596 ) on Monday October 24, 2022 @08:56AM (#62993225)

    First they came for the 386, but I did not speak out because I do not run a 386 PC.
    Then they came for the 486, but I did not speak out because I do not run a 486 PC.
    Then they came for the Pentiums, but I did not speak out because I do not run a Pentium PC.
    Then they came for me, and I had no working web browser so fuck knows if anyone cared.

  • NetBSD (Score:4, Insightful)

    by jmccue ( 834797 ) on Monday October 24, 2022 @09:46AM (#62993401) Homepage
    Well another reason to use NetBSD. Plus NetBSD solved the Year 2038 Issue on 32 bit CPUs well before anyone else.
    • Plus NetBSD solved the Year 2038 Issue on 32 bit CPUs well before anyone else.

      I feel like solving a problem 26 years early is a somewhat hollow victory.

  • We need variety in OS development. Yes, I do like Linux, and yes I have been advocating its use for over 20 years now.

    However, it has practically dominated the entire open source computing. All the way from microcontrollers to large datacenters Linux is the only choice for many folks.

    It would be rather nice if we had a lightweight, but modern OS that covers pentiums (used for its reliability in NASA and other applications), and ARM0, and similar chips at the same time, with limited RAM and instruction sets.

  • If someone is still using old hardware, that is no longer on the market, then in a certain way it makes sense to lose software support for it at some point, especially in the main projects. At the same time, I am curious what businesses are still using 486 computers for and whether they really need a recent kernel for it?

    I am also curious when 386 support was kicked out of the kernel, whether any forks were created by anyone, to deal with that user base?

    For some old hardware, the Raspberry Pi seems to be th

  • I guess I'll port FUZIX [fuzix.org] to i486 and clones. Mine is a real piece of crap [dmp.com.tw], but I have four of them. (all variations of the DMP EBOX-2300)

  • I'm not a fan of "artificial obsolescence" by any means! But there's often a point reached where people will keep trying to use really obsolete computer hardware simply because they're too cheap to buy something newer/better, and/or they're too lazy to make the effort to upgrade what's still working.

    At this point in time, I can't imagine a scenario where you had a justifiable reason to keep running i486 CPUs with Linux rather than at LEAST moving up to an also way obsolete Pentium class CPU?

    You literally hi

  • I was most interested in Linus's last remark:

    That way we could finally get rid of CONFIG_MATH_EMULATION too.

    I guess that's true, Intel never made a cut-price Pentium chip with no floating point unit, and I guess none of the competing vendors did. But isn't it possible we might get CPUs without x87 floating point produced in the near future? Since if you have high-performance floating point code you will be using SSE or later instructions, and crusty old stuff calling x87 will still run acceptably fast un

    • But isn't it possible we might get CPUs without x87 floating point produced in the near future?

      Possible, but unlikely. Embedded has moved on to cheaper cores.

    • by guruevi ( 827432 )

      CONFIG_MATH_EMULATION is used in other architectures as well (PPC, RISC etc)

  • Would this break on the MiSTer FPGA AO486 core? Genuinely curious, because the core isn't exactly a 486 representation. Then again, the hardware is designed to run old software rather than modern software, so I guess the comment about "museum kernels" would equally apply.

  • The push should be to drop support for IA-32 altogether, with AMD's x86_64 ISA as the new de facto and de jure standard. It would behove the community to then re-license this legacy GPL code under the more permissive Apache License 2.0 so that the BSD community can be given the opportunity to use it. A monoculture of anything is usually bad.

If you steal from one author it's plagiarism; if you steal from many it's research. -- Wilson Mizner

Working...