Where to find Information about Virtualization in RISC-V?

The latest Draft for the Priviledged ISA Specification on riscv.org is version 1.10. The draft is now a little over a year old. My issue is there is only a place holder for Chapter 5: Hypervisor Extensions, Version 0.0.
In addition, I looked at the public documents from the RISC-V: Privileged Spec working group. However, this is pretty much empty as well.

My question is where can I find more information about virtualization and hypervisor in RISC-V? I am particularly interested in the following topics:

  • Bare-metal (type-1) hypervisor support in RISC-V.
  • Hosted (type-2) hypervisor support in RISC-V.
  • Second Level Address Translation (SLAT) in RISC-V.
  • IOMMU (Input/Output Memory Management Unit) in RISC-V.
  • Virtualization support for peripherals (GPU etc.) support in RISC-V.
  • Recursive (a.k.a nested) virtualization support.
  • Is there currently any team working on porting their hypversior to RISC-V?
1 Like

You could take a look at the riscv-isa-manual github, which is where you can see the Work-in-Progress drafts:

1 Like

There was a presentation at the November 2017 RISC-V workshop.

It points at the github riscv-isa-manual also.

1 Like

Does someone have any idea on when the draft for the virtualization extensions will be finished? Also, I’d love to know about some team working on hypervisors for RISC-V or some test implementation of the current state of the specs…

1 Like

I would also be interested to know the current state of the specs.

This is a hypervisor supporting riscv for bare-metal or RTOS execution on the QEMU virt platform.

It does not require virtualization extensions, as they are not ready.

Thank you for your reply Carlos! Glad to know hellfire is hopping on the risc-v boat. I’ve known about your hypervisor for several years. However, I’m focusing on the actual virtualization extensions as these are essential for an efficient implementation of the kind of virtualization I’m working on (static partitioning). Also, I believe the hypervisor spec is nearly finished, although the only implementation I know of is actually on QEMU virt. The bao hypervisor is currently up-do-date with spec v0.5 and we are now writing the small adaptations needed for v0.6:

Small note: We are able to run hopefully any kind of guest. At moment we’ve experimented with FreeRTOS, Zephyr, Linux, and bare-metal test applications. To run Linux we implemented a shim for the SBI, depending on actual implementation (openSBI) as the firmware.