]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Microvm/README
MdePkg: Add Tls configuration related define
[mirror_edk2.git] / OvmfPkg / Microvm / README
CommitLineData
e07d27e2
GH
1\r
2This is an *experimental* port of OVMF for the QEMU microvm\r
3machine type.\r
4\r
5microvm background info\r
6-----------------------\r
7\r
8microvm is designed for modern, virtio-based workloads. Most legacy\r
9lpc/isa devices like pit and pic can be turned off. virtio-mmio\r
10(i.e. '-device virtio-{blk,net,scsi,...}-device') is used for\r
11storage/network/etc.\r
12\r
13Optional pcie support is available and any pcie device supported by\r
14QEMU can be plugged in (including virtio-pci if you prefer that over\r
15virtio-mmio).\r
16\r
17https://qemu.readthedocs.io/en/latest/system/i386/microvm.html\r
18https://www.kraxel.org/blog/2020/10/qemu-microvm-acpi/\r
19\r
20design issues\r
21-------------\r
22\r
23Not fully clear yet how to do hardware detection best. Right now\r
24using device tree to find virtio-mmio devices and pcie host bridge,\r
25can reuse existing ArmVirtPkg code that way. Needs patched QEMU.\r
26\r
27features\r
28--------\r
29 [working] serial console\r
30 [working] direct kernel boot\r
31 [working] virtio-mmio support\r
632574ce 32 [working] pcie support\r
e07d27e2
GH
33\r
34known limitations\r
35-----------------\r
36 * rtc=on is required for now.\r
37 * can't use separate code/vars (actually an microvm limitation,\r
38 there is no pflash support).\r
39 * transitional virtio-pci devices do not work. microvm doesn't\r
40 support ioports on pcie, and ovmf doesn't initialize pcie devices\r
41 with ioports if there is no address space for them (even though\r
42 pcie devices are required to be functional without ioports).\r
43\r
44usage\r
45-----\r
46qemu-system-x86_64 \\r
47 -nographic \\r
48 -machine microvm,acpi=on,pit=off,pic=off,rtc=on \\r
49 -bios /path/to/MICROVM.fd \\r
50 [ ... more args here ... ]\r