Jailhouse Guest Support Queued For Linux 4.16

Since at least 2013 Siemens has been developing the Jailhouse hypervisor for Linux systems. This partitioning hypervisor aims to be lighter than KVM and Siemens has been designing it for "highly demanding real-time, safety or security" workloads.
Siemens and others have continued building upon Jailhouse over the years while now the first bits are going mainline. With Linux 4.16 there will be a new JAILHOUSE_GUEST option for enabling Jailhouse non-root cell support to let Linux run as a guest in Jailhouse. This option is only needed if wanting to run in a non-root cell rather than root.
The main patch explains the Jailhouse terminology:
The Jailhouse hypervisor is able to statically partition a multicore system into multiple so-called cells. Linux is used as boot loader and continues to run in the root cell after Jailhouse is enabled. Linux can also run in non-root cells.
Jailhouse does not emulate usual x86 devices. It also provides no complex ACPI but basic platform information that the boot loader forwards via setup data. This adds the infrastructure to detect when running in a non-root cell so that the platform can be configured as required in succeeding steps.
Support is limited to x86-64 so far, primarily because no boot loader stub exists for i386 and, thus, we wouldn't be able to test the 32-bit path.
This Jailhouse guest support is queued in Molnar's x86-platform Git branch ahead of the Linux 4.16 merge window expected to open next week. Those wanting to learn more about this Linux hypervisor can do so via Siemens/JailHouse on GitHub.
11 Comments