Kvmtool is a virtual machine manager that can be used to launch guest partitions. Kvmtool additionally supports emulation of hardware like the RTC, CFI etc. essentially providing an emulated platform for a Guest OS to run.
To boot a standards-based OS one would need UEFI. In this case it is UEFI at EL1 or guest/virtual firmware. Kvmtool has been enhanced to enable launching of KVM guests with UEFI support e.g. CFI emulation has been added to store UEFI variables, etc. These changes have been merged in the kvmtool repository at: https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git This patch series: - adds UEFI guest firmware support for the Kvmtool emulated Arm platform. - addresses the review feedback for the v2 series discussed on the mailing list at: https://edk2.groups.io/g/devel/message/59503 The changes for the v3 series can be seen at: https://github.com/samimujawar/edk2/tree/299_kvmtool_plat_support_v3 Sami Mujawar (15): PcAtChipsetPkg: Add MMIO Support to RTC driver ArmVirtPkg: Add Kvmtool RTC Fdt Client Library ArmPlatformPkg: Dynamic flash variable base ArmVirtPkg: Add kvmtool platform driver ArmVirtPkg: kvmtool platform memory map ArmVirtPkg: Add Kvmtool NOR flash lib ArmVirtPkg: Early serial port initialisation MdeModulePkg: Fix constructor invocation ordering ArmVirtPkg: GUID Hob for 16550 UART base address ArmVirtPkg: 16550 UART Platform hook library ArmVirtPkg: Add Kvmtool Platform Pei Lib ArmVirtPkg: Support for kvmtool virtual platform ArmVirtPkg: Package dependency for MC146818 RTC ArmVirtPkg: Add kvmtool to package dictionary Maintainer.txt: Add Kvmtool platform reviewer ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c | 4 +- ArmVirtPkg/ArmVirtKvmTool.dsc | 345 ++++++++++++++++++++ ArmVirtPkg/ArmVirtKvmTool.fdf | 259 +++++++++++++++ ArmVirtPkg/ArmVirtPkg.ci.yaml | 6 +- ArmVirtPkg/ArmVirtPkg.dec | 2 + ArmVirtPkg/Include/Guid/Early16550UartBaseAddress.h | 22 ++ ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c | 85 +++++ ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | 47 +++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c | 138 ++++++++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf | 36 ++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c | 57 ++++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf | 39 +++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni | 14 + ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.c | 78 +++++ ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.inf | 48 +++ ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.c | 255 +++++++++++++++ ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.inf | 42 +++ ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.c | 128 ++++++++ ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf | 42 +++ ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c | 330 +++++++++++++++++++ ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf | 49 +++ ArmVirtPkg/PrePi/PrePi.c | 10 +- Maintainers.txt | 10 + MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c | 17 + MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf | 3 + PcAtChipsetPkg/PcAtChipsetPkg.dec | 16 + PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | 119 ++++++- PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.h | 31 ++ PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c | 72 +++- PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf | 8 + 30 files changed, 2288 insertions(+), 24 deletions(-) create mode 100644 ArmVirtPkg/ArmVirtKvmTool.dsc create mode 100644 ArmVirtPkg/ArmVirtKvmTool.fdf create mode 100644 ArmVirtPkg/Include/Guid/Early16550UartBaseAddress.h create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni create mode 100644 ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.c create mode 100644 ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.inf create mode 100644 ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.c create mode 100644 ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.inf create mode 100644 ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.c create mode 100644 ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf create mode 100644 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c create mode 100644 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#61662): https://edk2.groups.io/g/devel/message/61662 Mute This Topic: https://groups.io/mt/75081471/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-