News for hackers. Stuff that matters.
Re:80286 ATX mainboard based on the IBM 5170 AT PC by pantalaimon on Wednesday November 13, 2024 @03:05AM (#42123844)
Linux runs fine without an FPU, it even has a software emulation.

It’s the hardware task switching features that the 386 introduced that it requires (and the reason why Linus got one in the first place back in the day)

Re:80286 ATX mainboard based on the IBM 5170 AT PC by rep_lodsb on Wednesday November 13, 2024 @05:17AM (#42124728)
Hardware task switching was introduced on the 80286. And no modern OS - including Linux, except for the earliest versions - uses it, because the way it is implemented, the mechanism will do a lot of unnecessary duplicate work (preserving "garbage" register contents from just before the kernel is about to return to user mode, and will consequently have to restore them itself).

The only situation where it would be required to use this misfeature is for handling exceptions like stack overflow in the case that they can occur in kernel mode. A "Task State Segment" is really more like a pre-allocated stack frame anyway, the CPU puts active ones in a linked list and does not allow freely switching between them, only returning to the outer level.

x86-64 does not have hardware task switching anymore, instead it is now possible to switch to another stack on an exception or interrupt, which is all that the TSS was used for in practice anyway.

Re:80286 ATX mainboard based on the IBM 5170 AT PC by actionfromafar on Wednesday November 13, 2024 @09:00AM (#42126152)
Linux started on 80386.
Re:80286 ATX mainboard based on the IBM 5170 AT PC by rep_lodsb on Wednesday November 13, 2024 @09:24AM (#42126329)
Where am I disagreeing with that? Hardware task switching already existed on the 16-bit 80286, and remained supported on newer generations until being finally removed in x86-64. Early versions of Linux did use it for a time, but doing it in software turns out to be faster, because the mechanism was badly designed for what a general-purpose kernel has to do.
Re:80286 ATX mainboard based on the IBM 5170 AT PC by actionfromafar on Wednesday November 13, 2024 @11:09AM (#42127269)
Sorry, I see now that your comment could be read both ways, and my misinterpretation was actually a bit far-fetched.
Re:80286 ATX mainboard based on the IBM 5170 AT PC by lproven on Thursday November 14, 2024 @08:58AM (#42136179)
> It’s the hardware task switching features that the 386 introduced that it requires

Nope.

8086 and 80286 multitasked fine.

It was memory management hardware that came in with the 80386. You need that for virtual memory.