public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 00/11] Kvmtool guest firmware support for Arm
@ 2020-05-14  8:40 Sami Mujawar
  2020-05-14  8:40 ` [PATCH v2 01/11] PcAtChipsetPkg: Add MMIO Support to RTC driver Sami Mujawar
                   ` (10 more replies)
  0 siblings, 11 replies; 40+ messages in thread
From: Sami Mujawar @ 2020-05-14  8:40 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, leif, ray.ni, michael.d.kinney,
	liming.gao, lersek, Alexandru.Elisei, Andre.Przywara,
	Matteo.Carlini, Laura.Moretta, nd

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 v1 series discussed
    on the mailing list at:
    https://edk2.groups.io/g/devel/topic/30915280#30694

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

Sami Mujawar (11):
  PcAtChipsetPkg: Add MMIO Support to RTC driver
  MdePkg: Add NULL implementation for PCILib
  MdePkg: Base Memory Lib instance using MMIO
  ArmPlatformPkg: Use MMIO to read device memory
  ArmPlatformPkg: Dynamic flash variable base
  ArmVirtPkg: Add kvmtool platform driver
  ArmVirtPkg: kvmtool platform memory map
  ArmVirtPkg: Add Kvmtool NOR flash lib
  ArmVirtPkg: Support for kvmtool emulated platform
  ArmVirtPkg: Link NorFlashDxe with BaseMemoryLibMmio
  Maintainer.txt: Add Kvmtool emulated plat maintainer

 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c                           |   65 +-
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c                        |    4 +-
 ArmVirtPkg/{ArmVirtQemuKernel.dsc => ArmVirtKvmTool.dsc}                   |  309 +++--
 ArmVirtPkg/ArmVirtKvmTool.fdf                                              |  276 +++++
 ArmVirtPkg/ArmVirtQemu.dsc                                                 |    8 +-
 ArmVirtPkg/ArmVirtQemuKernel.dsc                                           |    8 +-
 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c                         |   93 ++
 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf                       |   47 +
 ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.c           |  114 ++
 ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf         |   42 +
 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c                    |  265 +++++
 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf               |   50 +
 Maintainers.txt                                                            |    7 +
 MdePkg/Library/BaseMemoryLibMmio/BaseMemoryLibMmio.inf                     |   50 +
 MdePkg/Library/BaseMemoryLibMmio/BaseMemoryLibMmio.uni                     |   15 +
 MdePkg/Library/BaseMemoryLibMmio/CompareMemWrapper.c                       |   62 +
 MdePkg/Library/BaseMemoryLibMmio/CopyMem.c                                 |  149 +++
 MdePkg/Library/BaseMemoryLibMmio/CopyMemWrapper.c                          |   59 +
 MdePkg/Library/BaseMemoryLibMmio/IsZeroBufferWrapper.c                     |   50 +
 MdePkg/Library/BaseMemoryLibMmio/MemLibGeneric.c                           |  304 +++++
 MdePkg/Library/BaseMemoryLibMmio/MemLibGuid.c                              |  143 +++
 MdePkg/Library/BaseMemoryLibMmio/MemLibInternals.h                         |  248 ++++
 MdePkg/Library/BaseMemoryLibMmio/ScanMem16Wrapper.c                        |   63 +
 MdePkg/Library/BaseMemoryLibMmio/ScanMem32Wrapper.c                        |   62 +
 MdePkg/Library/BaseMemoryLibMmio/ScanMem64Wrapper.c                        |   63 +
 MdePkg/Library/BaseMemoryLibMmio/ScanMem8Wrapper.c                         |   95 ++
 MdePkg/Library/BaseMemoryLibMmio/SetMem.c                                  |   83 ++
 MdePkg/Library/BaseMemoryLibMmio/SetMem16Wrapper.c                         |   60 +
 MdePkg/Library/BaseMemoryLibMmio/SetMem32Wrapper.c                         |   60 +
 MdePkg/Library/BaseMemoryLibMmio/SetMem64Wrapper.c                         |   60 +
 MdePkg/Library/BaseMemoryLibMmio/SetMemWrapper.c                           |   87 ++
 MdePkg/Library/BaseMemoryLibMmio/ZeroMemWrapper.c                          |   52 +
 MdePkg/Library/PciLibNull/PciLibNull.c                                     | 1213 ++++++++++++++++++++
 MdePkg/Library/PciLibNull/PciLibNull.inf                                   |   25 +
 PcAtChipsetPkg/PcAtChipsetPkg.dec                                          |    8 +
 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c                         |  117 +-
 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.h                         |   31 +
 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c                    |  130 ++-
 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf |    8 +
 39 files changed, 4326 insertions(+), 259 deletions(-)
 copy ArmVirtPkg/{ArmVirtQemuKernel.dsc => ArmVirtKvmTool.dsc} (59%)
 create mode 100644 ArmVirtPkg/ArmVirtKvmTool.fdf
 create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c
 create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.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
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/BaseMemoryLibMmio.inf
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/BaseMemoryLibMmio.uni
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/CompareMemWrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/CopyMem.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/CopyMemWrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/IsZeroBufferWrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/MemLibGeneric.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/MemLibGuid.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/MemLibInternals.h
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/ScanMem16Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/ScanMem32Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/ScanMem64Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/ScanMem8Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/SetMem.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/SetMem16Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/SetMem32Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/SetMem64Wrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/SetMemWrapper.c
 create mode 100644 MdePkg/Library/BaseMemoryLibMmio/ZeroMemWrapper.c
 create mode 100644 MdePkg/Library/PciLibNull/PciLibNull.c
 create mode 100644 MdePkg/Library/PciLibNull/PciLibNull.inf

