5 ms·
Why is Macintosh II still being worked on but 386 support got killed? I genuinely want to know. I suppose it might be because 386 requires more gymnastics aroun
by Hydraulix989 6y ago
Why is Macintosh II still being worked on but 386 support got killed? I genuinely want to know. I suppose it might be because 386 requires more gymnastics around systems programming for memory management, etc.
- LukeShu 6y agoThey keep things around as long as someone is using it and someone is willing to maintain it. Apparently, there are still nerds out there willing to maintain the Mac II support, but none willing to maintain the 386 support.
- skissane 6y agoMy speculations: (1) there are people who are so keen on keeping 68K/Macintosh/etc support alive that they keep on working on it, while maybe no one displayed the same keenness when it came to 386 (2) 386 complicates code paths for 32-bit x86, which people still care about (even if only a little) for real world production use. By contrast, 68K stuff sits in its own directory tree and has little impact on the rest of the kernel
- zozbot234 6y ago> (2) 386 complicates code paths for 32-bit x86, which people still care about (even if only a little) for real world production use. I don't know how much of a concern this is IRL, given that one could hide essentially all 386-specific workarounds behind #ifdef's.
- innocenat 6y ago386 specific workaround code still needed to be updated if relevant part of the code is updated. If you look at the patch the remove 386 support (http://lkml.iu.edu/hypermail/linux/kernel/1212.1/01152.html http://lkml.iu.edu/hypermail/linux/kernel/1212.1/01152.html), you can already see that it's already under #ifdef. There are quite a number of atomic instructions not available for 386 which all requires workaround.
- zozbot234 6y agoLooks like that code could have been refactored to be better self-contained. Though I suppose removing it altogether is a fine way to go about it; it can always be reintroduced in the future if folks commit to maintaining the support going forward.
- duskwuff 6y agoThe 386 lacked support for some basic atomic primitives like CMPXCHG. It was possible to work around this, but it took a significant amount of extra code for a configuration that was essentially extinct in the wild. The presence of these workarounds was an obstacle to maintenance of other x86 code. Meanwhile, the presence of a driver for an old Macintosh system is hardly an obstacle to anyone.
- cbmuser 6y ago> Why is Macintosh II still being worked on but 386 support got killed? Because developers care about Motorola 68000, but no one cares about i386. No one wanted to step up to work on support for the original i386, so it got removed.
- pantalaimon 6y agoThere are no new m68k CPUs so you don’t have to make compromises between supposing new hardware and legacy one - there is only legacy hardware and the platform will not change anymore.
- yjftsjthsd-h 6y ago> There are no new m68k CPUs You'd think so, but: https://wiki.apollo-accelerators.com/doku.php/apollo_core:start https://wiki.apollo-accelerators.com/doku.php/apollo_core:st...
- Lammy 6y agoADB is the main input bus for any Apple desktop computer made from 1987 until 1999, and any PowerBook/iBook (internal kb/trackpad only) on into the fisrt few years of the 2000s. It's not really relevant for Phoronix to call it "work for the Macintosh Ⅱ" for any reason but to anchor the 1987 release date to that model.