]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: CloudHv: Add README
authorSebastien Boeuf <sebastien.boeuf@intel.com>
Wed, 2 Mar 2022 13:31:37 +0000 (21:31 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 4 Mar 2022 02:41:57 +0000 (02:41 +0000)
Add some documentation to the CloudHv target in order to clarify how to
use it and what to expect from it.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
OvmfPkg/CloudHv/README [new file with mode: 0644]

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