Re: [edk2] [PATCH 0/6] Add kvmtool emulated platform support for ARM
On Sat, Oct 13, 2018 at 11:42:00PM +0200, Laszlo Ersek wrote: > On 10/12/18 16:40, Sami Mujawar wrote: > > Kvmtool is a virtual machine manager that enables hosting KVM > > guests. ARM is working to enhance kvmtool support to enable > > launching of KVM guest with UEFI support. > > Why is QEMU not good enough? (With or without KVM.) > > Another platform I've recently learned about (for QEMU) is the SBSA > reference machine type. I'm concerned that this kind of divergence will > be hard to maintain in a common firmware package. Here's my understanding: > > - ArmVirtQemu: supposed to run data center / cloud workloads > - SBSA reference machine: supposed to emulate physical machines as > closely as possible; primarily intended as a development environment > for physical machines If it helps - try to not think of SBSA QEMU as a QEMU target. It's pretending to be a hardware platform and should be treated as such. While we may have started the firmware port from ArmVirtPkg (as the qemu machine was being developed), I don't expect it to ultimately end up there when it goes upstream. Regards, Leif ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/6] Add kvmtool emulated platform support for ARM
On 10/12/18 16:40, Sami Mujawar wrote: > Kvmtool is a virtual machine manager that enables hosting KVM > guests. ARM is working to enhance kvmtool support to enable > launching of KVM guest with UEFI support. Why is QEMU not good enough? (With or without KVM.) Another platform I've recently learned about (for QEMU) is the SBSA reference machine type. I'm concerned that this kind of divergence will be hard to maintain in a common firmware package. Here's my understanding: - ArmVirtQemu: supposed to run data center / cloud workloads - SBSA reference machine: supposed to emulate physical machines as closely as possible; primarily intended as a development environment for physical machines - firmware for the kvmtool platform: ? > This patch series enables UEFI support for kvmtool's emulated ARM > platform and is required to allow testing of kvmtool enhancements. > > Note: > 1. These kvmtool platform support patches currently expose >the kvmtool provided DT to the OS. Support for ACPI is >planned, using Dynamic Tables Framework and should be >available in the near future. The Dynamic ACPI Tables Framework is not useful under QEMU, because QEMU generates its own set of tables. The framework would be very useful (I think) on the SBSA reference machine, given that the framework would be shipped (presumably) on physical machines as well. Why is it useful for kvmtool? > 2. This new platform port can only be used with the updated >kvmtool that is currently under development review. > > The changes can be seen at > https://github.com/samimujawar/edk2/tree/299_kvmtool_plat_support_v1 I think it's valid to develop and review both streams of patches in parallel. Usually firmware maintainers ask for the hardware emulation bits to be pushed first. Thanks Laszlo > > Sami Mujawar (6): > PcAtChipsetPkg: Add MMIO Support to SerialIo Lib > PcAtChipsetPkg: Add MMIO Support to RTC driver > MdeModulePkg: Map persistent (NV) memory > ArmVirtPkg: Save DT base address from X0 in PCD > ArmVirtPkg: Add kvmtool platform driver > ArmVirtPkg: Support for kvmtool emulated platform > > ArmVirtPkg/ArmVirtKvmTool.dsc | > 390 > ArmVirtPkg/ArmVirtKvmTool.fdf | > 297 +++ > ArmVirtPkg/ArmVirtPkg.dec | > 12 +- > ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c | > 211 +++ > ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | > 60 +++ > ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S| > 9 +- > MdeModulePkg/MdeModulePkg.dec | > 9 + > MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c| > 77 +++- > MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf| > 6 + > PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf | > 4 + > PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | > 98 - > PcAtChipsetPkg/PcAtChipsetPkg.dec | > 8 + > PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | > 38 +- > PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c| > 112 +- > PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf | > 8 + > 15 files changed, 1309 insertions(+), 30 deletions(-) > create mode 100644 ArmVirtPkg/ArmVirtKvmTool.dsc > create mode 100644 ArmVirtPkg/ArmVirtKvmTool.fdf > create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c > create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 0/6] Add kvmtool emulated platform support for ARM
Kvmtool is a virtual machine manager that enables hosting KVM guests. ARM is working to enhance kvmtool support to enable launching of KVM guest with UEFI support. This patch series enables UEFI support for kvmtool's emulated ARM platform and is required to allow testing of kvmtool enhancements. Note: 1. These kvmtool platform support patches currently expose the kvmtool provided DT to the OS. Support for ACPI is planned, using Dynamic Tables Framework and should be available in the near future. 2. This new platform port can only be used with the updated kvmtool that is currently under development review. The changes can be seen at https://github.com/samimujawar/edk2/tree/299_kvmtool_plat_support_v1 Sami Mujawar (6): PcAtChipsetPkg: Add MMIO Support to SerialIo Lib PcAtChipsetPkg: Add MMIO Support to RTC driver MdeModulePkg: Map persistent (NV) memory ArmVirtPkg: Save DT base address from X0 in PCD ArmVirtPkg: Add kvmtool platform driver ArmVirtPkg: Support for kvmtool emulated platform ArmVirtPkg/ArmVirtKvmTool.dsc | 390 ArmVirtPkg/ArmVirtKvmTool.fdf | 297 +++ ArmVirtPkg/ArmVirtPkg.dec | 12 +- ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c | 211 +++ ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | 60 +++ ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S| 9 +- MdeModulePkg/MdeModulePkg.dec | 9 + MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c| 77 +++- MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf| 6 + PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf | 4 + PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | 98 - PcAtChipsetPkg/PcAtChipsetPkg.dec | 8 + PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | 38 +- PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c| 112 +- PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf | 8 + 15 files changed, 1309 insertions(+), 30 deletions(-) create mode 100644 ArmVirtPkg/ArmVirtKvmTool.dsc create mode 100644 ArmVirtPkg/ArmVirtKvmTool.fdf create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel