[HN Gopher] PowerPC 601 Support Being Retired in Linux 5.10 - Th...
       ___________________________________________________________________
        
       PowerPC 601 Support Being Retired in Linux 5.10 - The First 32-Bit
       PowerPC CPU
        
       Author : rbanffy
       Score  : 49 points
       Date   : 2020-10-09 11:18 UTC (1 days ago)
        
 (HTM) web link (www.phoronix.com)
 (TXT) w3m dump (www.phoronix.com)
        
       | rwmj wrote:
       | I wonder if anyone using Linux regularly ran it on a PPC 601?
       | 
       | 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-...
        
         | rbanffy wrote:
         | How covered by automated tests is the kernel? Some tests would
         | require hardware emulators to some degree, but a lot wouldn't.
        
         | cbmuser wrote:
         | > Debian/ia64 at the time (2015) only partially worked - lots
         | of common utilities would randomly segfault or fail in peculiar
         | ways.
         | 
         | 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:
         | 
         | > https://cdimage.debian.org/cdimage/ports/
        
         | Scuds wrote:
         | The kernel people can say one thing, userland people can say
         | another.
         | 
         | "It compiles, it runs! No smoke tests. libc is busted? oh well,
         | patches welcome!"
        
           | rbanffy wrote:
           | I made the same comment above about the kernel. How covered
           | by automated tests is glibc?
        
         | Narishma wrote:
         | > unless a critical mass of people actually use it there are
         | lots of weird regressions.
         | 
         | Even 32-bit x86 has been having some of those weird regressions
         | these past few years.
        
       | gautamcgoel wrote:
       | How do these old PowerPC processors relate to the latest POWER10
       | processors? Is there a recognizable similarity?
        
         | apaprocki wrote:
         | As far as binaries go you can still target the COM instruction
         | set with the compiler and the same binary will run on any 32/64
         | PPC up to the latest POWER chips.
        
           | rbanffy wrote:
           | I was wondering if someone could come up with a POWER9-based
           | accelerator board for PPC-based Macs.
           | 
           | Obviously niche, but most amusing. Imagine a 48-core 5 GHz
           | MacPro G5.
        
             | Aloha wrote:
             | it'd probably totally be.. possible - to get OS X to boot
             | on a POWER9 system. There seems to be more interest in
             | getting Classic OS to run on modern hardware though
        
               | mhd wrote:
               | Mac System 9 running on modern hardware, not in an
               | emulator?
        
               | rbanffy wrote:
               | I'd totally want my Mac work environment running on a
               | dual socket POWER9 workstation.
        
         | Zenst wrote:
         | Bit like comparing a 8086 to the latest and greatest, still
         | have support for the instructions of the time, but been lots of
         | additions since. At least comparing the ISA level.
        
           | fiddlerwoaroof wrote:
           | Didn't PowerPC have some unique extensions that distinguishes
           | it from the the POWER CPUs?
        
             | wmf wrote:
             | Yeah, but Power3 and onward actually implement the PowerPC
             | ISA so the differences are smaller than they appear.
        
           | johnklos wrote:
           | No. Not even remotely close. The 8086 was an 8 bit processor
           | with some 16 bit extensions and segment registers. This is
           | worlds different than 32 bit x86. They're worlds apart.
           | 
           | The PowerPC 601 is functionally quite similar to modern 32
           | bit PowerPC.
        
             | foobiekr wrote:
             | The 8086 was a 16 bit CPU. Every register is 16 bit as is
             | the internal and external data bus (the address space is
             | actually 20 bits, but that's a different issue).
        
               | johnklos wrote:
               | ...except it barely more of a 16 bit processor than a
               | Z80, and had 8 bit instructions, extendable to longer,
               | like the Z80. Aside from the 20 bit addressing and 16 bit
               | offset, the 8088 and Z80 were equivalent.
               | 
               | Or should we call the Z80 a 16 bit processor?
        
         | asveikau wrote:
         | It's been more than a decade since I wrote any ppc asm and I
         | don't remember much.
         | 
         | I imagine they extended the ISA to 64 bits and maybe that was
         | an opportunity for further ISA changes?
        
         | shakna wrote:
         | The 601 was pre-standard, so I'd imagine that there would be a
         | huge difference.
         | 
         | It had the first implementation of the multiprocessing unit,
         | and lacked the load/store and registry units of all the later
         | processors.
        
       | Scuds wrote:
       | Not knowing anything I'm guessing it's all embedded/non-
       | interactive systems, but I can't imagine someone compiling a
       | brand new new 5.9 kernel with drivers for a twenty year old
       | board.
        
       | protomyth wrote:
       | Well, wasn't the 601 a bit different than the 603/604 in
       | instruction sets? I seem to remember there were some difference
       | from the more refined, later chips.
        
         | mrpippy wrote:
         | The 601 had support for some POWER instructions that weren't
         | part of the PPC ISA and weren't supported by later chips, I
         | know Apple's developer notes for these machines mentioned that
         | you had to avoid those.
        
         | Zenst wrote:
         | Yes, some of the ISA was still be standardised so wasn't until
         | the later chips that got ratified, so some nuances, though at
         | hand none I can recall.
         | https://en.wikipedia.org/wiki/PowerPC_600#PowerPC_601 covers
         | this aspect at least.
         | 
         | 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.
        
           | monocasa wrote:
           | > Also does seem that 32bit support is on the way out, slowly
           | but surely.
           | 
           | 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.
        
             | happycube wrote:
             | e500mc is. e500v1 and v2 aren't even user-space compatible
             | because Ruiz-era Motorola was cheap and wanted SMD w/o
             | Altivec, so they replaced the FPU...
        
               | monocasa wrote:
               | They're not user space compatible, but they're very, very
               | similar uarchs as you can tell from the supervisor SPRs.
        
               | cbmuser wrote:
               | > e500v1 and v2 aren't even user-space compatible because
               | Ruiz-era Motorola was cheap and wanted SMD w/o Altivec,
               | so they replaced the FPU...
               | 
               | 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.
        
           | jeffbee wrote:
           | 32-bit hardware is still widely produced and deployed. Some
           | desktop-focused distros have dropped 32-bit x86 support but
           | I'm sure the kernel and toolchain will support 32-bit
           | platforms for the foreseeable future. Certainly 32-bit ARM
           | hasn't gone anywhere, and you can't swing a patch cable
           | without hitting a SuperH.
        
             | Teknoman117 wrote:
             | You also have the kernel recently adopting both 32 and 64
             | bit RISC-V.
        
           | cbmuser wrote:
           | > Also does seem that 32bit support is on the way out, slowly
           | but surely.
           | 
           | Nah, we're currently even adding LLVM/Rust support for m68k,
           | so don't worry, 32-bit support isn't going anywhere soon.
        
             | rbanffy wrote:
             | Compiling Rust on a m68k machine would demand some
             | patience.
        
               | monocasa wrote:
               | I imagine most would be using it as a cross compiler.
        
         | theduncan wrote:
         | from the article.                 "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.
        
       | rangoon626 wrote:
       | Incredible that this was being maintained.
        
         | rbanffy wrote:
         | PPC ISA is still used in some embedded devices.
        
         | cbmuser wrote:
         | We are still actively maintaining support for the Motorola
         | 68000 CPU in the kernel which is even older.
        
       ___________________________________________________________________
       (page generated 2020-10-10 23:00 UTC)