As you know NLnet has been funding Libre-SOC for five years now. The strategy has always been to work towards the mass-volume power-efficient high-computation market of smartbooks netbooks chromebooks Edge IOT Industrial SBCs.
We also have no intention and never had any intention of Licensing a separate GPU nor a separate VPU nor a separate Crypto-Accelerator Hard Macro nor a separate AI Accelerator Hard Macro, nor anything other than dramaticaly uprating the Power ISA itself to meet the heavy mathematical and algorithmic computational requirements of these markets. This gives Power ISA the opportunity to extend well beyond its present server-only remit.
These markets require Linux and Android, and they require significant power efficiency due to being battery-operated.
As these markets are price-sensitive given that the volumes are 100 million units and above it has been absolutely essential that we cut out everything that will hinder us by imposing both unnecessary silicon costs and unnecessary software development costs.
Illustrating this clearly: as the developers of IBM Microwatt are keenly aware, adding even an incomplete fraction of the 750 v3.0 VSX instructions resulted in a whopping FIFTY PERCENT increase in the amount of FPGA resources required, pushing the possibility of fitting into Lattice ECP5-85k and Digilent Arty A7-100t for LibreBMC firmly to zero. This is quite embarrassing as it means that a Power ISA based BMC Card for IBM’s own POWER9/POWER10 systems is not feasible if to boot a RADIX MMU also requires that the Softcore implement 1,000 instructions (750 of which are VSX)
By contrast, almost 3 years ago, Joel Shenki successfully demonstrated a v3.0 SFS-built Microwatt buildroot with linux-5.7 booting on a full RADIX MMU version of Microwatt implementing only the ~150 instructions of v3.0 SFS. This also helped push forward some patches to glibc6 by Tulio to remove “#ifdef IBMPOWER9” with “#ifdef VSX” (and we hope in future, #ifdef MMA instead of #ifdef IBMPOWER10).
We have therefore been preparing Linux-Capable v3.0 SFS/SFFS GNU/Linux Distributions, getting through the early bootstrap phase, which lower-resourced systems (Microwatt, A2I and A2O if upgraded to v3.0 SFFS, Libre-SOC) will be more than capable of running.
So far we have Debian, Gentoo, and PowerEL all at an early stage. Gentoo turns out to be easy. Debian had issues as not all early bootstrap packages obey “APPEND” to CFLAGs. PowerEL ran into issues with libc6 that were solved one time but are challenging to reproduce.
Our next goal is to continue with additional NLnet Grants to push these distributions forward, also looking at Android. There have been multiple efforts to port Android to PPC: they have all been taken offline. The last-remaining version of Android for PPC still accessible on the internet is over 12 years old: Android 2.3 (!)
The Debian bootstrap to SFFS may now continue “native” (not cross-compiling) by manually merging in ppc64le packages then recompiling those packages one by one to replace them with ppc64le-sffs equivalents.
Gentoo which has been set up from day one to be cross-compilable many decades ago will be much more straightforward to continue.
Our ultimate goal here is to re-introduce a similar dynamic software runtime detection of hardware capability that Intel has had for many years, the 4 levels roughly corresponding to “Intel Atom” at the lowest level and “Intel XEON” at the highest.
The SFFS GNU/Linux distributions are therefore an intermediate step towards that ultimate goal.