Written by Jean-Luc Aufranc (and contributions via Drew Fustini)
The RISC-V platform specification aims to define a set of rules to make sure operating systems like Linux or the Zephyr Project can boot properly on all RISC-V hardware compliant with the specs.
If you’ve ever worked with the Arm Linux kernel over ten years ago, you may remember board files, which were replaced by device tree bindings, and eventually, Arm defined several standards culminating with Arm SystemReady certifications allowing compliant Arm platforms to boot off-the-shelf OS images like in the x86 world.
While we are probably a long way from a “RISC-V SystemReady” platform certification program, the RISC-V platform specification is currently being worked on to define requirements for two types of platforms with optional extensions:
- OS-A Platform: This specifies a rich-OS platform for Linux/FreeBSD/Windows…flavors that run on enterprise and embedded class application processors. Current extension: Server Extension
- M Platform – This specifies an RTOS platform for bare-metal applications and small operating systems running on a microcontroller. Current extensions: Physical Memory Protection (PMP) Extension