Topics

[PATCH v5 00/15] Kvmtool guest firmware support for Arm


Sami Mujawar
 

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 updates the following:
* addresses the review feedback from v4 series to drop the
unnecessary whitespace and header changes in
- [PATCH v5 01/15] PcAtChipsetPkg: Add MMIO Support to RTC driver
* Minor doxygen style fixes to file headers reported by ECC tool in
- [PATCH v5 02/15] ArmVirtPkg: Add Kvmtool RTC Fdt Client Library
- [PATCH v5 04/15] ArmVirtPkg: Add kvmtool platform driver
- [PATCH v5 06/15] ArmVirtPkg: Add Kvmtool NOR flash lib
- [PATCH v5 10/15] ArmVirtPkg: Add Kvmtool Platform Pei Lib
* Minor fix for ECC error "5007: There should be no initialization
of a variable as part of its declaration" and doxygen style fixes
to file headers in
- [PATCH v5 05/15] ArmVirtPkg: kvmtool platform memory map
* Minor fix in function documentation to match doxygen style in
- [PATCH v5 07/15] MdeModulePkg: Fix constructor invocation ordering

The changes for the v4 series can be seen at:
https://github.com/samimujawar/edk2/tree/299_kvmtool_plat_support_v5

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
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
.python/SpellCheck: Add 'XIPFLAGS' to "words" section
Maintainer.txt: Add Kvmtool platform reviewer

.pytool/Plugin/SpellCheck/cspell.base.yaml | 1 +
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c | 4 +-
ArmVirtPkg/ArmVirtKvmTool.dsc | 321 +++++++++++++++++++
ArmVirtPkg/ArmVirtKvmTool.fdf | 234 ++++++++++++++
ArmVirtPkg/ArmVirtPkg.ci.yaml | 6 +-
ArmVirtPkg/ArmVirtPkg.dec | 2 +
ArmVirtPkg/Include/Guid/Early16550UartBaseAddress.h | 22 ++
ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c | 82 +++++
ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | 43 +++
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 | 79 +++++
ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.inf | 49 +++
ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.c | 230 ++++++++++++++
ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.inf | 42 +++
ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.c | 98 ++++++
ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf | 43 +++
ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c | 336 ++++++++++++++++++++
ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf | 50 +++
Maintainers.txt | 10 +
MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c | 17 +
MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf | 3 +
PcAtChipsetPkg/PcAtChipsetPkg.dec | 16 +
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | 120 ++++++-
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c | 54 +++-
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf | 8 +
29 files changed, 2139 insertions(+), 15 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)'


Ard Biesheuvel
 

On 10/2/20 11:13 PM, Sami Mujawar wrote:
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 updates the following:
* addresses the review feedback from v4 series to drop the
unnecessary whitespace and header changes in
- [PATCH v5 01/15] PcAtChipsetPkg: Add MMIO Support to RTC driver
* Minor doxygen style fixes to file headers reported by ECC tool in
- [PATCH v5 02/15] ArmVirtPkg: Add Kvmtool RTC Fdt Client Library
- [PATCH v5 04/15] ArmVirtPkg: Add kvmtool platform driver
- [PATCH v5 06/15] ArmVirtPkg: Add Kvmtool NOR flash lib
- [PATCH v5 10/15] ArmVirtPkg: Add Kvmtool Platform Pei Lib
* Minor fix for ECC error "5007: There should be no initialization
of a variable as part of its declaration" and doxygen style fixes
to file headers in
- [PATCH v5 05/15] ArmVirtPkg: kvmtool platform memory map
* Minor fix in function documentation to match doxygen style in
- [PATCH v5 07/15] MdeModulePkg: Fix constructor invocation ordering
The changes for the v4 series can be seen at:
https://github.com/samimujawar/edk2/tree/299_kvmtool_plat_support_v5
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
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
.python/SpellCheck: Add 'XIPFLAGS' to "words" section
Maintainer.txt: Add Kvmtool platform reviewer
Merged as #1025

Thanks all,