
CloudHv is a port of OVMF for the Cloud Hypervisor project.

The Cloud Hypervisor project
----------------------------

Cloud Hypervisor is a Virtual Machine Monitor that runs on top of KVM. The
project focuses on exclusively running modern, cloud workloads, on top of a
limited set of hardware architectures and platforms. Cloud workloads refers to
those that are usually run by customers inside a cloud provider. This means
modern operating systems with most I/O handled by paravirtualised devices
(i.e. virtio), no requirement for legacy devices, and 64-bit CPUs.

https://github.com/cloud-hypervisor/cloud-hypervisor

Design
------

Based on Cloud Hypervisor's motto to reduce the emulation as much as possible,
the project logically decided to support the PVH boot specification as the only
way of booting virtual machines. That includes both direct kernel boot and OVMF
firmware which must be generated as PVH ELF binaries.
PVH allows information like location of ACPI tables and location of guest RAM
ranges to be shared without the need of an extra emulated device like a CMOS.

Features
--------

* Serial console
* EFI shell
* virtio-pci

Build
-----

The way to build the CloudHv target is as follows:

OvmfPkg/build.sh -p OvmfPkg/CloudHv/CloudHvX64.dsc -a X64 -b DEBUG

Usage
-----

Assuming Cloud Hypervisor is already built, one can start a virtual machine as
follows:

./cloud-hypervisor \
    --cpus boot=1 \
    --memory size=1G \
    --kernel Build/CloudHvX64/DEBUG_GCC5/FV/CLOUDHV.fd \
    --disk path=/path/to/disk.raw

Releases
--------

In edk2-stable202202, CloudHv is generated as data-only binary.
Starting with edk2-stable202205, CloudHv is generated as a PVH ELF binary to
reduce the amount of emulation needed from Cloud Hypervisor.
For TDX, things are handled differently and PVH is not used, which is why the
firmware is always generated as a data-only binary.

+-------------------+----------------+
|                   |    CloudHv     |
+-------------------+----------------+
| edk2-stable202202 | Data binary    |
+-------------------+----------------+
| edk2-stable202205 | PVH ELF binary |
+-------------------+----------------+
