PowerPC 601 Support Being Retired in Linux 5.10 – The First 32-Bit PowerPC CPU
phoronix.com
phoronix.com
Because as a former owner of an Itanium[1] I can say that even when a processor is "officially supported" upstream, unless a critical mass of people actually use it there are lots of weird regressions. Debian/ia64 at the time (2015) only partially worked - lots of common utilities would randomly segfault or fail in peculiar ways.
[1] https://rwmj.wordpress.com/2014/09/08/raise-the-itanic/ https://rwmj.wordpress.com/2015/05/03/raise-the-itanic-part-...
Even 32-bit x86 has been having some of those weird regressions these past few years.
"It compiles, it runs! No smoke tests. libc is busted? oh well, patches welcome!"
$ grep Umask /proc/self/status
Umask: 0002
I had to also submit a test to go along with it. I understand that these are run by CI on the main architectures, although it didn't appear to be a condition of accepting the patch that the test was correct on all arches. Also I wonder if their CI really runs on PPC601 and IA64, I guess probably not. (Obviously this minor feature doesn't depend on the arch and it's hard to see how it could go wrong even on IA64).It works reasonably well these days, albeit not perfect.
There are issues with kernels >= 4.15 on larger NUMA systems, but otherwise it runs mostly fine.
Images can be found here:
Also does seem that 32bit support is on the way out, slowly but surely.
Though 32bit will be around for a while in some flavour or another, much like IPv4, it just hangs in there working away.
I would be very, very surprised if 32bit support was on it's way out any time soon.
E500 cores are basically 603e, and they don't really seem to be going anywhere.
Killing off the early non standard core that no one has used in decades anymore is one thing, but 32bit PowerPC support in general sounds like crazy town to me.
Both run the standard Debian powerpc port with a kernel with FPU emulation enabled.
There used to be a powerpcspe in Debian which I maintained where even Rust worked after I added target support to the Rust compiler (and one very talented FreeBSD developer improved the LLVM backend).
However, GCC upstream decided to kill off the powerpcspe port for GCC 9, so we had to drop it in Debian.
Nah, we're currently even adding LLVM/Rust support for m68k, so don't worry, 32-bit support isn't going anywhere soon.
"The PowerPC 601 code also requires special handling from the rest of the PowerPC 6xx support still within the kernel, thus it's a maintenance burden."
so yes some differences.The PowerPC 601 is functionally quite similar to modern 32 bit PowerPC.
Or should we call the Z80 a 16 bit processor?
Z80 is classified as an 8-bit processor because it has an 8-bit internal data bus to the register file.⁽¹⁾
This is visible in instruction timings: 16-bit INC BC takes longer than 8-bit INC B because the 16-bit register access takes two internal data cycles compared with one internal cycle for 8-bit.
Intel 8086 is classified as a 16-bit processor because it has a 16-bit internal data bus to the register file.
This is visible in instruction timings: 16-bit register operations generally take the same time as 8-bit register operations.⁽²⁾
⁽¹⁾ Trivia: Z80 also has a 16-bit internal address bus and 4-bit ALU.
⁽²⁾ Actually 8-bit INC AL takes longer than 16-bit INC AX, opposite way around from Z80. But that's because of a longer instruction encoding, not architecture. MOV AL,BL takes the same time as MOV AX,BX.)
I imagine they extended the ISA to 64 bits and maybe that was an opportunity for further ISA changes?
It had the first implementation of the multiprocessing unit, and lacked the load/store and registry units of all the later processors.
Obviously niche, but most amusing. Imagine a 48-core 5 GHz MacPro G5.
That said I love the idea from the perspective of a wonderful hack, but I truly hope no one actually has a use case where running classic Mac OS on modern hardware makes sense.
Interesting chronology for mac/amiga users either way; PPC 601 getting dropped before 680x0.
Just kidding. I think I know what's going on here, and it's actually worse than that. Big company (IBM) pushing for tighter integration with their new chips (POWER10), which results in the kernel maintainers having to drop support for their old chip. Why they let a big company bully them like that is beyond me, but I guess something something IBM RedHat Kernel maintainer salaries something. :)