A Linux kernel developer has asked that support for the i386 specifications be removed from the upcoming Linux kernel 3.8 and Linus Torvalds readily agreed.
The pull request is quite dry and right to the point and Ingo Molnar, the Linux kernel developer who made the proposition had no reservations in doing it.
Keep in mind that the i386 specifications were used by a lot of processors and not all of them were from Intel. The affected products are: AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI 486DLC/DLC2, UMC 486SX-S, and the NexGen Nx586.
“Please consider pulling the latest x86-nuke386-for-linus git tree from:
This tree removes ancient-386-CPUs support and thus zaps quite a bit of complexity: 24 files changed, 56 insertions(+), and 425 deletions(-).”
“This complexity has plagued us with extra work whenever we wanted to change SMP primitives, for years. Unfortunately there's a nostalgic cost: your old original 386 DX33 system from early 1991 won't be able to boot modern Linux kernels anymore. Sniff,” stated Molnar.
Linus Torvalds readily intervened and we all know that he’s all for removing old parts of the Linux kernel, making the work of the maintainers a little easier.
“Btw, I think we should probably at least consider taking this one step further, and remove the dear old FPU emulation support too. Remove CONFIG_MATH_EMULATION and all of arch/x86/math-emu, along with a lot of small special cases. Or do people still use the 486SX?” said Torvalds.
On the other hand, another maintainer explained (to everyone’s surprise probably), that some embedded 486 clones are still in production.
“There were a *bunch* of embedded 486 clones made, some still in production as far as I know, and I wouldn't be surprised if some of them lacked FPU. I guess we'll see,” explained H. Peter Anvin from Intel Open Source Technology Center.
Linus Torvalds has explained on numerous occasions that he’s always happy when someone asks him to remove lines of code and not put in new ones.
This recent i386 pull from the kernel shows how much junk or at least untested code still exists. All it lacks is the will to clean it up.