Power ISA improvements in 5.2 (and a Raptor tease)
Power-specific changes include the long-awaited (at least by me) YOLO DAWR support on POWER9, as well as support for Kernel Userspace Access/Execution Prevention (KUAP and KUEP). KUP features collectively are analogous to Intel Supervisor Mode Access Prevention (though I like this SMAP better) and prevent the kernel from accidentally accessing userspace outside copy_to/from_user() and/or executing code in userspace. Support is somewhat varied: most 32-bit CPUs except the 400, 440 and e500 series support both KUAP and KUEP (though the poor old PowerPC 601 lacks an NX segment bit, so no KUEP), but KUP on 64-bit Power currently requires the radix MMU, meaning only POWER9 CPUs in radix mode. You can see if your CPU is supported in this list, looking for CPU_HAVE_KUAP and CPU_HAVE_KUEP.
Meanwhile, who says 32-bit PowerPC is dead? 5.2 also adds 32-bit support for the Kernel Address Sanitizer (KASAN), further improving security, and some significant performance improvements to 32-bit syscall overhead (up to 12-17% improvement on the the null_syscall benchmark).
Although I won't be able to make OpenPOWER this year in San Diego, Raptor is going, and is teasing a new POWER9 product announcement. However, I will be at Vintage Computer Festival West exhibiting some of my PowerPC, PA-RISC and SPARC laptops and portable workstations. If you're going to be near the Computer History Museum in Mountain View (near the Google Death Star) on August 3 or 4, drop by, say hi, and play with the toys.
To go along with the Raptor tease, what about making a post about "POWER ISA and the state of Libre Operating Systems"? For now, no FSF-endorsed system exists for PowerPC or POWER... but it seems they are slowly crawling towards that direction, with Trisquel 9 supposed to support PPC64le, and Parabola GNU/Linux already is distributing demos (which require people to test it out on their Talos/Blackbird and report back for potential bugs): https://mirror.grapentin.org/parabola-ports/powerpc64le/
ReplyDeleteList of FSF-endorsed systems: https://www.gnu.org/distros/free-distros.en.html
(All x86, with only Parabola also supporting something else, which is... ARM.)
For big-endian PPC and PPC64, though, to my knowledge Debian is the ONLY operating system EVER that is 100% blob-free, and "libre-able", even if they didn't earn FSF's approval. Although even that is falling behind now, as Debian moved on to PPC64le for new versions. Well, at least SOME form of PowerPC has a 100% libre future, even if that future doesn't include our PowerPC Macs. :|