4 ms·
> The RV64 core may be capable of running RV32 machine code It's not, xlen is fixed on that core like most RISC-V cores. > How does Linux handle this? Can you
by monocasa 4y ago
> The RV64 core may be capable of running RV32 machine code
It's not, xlen is fixed on that core like most RISC-V cores.
> How does Linux handle this? Can you just run an executable and have it automatically scheduled onto whichever cores can execute it? Wouldn't the kernel itself have to be compiled for both architectures?
With asymmetric multiprocessing like you get with OpenAMP. The RV32 cores are more real time management cores. One core only has an MPU, no MMU. The other core doesn't even have that. So run something like freertos (or just a superloop) on those cores to babysit realtime tasks and either respond quicker and/or more deterministically than Linux can, or avoid waking up the Linux core.