-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2020-06-04 15:00 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-14  8:40 [PATCH v2 00/11] Kvmtool guest firmware support for Arm Sami Mujawar
2020-05-14  8:40 ` [PATCH v2 01/11] PcAtChipsetPkg: Add MMIO Support to RTC driver Sami Mujawar
2020-05-14  9:24   ` Ard Biesheuvel
2020-05-15 10:50   ` André Przywara
2020-05-27  0:37     ` [edk2-devel] " Guomin Jiang
2020-05-14  8:40 ` [PATCH v1 02/11] MdePkg: Add NULL implementation for PCILib Sami Mujawar
2020-05-14  9:23   ` Ard Biesheuvel
2020-05-14 16:21   ` Michael D Kinney
2020-05-14  8:40 ` [PATCH v1 03/11] MdePkg: Base Memory Lib instance using MMIO Sami Mujawar
2020-05-14  9:22   ` Ard Biesheuvel
2020-05-14 17:21     ` Ard Biesheuvel
2020-05-14 16:33   ` [edk2-devel] " Michael D Kinney
2020-05-14  8:40 ` [PATCH v1 04/11] ArmPlatformPkg: Use MMIO to read device memory Sami Mujawar
2020-05-14  8:40 ` [PATCH v1 05/11] ArmPlatformPkg: Dynamic flash variable base Sami Mujawar
2020-05-14  9:24   ` Ard Biesheuvel
2020-05-27 11:48   ` [edk2-devel] " Philippe Mathieu-Daudé
2020-05-14  8:40 ` [PATCH v2 06/11] ArmVirtPkg: Add kvmtool platform driver Sami Mujawar
2020-05-14  9:29   ` Ard Biesheuvel
2020-05-14 12:12     ` [edk2-devel] " Laszlo Ersek
2020-05-14 12:17       ` Ard Biesheuvel
2020-05-14 16:05         ` Laszlo Ersek
2020-05-14 17:25           ` Ard Biesheuvel
2020-05-15  7:28             ` Laszlo Ersek
2020-05-14 12:20       ` Laszlo Ersek
2020-05-14  8:40 ` [PATCH v1 07/11] ArmVirtPkg: kvmtool platform memory map Sami Mujawar
2020-05-14  9:30   ` Ard Biesheuvel
2020-05-14 12:15   ` [edk2-devel] " Laszlo Ersek
2020-05-14  8:40 ` [PATCH v1 08/11] ArmVirtPkg: Add Kvmtool NOR flash lib Sami Mujawar
2020-05-14  9:32   ` Ard Biesheuvel
2020-05-14 12:17     ` [edk2-devel] " Laszlo Ersek
2020-05-27 11:59   ` Philippe Mathieu-Daudé
2020-06-04  6:30     ` Philippe Mathieu-Daudé
2020-06-04 15:00       ` Sami Mujawar
2020-05-14  8:40 ` [PATCH v2 09/11] ArmVirtPkg: Support for kvmtool emulated platform Sami Mujawar
2020-05-14  9:56   ` Ard Biesheuvel
2020-05-14 12:24   ` [edk2-devel] " Laszlo Ersek
2020-05-14  8:40 ` [PATCH v1 10/11] ArmVirtPkg: Link NorFlashDxe with BaseMemoryLibMmio Sami Mujawar
2020-05-14 12:28   ` [edk2-devel] " Laszlo Ersek
2020-05-14  8:40 ` [PATCH v1 11/11] Maintainer.txt: Add Kvmtool emulated plat maintainer Sami Mujawar
2020-05-14 12:31   ` [edk2-devel] " Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox