Skip to content

Commit b83d0a6

Browse files
Sebastien Boeufmergify[bot]
authored andcommitted
OvmfPkg: CloudHv: Add README
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>
1 parent 82bfd2e commit b83d0a6

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

OvmfPkg/CloudHv/README

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
2+
CloudHv is a port of OVMF for the Cloud Hypervisor project.
3+
4+
The Cloud Hypervisor project
5+
----------------------------
6+
7+
Cloud Hypervisor is a Virtual Machine Monitor that runs on top of KVM. The
8+
project focuses on exclusively running modern, cloud workloads, on top of a
9+
limited set of hardware architectures and platforms. Cloud workloads refers to
10+
those that are usually run by customers inside a cloud provider. This means
11+
modern operating systems with most I/O handled by paravirtualised devices
12+
(i.e. virtio), no requirement for legacy devices, and 64-bit CPUs.
13+
14+
https://github.com/cloud-hypervisor/cloud-hypervisor
15+
16+
Design
17+
------
18+
19+
Based on Cloud Hypervisor's motto to reduce the emulation as much as possible,
20+
the project logically decided to support the PVH boot specification as the only
21+
way of booting virtual machines. That includes both direct kernel boot and OVMF
22+
firmware which must be generated as PVH ELF binaries.
23+
PVH allows information like location of ACPI tables and location of guest RAM
24+
ranges to be shared without the need of an extra emulated device like a CMOS.
25+
26+
Features
27+
--------
28+
29+
* Serial console
30+
* EFI shell
31+
* virtio-pci
32+
33+
Build
34+
-----
35+
36+
The way to build the CloudHv target is as follows:
37+
38+
OvmfPkg/build.sh -p OvmfPkg/CloudHv/CloudHvX64.dsc -a X64 -b DEBUG
39+
40+
Usage
41+
-----
42+
43+
Assuming Cloud Hypervisor is already built, one can start a virtual machine as
44+
follows:
45+
46+
./cloud-hypervisor \
47+
--cpus boot=1 \
48+
--memory size=1G \
49+
--kernel Build/CloudHvX64/DEBUG_GCC5/FV/CLOUDHV.fd \
50+
--disk path=/path/to/disk.raw
51+
52+
Releases
53+
--------
54+
55+
In edk2-stable202202, CloudHv is generated as data-only binary.
56+
Starting with edk2-stable202205, CloudHv is generated as a PVH ELF binary to
57+
reduce the amount of emulation needed from Cloud Hypervisor.
58+
For TDX, things are handled differently and PVH is not used, which is why the
59+
firmware is always generated as a data-only binary.
60+
61+
+-------------------+----------------+
62+
| | CloudHv |
63+
+-------------------+----------------+
64+
| edk2-stable202202 | Data binary |
65+
+-------------------+----------------+
66+
| edk2-stable202205 | PVH ELF binary |
67+
+-------------------+----------------+

0 commit comments

Comments
 (0)