10 ms·
386-DX/SX support nuked from Linux Kernel
- rpm4321 14y ago"NOOOOOOOO!!!!!!!!!!!!" - No one
- astrodust 14y agoTo think that support for something so edge-case has been supported this long is remarkable. Even very basic embedded x86 processors are 80486 caliber. Those more feeble than that have no hope of running the current kernel in any meaningful fashion.
- asveikau 14y agoIn 2000, someone gave me a 386 desktop that they were about to throw out, and I ran OpenBSD on it until 2005 or so. (I was a student, so getting new hardware was more of a big deal then.) To get it working I had to recompile the kernel (which I did on a "more capable" Celeron 366) without support for newfangled hardware such as USB and PCI in order to have enough memory to boot and log in in a tolerable amount of time. (Otherwise too painful due to swap.) So I was pretty grateful at the time that it was still working, even though what I was doing was, now I can say with the benefit of hindsight, pretty crazy.
- enneff 14y agoI ran a diskless 386DX 33mhz in my bedroom for many years, because it didn't make any noise. It ran a cut-down Linux distribution based on slackware, and I used it as a terminal and for small programming tasks. I also kept it around for sentimental reasons, as it was the machine I did most of my early coding on. It didn't feel right to throw it out. So thanks, Linux, for supporting my old junk hardware as long as you did! And congrats on losing ~400 lines of crufty code.
- SoftwareMaven 14y agoI loved my Celeron. I had a 300 which over clocked amazingly well to 450Mhz. In fact, those were the last days of my "dinking" with hardware. The Pentium and beyond offered such diminishing rewards that it wasn't worth it.
- dspillett 14y agoCelerons of that era were very easy to officially overclock generally because a great many of them were underclocked by Intel. They ended up with far more of the more expensive 400+MHz capable parts than they expected to produce (presumably they were overly cautious when predicting how well the production process would work and therefor how many of the better rates chips thye'd get) but too few of the cheaper 300Mhz and 333MHz rated parts that were actually selling well - so they rebadged faster units as slower ones to fufil sales promises for the slower units. This meant buying a machine based around a Celeron 300 or 333 (often referred to as "Silly-rons" at the time) was a lottery: you might have got one that is genuaninely expected not to be stable if run much faster, or you might have got one that Intel could have sold as a 450+MHz device.
- ableal 14y agoAs a side effect, those chips also helped launch Internet publishing - sites like the improbable Toms's Hardware, founded by a German M.D. if memory serves, cut their teeth on overclocking advice and benchmarks.
- astrodust 14y agoIt wasn't so much as they were underclocked, but that Intel's process was so refined that they were often produced over-spec. The other thing that made them so easy to over-clock was that, unlike the Pentium Pro, II and III, there was no on-chip L2 cache that would malfunction at higher speeds. All you were over-clocking was the CPU. I had a dual-Celeron system that ran like a champ for the better part of ten years.
- Klinky 14y agoThe binning process where higher end CPUs are marketed as lower end parts has been going on forever. Only the first generation Celerons (which everyone hated) had no L2 cache. The second generation had 128KB of full-speed on-chip cache, which is actually why it overclocked well. The Pentium II and early Pentium III had 512KB of half-speed off-chip cache which struggled to keep up with the CPU when overclocking.
- Natsu 14y agoI still have an 8088 with a color display, dot matrix printer, math coprocessor, maxed out RAM (64 KB? I don't even remember) and a 10 MB hard drive + dual disk drives. I should see if it actually boots someday....
- dalke 14y ago640KB was the max RAM. My first PC was the same configuration, except I had a 32MB drive. Oh! And towards the end I had both a CGA and Hercules card so I could have two screens.
- huxley 14y agoPCs released after the XT could be configured with up to 640KB but the original IBM PC was limited to a max of 256KB (entry level config was 64KB).
- yuhong 14y agoOn the motherboard. You could still add RAM using ISA cards.
- dalke 14y agoTo confirm, http://www.pcworld.com/article/237878/can_you_do_real_work_with_the_30_year_old_ibm_5150_.html http://www.pcworld.com/article/237878/can_you_do_real_work_w... shows a model 5150 (it's the only model with a cassette port on the back) which has 640K of RAM.
- dalke 14y agoIt looks like the model 5150 didn't come with a hard disk, and the only official support for that was through the IBM 5161 Expansion Chassis. I think the author would have commented having an external drive for a PC, so I think it's safe to assume at least an XT equivalent. (I've been searching for images of the chassis but to no success. I've never seen one, nor heard of it before today.) And in the other direction, a PC Jr (also an 8088) maxed out at 128 KB, according to my references, though Wikipedia says there were third-party extensions to 736K. In any case, the Jr doesn't support the 8087 math coprocessor, so that's not what the author has.
- petercooper 14y agoTangential trivia: MRI Ruby still has compiler directives and, supposedly, support for the Atari ST. Always weird bumping into them when going around the codebase. No idea if it actually works or why it's even a thing.
- mahmud 14y agoGNU CLISP, an small portable Common Lisp implementation supports Acorn RISC OS, NeXT, Amiga and OS/2. http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/ http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/
- robin_reala 14y agoRISC OS is still going (they just released a Raspberry Pi build) and OS/2 morphed into the commercial eComStation that is actively maintained. NeXT is dead though and Amiga fractured.
- ynniv 14y agoNeXT is dead Didn't you get the memo?
- robin_reala 14y agoOK, fair point :)
- pdw 14y agoSupport is a bit exaggerated, the 386 option hasn't compiled since the 3.2 release due to unconditional use of 486-only instructions (https://bugzilla.kernel.org/show_bug.cgi?id=44931 https://bugzilla.kernel.org/show_bug.cgi?id=44931). Who knows if it actually worked before that.
- lmm 14y agoIt was working in '07; I gave up maintaining that system when glibc went 486-only.
- jmspring 14y agoThe 386sx was a fun processor. Lack of a math coprocessor was fun to work around. I'm surprised support lasted this long.
- maximilianburke 14y agoAll 386's lacked the math co-processor, the SX just had a 16-bit data bus.
- sageikosa 14y agoYep. The 486SX was the 486 with disconnected math processors that failed quality control. The coprocessor "487" upgrade chip was simply a fully working pin incompatible (only fit in the upgrade slot) 486. On the 386 line, the SX/DX distinction was the equivalent of the 8088/8086 distinction for data bus width (NOTE: the 8086 was the wider processor, the cheaper 8088 was in the IBM PC).
- jmspring 14y agoYeah, I meant the 486sx, but the little grey cells were not up to snuff when posting that apparently. I got a fair amount of grief about not having a math co-processor due to some programming friends and I were doing at the time. That said, those were the formative days where getting dirty and playing with your machine (building your own rig) started for me. I've since given that up since most machines are fast enough these days for my uses.
- fsiefken 14y agoi remember using a coprocessor emulator i downloaded from a bbs, it actually worked in speeding up astronomical calculations!
- deleted 14y ago[deleted]
- frogurt 14y agoI would have thought that support for this architecture would have been useful to keep, since a lot of rad-hardened systems (think space, satellite applications) still use it.
- steevdave 14y agoA rad hardened machine won't be running 3.7, or 3.6.x for that matter. They will be running something a bit older with (guess I don't know for sure) security patches being back ported as needed.
- Moto7451 14y agoI'd think that most of them would be using a RTOS like VxWorks or QNX.
- primitur 14y agoLinux is used in a lot of places these days, where VxWorks or QNX might've been. I've been responsible for putting Linux to work in SIL-4 critical systems all over Europe, for example, saving millions in licensing costs while at the same time, getting Linux certified for safety-critical apps. It really is taking over.
- stusmall 14y agoWhats the current state of the real-time patches for linux? Last I'd talk to someone about them, this was a while ago, they felt a bit sub-par. From a developer's point of view is it as easy to work with and predictable as VxWorks?
- primitur 14y agoSure, its easy to work with. Just don't always try to work with the latest, bleeding edge kernels. Most RT/Safety-Critical Linux kernel installs are still based on 2.6.x, or even some cases, 2.4.x series ..
- lucisferre 14y agoWait you mean it won't run Linux now even if I press the turbo button?
- neovive 14y agoWow. I miss the turbo button. They should have been required for all computers shipping with Windows 98 through XP with the message -- "Push this button every 10 minutes if you haven't reformatted this computer after 6 months."
- deleted 14y ago[deleted]
- j45 14y ago386's were the first computers I ever used Linux on. Man. I will say this much, a 386 sx/16 was a large part of learning learn how to get so much done with so little resources. It's amazing how Linux was more efficient than windows even then, while the decade of driver drought was being bridged.
- deleted 14y ago[deleted]
- kzrdude 14y agoIsn't this the platform Linus used for Linux when he started too?
- pdw 14y agoThat's what Ingo is referring to. "Unfortunately there's a nostalgic cost: your [i.e. Linus'] old original 386 DX33 system from early 1991 won't be able to boot modern Linux kernels anymore. Sniff." Turns out Linus is not the nostalgic type.
- tytso 14y agoI sent my original 40 Mhz 386 that I used when hacking Linux 0.12 back in 1991 to be recycled last year, after it was displayed on exhibit at Linux's 20th year anniversary party. I tried to see if anyone (like the Computer Museum) wanted it, but ultimately, I'm not the nostalgic type either.
- Turing_Machine 14y agoYep, same here, 386 SX/16 FTW, installed from floppy images created with rawrite. "Distro"? What's that? :-) That said, it's time. Long past.
- jrmski 14y agoNostalgia is not as good as it used to be anyway.
- frozenport 14y agoI wonder if this has implications for the Intel MIC, whose processors are not dissimilar to the 386. Maybe run a 64 cluster on a single chip?
- Moto7451 14y agoMICs are actually roughly based on an updated Pentium 1 (P54) platform so it won't matter. http://m.extremetech.com/extremetech/#!/entry/intels-50core-champion-indepth-on-xeon-phi,50a7077394f4be71692bda10/3 http://m.extremetech.com/extremetech/#!/entry/intels-50core-...
- bdcravens 14y agoThis change affects specific architectures, without regard to how they perform.
- smegel 14y agoI never really got why back support should be an issue - its all x86 instructions, if only a subset of what is used today right? I'm curious to know exactly what makes supporting old cpus so hard.
- yuhong 14y agoThe x86 features in question are relatively small but pretty important nowadays. CMPXCHG and XADD are important atomic operations, for example.
- bdonlan 14y agoIt's not just instructions - it's CPU bug workarounds, too. For example, some 386s did not honor the write-protect bit in the page table when in supervisor mode. Now, since Linux normally does copies from kernel to userspace by writing straight to userspace and letting the WP bit detect writes to read-only memory, it's a problem if the WP bit doesn't work (it'd let you overwrite write-protected userspace memory). So Linux had a check that tested (at boot time) whether WP worked properly in supervisor mode, and if so it would set a flag to perform a slower, software-checked copy. This adds overhead to _every_ copy from kernel to userspace, as it needs to check this flag, and branch to the fallback implementation.
- daeken 14y agoThat seems... odd. Why wouldn't you just swap implementations at startup, if it's a non-negligible performance hit?
- dietrichepp 14y agoHow? If you use function pointers, you end up paying more than the cost of a branch.
- daeken 14y agoSimplest way: have two implementations, copy the proper one into place (and relocate if necessary). No overhead.
- JeremyMorgan 14y agoI love old hardware big time, but if the current kernel can be trimmed up, let's do it. Those older machines probably shouldn't be rocking the latest kernel anyway. I'm typing this from a 2004 PPC Powerbook running Ubuntu 10.04. There are a lot of packages and software I simply can't get anymore. But it's ok, because it doesn't have the power to run them anyway. It's frozen in time, and I know that. Anyone running on relying on 386 stuff should just stick with the older software that's working and pray they don't have a hardware failure. If the kernel starts packratting stuff it's going to be bloated and huge and it will hinder future development. Maybe they should set a time limit on stuff, like 10 years before they drop support, or maybe 15 for the military and law offices.
- pjmlp 14y agoThe 386SX 20 MHz was the first PC I got to buy after my trusty Timex 2068. Along with some Amiga 500 and Amstrad PCW at school and friend's places. Oh I'm becoming a bit nostalgic.
- agildehaus 14y agoI ran Windows 95 on a 386 SX 16MHz for a few months. Not amazing speed-wise, but it worked. Amazing little processor for its time.
- yuhong 14y agoYea, it is unfortunate MS ended up screwing the move to protected mode so badly that it took 10 years after its release in 1985 before 32-bit programming became popular. While Intel waiting until 1988 to release the SX didn't help, look up the MS OS/2 2.0 fiasco (begin with "MS OS/2 2.0 SDK" and "Microsoft Munchkins") for some pretty horrible history.
- ck2 14y agoThere are always LTS older builds. http://xkcd.com/619/ http://xkcd.com/619/
- jdelsman 14y ago386-DX was my first PC. This is incredibly sad, even more so because it makes me realize I'm getting old!
- neovive 14y agoI remember my first Gateway 2000 / 486 DX2 Tower. They computer was so big, all of my friends were envious.
- fsiefken 14y agoi still have an old toshiba 386 laptop i used 20y ago, pretty much outdated and outperformed by current hardware. I could run the latest linux on it but I am not sure linux 3.7 can be made to run comfortably in 4 MB ram.
- Greynum 14y agoEven The Hubble Space telescope had it's processor upgraded to a 486 from a 386 and it's in space. http://www.theregister.co.uk/1999/12/27/hubble_telescope_gets_intel/ http://www.theregister.co.uk/1999/12/27/hubble_telescope_get...
- jfreak53 14y agoJust run older Linux software if it's that's important to run. There are old archives of Linux out there to download, I myself still have Mandrake 6 and FreeBSD 3.0 laying here in my cabinet ha ha, for just such an occasion ;) Or in that case download Ubu 5 and get it up and running, sure no updates but it'll run :)
- kragen 14y agoLast time I tried to install Linux on a 386 (in 1998 or so) I couldn't get it to boot anyway. I never did figure out what the problem was. The existing Windows installation ran fine.
- marris 14y agoDoes anyone know what the speculative execution notes in processor.h are talking about? The code seems to be trying to set up spec execution "barriers." What does that mean? I thought speculative execution was a micro-architecture optimization (and the speculatively executed instructions won't be retired until the processor knows that it wants the side-effects). In contrast, I've only seen barriers come up for x86 at the ISA-level (and even then, only for multiprocessors setups).