serenity icon indicating copy to clipboard operation
serenity copied to clipboard

Xen Paravirtualization (PV) DomU support

Open ADKaster opened this issue 3 years ago • 0 comments

The Xen hypervisor supports a mode called "Paravirtualization" where guest VMs are fully aware they are being run in a hypervisor and co-ordinate more closely with the DomU domain over Xen "event channels" for device access.

https://wiki.xenproject.org/wiki/Paravirtualization_(PV)

Using these devices as a DomU presumably requires some of the following:

  1. Detecting that we are running in PV or PVHVM on top of Xen
  2. Instantiating XenPV drivers
  3. Using hypercalls in the implementation of the drivers to either directly ask the hypervisor to do something, or to setup our event channels with Dom0

We probably would want at least the following drivers to consider the implementation usable:

  • [ ] PV Console
  • [ ] PV Interrupt/ACPI support
  • [ ] PV PCI access

With optionally PV ATA access and other subsystems to make the kernel even more well behaved.

Implementing this would allow running serenity as a DomU in environments that make heavy use of PV guests, such as Qubes OS. in Qubes OS, a PV guest is called a "Standalone", which seem to be preferred. https://www.qubes-os.org/doc/standalones-and-hvms/

ADKaster avatar Nov 11 '22 08:11 ADKaster