[PATCH v4 00/20] OvmfPkg: Add support for microvm machine type


Gerd Hoffmann
 

This patch series adds basic support for the
microvm machine type to OVMF.

Working:
- uefi shell @ serial console.
- direct kernel boot.

Comming in followup patches:
- virtio-mmio support.
- pcie support.

Usage:
qemu-system-x86_64 -nographic -M microvm -bios MICROVM.fd ...

v2 changes:
- pick up review tags
- add bugzilla link
- fix timer configuration
- fix reset shutdown
- add readme
- add maintainers entry

v3 changes:
- pick up more review tags
- fix CI failures (https://github.com/tianocore/edk2/pull/1949)

v4:
- drop runtime "detection" of microvm, we know that at compile time.

Gerd Hoffmann (20):
OvmfPkg/Microvm: copy OvmfPkgX64 files as-is
OvmfPkg/Microvm: rename output files, fix includes
OvmfPkg/Microvm: no smm
OvmfPkg/Microvm: no secure boot
OvmfPkg/Microvm: no tpm
OvmfPkg/Microvm: no sev
OvmfPkg/Microvm: no csm
OvmfPkg/Microvm: no emulated scsi
OvmfPkg/Microvm: use MdePkg/Library/SecPeiDxeTimerLibCpu
OvmfPkg/Microvm: use XenTimerDxe (lapic timer)
OvmfPkg/Microvm: add header file
OvmfPkg/Microvm: PlatformPei/MemDetect tweaks
OvmfPkg/Microvm: PlatformPei/Platform memory map tweaks
OvmfPkg/Microvm: PlatformPei/Platform: set id.
OvmfPkg/ResetSystemLib: add driver for microvm
OvmfPkg/Microvm: BdsPlatform: PciAcpiInitialization tweak.
OvmfPkg/Microvm: use PciHostBridgeLibNull
OvmfPkg/Microvm: wire up serial console, drop super-io
OvmfPkg/Microvm: add README
OvmfPkg/Microvm: add Maintainers.txt entry

OvmfPkg/Microvm/MicrovmX64.dsc | 842 ++++++++++++++++++
OvmfPkg/Microvm/MicrovmX64.fdf | 462 ++++++++++
.../BaseResetSystemLibMicrovm.inf | 37 +
.../DxeResetSystemLibMicrovm.inf | 40 +
OvmfPkg/Include/IndustryStandard/Microvm.h | 19 +
OvmfPkg/Include/OvmfPlatforms.h | 1 +
.../PlatformBootManagerLib/BdsPlatform.c | 42 +
.../ResetSystemLib/DxeResetSystemLibMicrovm.c | 49 +
.../ResetSystemLib/ResetSystemLibMicrovm.c | 89 ++
OvmfPkg/PlatformPei/MemDetect.c | 5 +
OvmfPkg/PlatformPei/Platform.c | 18 +
Maintainers.txt | 6 +
OvmfPkg/Microvm/README | 54 ++
13 files changed, 1664 insertions(+)
create mode 100644 OvmfPkg/Microvm/MicrovmX64.dsc
create mode 100644 OvmfPkg/Microvm/MicrovmX64.fdf
create mode 100644 OvmfPkg/Library/ResetSystemLib/BaseResetSystemLibMicrovm.inf
create mode 100644 OvmfPkg/Library/ResetSystemLib/DxeResetSystemLibMicrovm.inf
create mode 100644 OvmfPkg/Include/IndustryStandard/Microvm.h
create mode 100644 OvmfPkg/Library/ResetSystemLib/DxeResetSystemLibMicrovm.c
create mode 100644 OvmfPkg/Library/ResetSystemLib/ResetSystemLibMicrovm.c
create mode 100644 OvmfPkg/Microvm/README

--
2.31.1