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
Eventually, there should/could be extensions for other types of hardware including “mobile”, “edge computing”, “machine-learning”, “automotive”, and so on.
Looking at the OS-A platform, there’s a long list of requirements with architecture (RV32GC/RV64GC), PMU, debugging, system peripherals, the boot processor with EBBR, UEFI (and ACPI for the Server extension), and many more.
You’ll find the current RISC-V platform specification on Github. If you’d like to participate in the specifications, submit patchsets, or simply follow the progress, you can do so on the tech-unixplatformspec mailing list, which contrary to what its name implies, is not only about UNIX-based operating systems anymore.
Via Drew Fustini
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.