Popcorn Linux – for ISA-diverse multi/many-core architectures
popcornlinux.org
popcornlinux.org
This meant, in a nutshell, I could have a completely architecture-agnostic root filesystem, with the only architecture-specific binaries being the kernel and PNaCl runtime, which sat in the initial ramdisk.
Had you researched it for your work?
I would be interested in some kind of comparison.
Did you tackle dynamic linking? How did you abstract the syscall interface (i.e. how did you choose syscall numbers...take the x64 ones or the new "standard" ones shared by all modern ports?)
Unfortunately getting dynamic linking working is a WIP and so far everything has to be statically linked (yeah it's terrible I need to get dynamic linking working; I have some ideas). As for abstracting the syscall interface between architectures...afaik the PNaCl handled that for me based on how process isolation works...
Imagine a hybrid x64/ARM system where you could run simpler, low-intensity tasks on your low-power ARM core (Twitter clients, Facebook, etc) but more intense tasks or entire applications (Photoshop, development IDEs, etc) on your x64-compatible chip.
Or a system where you take your ARM core + storage with you in your phone and dock it with an x64 core in your desktop.
AS/400 architecture upgrades are done without any big worries about CPU backwards compatibility thanks to them being like this.
https://www.extremetech.com/computing/182790-amds-next-big-g...
It was also done the other way around with RISC workstations like Sun's running UNIX on SPARC coming with x86 cards to run their apps. I never checked it out to see what it was like but it was an advertised feature of SunBlade workstations. Additionally, IBM made PCI cards that could run their mainframe code on regular systems.
https://en.wikipedia.org/wiki/SunPCi
https://en.wikipedia.org/wiki/PC-based_IBM-compatible_mainfr...
Multi ore Linux could be pretty cool.
Mix and match CPUs anyone?