public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 00/11] ArmVirtPkg: introduce VirtNorFlashDxe
@ 2022-10-24 17:01 Ard Biesheuvel
  2022-10-24 17:01 ` [PATCH 01/11] OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib Ard Biesheuvel
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Ard Biesheuvel @ 2022-10-24 17:01 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Gerd Hoffmann, Sunil V L, Sami Mujawar,
	Leif Lindholm

Create a new driver VirtNorFlashDxe that targets QEMU and KvmTool's NOR
flash emulation specifically, and retire the ArmPlatformPkg one.

This permits new virt implementations to wire up QEMU's NOR flash
emulation without having to rely on ARM specific packages. It also
permits us to implement some tweaks to work around some rough
performance edges of KVM memslot backed NOR flash.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>

Ard Biesheuvel (11):
  OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib
  OvmfPkg/VirtNorFlashDxe: clone ArmPlatformPkg's NOR flash driver
  OvmfPkg/VirtNorFlashDxe: remove CheckBlockLocked feature
  OvmfPkg/VirtNorFlashDxe: remove disk I/O protocol implementation
  OvmfPkg/VirtNorFlashDxe: drop block I/O protocol implementation
  OvmfPkg/VirtNorFlashDxe: avoid array mode switch after each word write
  OvmfPkg/VirtNorFlashDxe: avoid switching between modes in a tight loop
  OvmfPkg/VirtNorFlashDxe: use EFI_MEMORY_WC and drop AlignedCopyMem()
  ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe
  ArmVirtPkg/ArmVirtKvmTool: Migrate to OVMF's VirtNorFlashDxe
  ArmPlatformPkg: Retire NorFlashDxe driver

 ArmPlatformPkg/ArmPlatformPkg.dec                                                                         |   6 -
 ArmPlatformPkg/ArmPlatformPkg.dsc                                                                         |   6 -
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c                                                   | 123 -----
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.c                                                 | 383 ---------------
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf                                               |  66 ---
 ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.c                                  |  28 --
 ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.inf                                |  24 -
 ArmVirtPkg/ArmVirtKvmTool.dsc                                                                             |   4 +-
 ArmVirtPkg/ArmVirtKvmTool.fdf                                                                             |   2 +-
 ArmVirtPkg/ArmVirtQemu.dsc                                                                                |   4 +-
 ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc                                                                      |   2 +-
 ArmVirtPkg/ArmVirtQemuKernel.dsc                                                                          |   4 +-
 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c                                                   |  20 +-
 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf                                              |   4 +-
 ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c                                                      |  12 +-
 ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf                                                    |   4 +-
 ArmPlatformPkg/Include/Library/NorFlashPlatformLib.h => OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h |  16 +-
 OvmfPkg/OvmfPkg.dec                                                                                       |   4 +
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.c => OvmfPkg/VirtNorFlashDxe/VirtNorFlash.c                   | 492 ++++----------------
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.h => OvmfPkg/VirtNorFlashDxe/VirtNorFlash.h                   |  83 +---
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c => OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c             |  77 +--
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf => OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf         |  39 +-
 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvb.c => OvmfPkg/VirtNorFlashDxe/VirtNorFlashFvb.c             |  62 +--
 23 files changed, 205 insertions(+), 1260 deletions(-)
 delete mode 100644 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c
 delete mode 100644 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.c
 delete mode 100644 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf
 delete mode 100644 ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.c
 delete mode 100644 ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.inf
 rename ArmPlatformPkg/Include/Library/NorFlashPlatformLib.h => OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h (52%)
 rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.c => OvmfPkg/VirtNorFlashDxe/VirtNorFlash.c (54%)
 rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.h => OvmfPkg/VirtNorFlashDxe/VirtNorFlash.h (78%)
 rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c => OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c (85%)
 rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf => OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf (78%)
 rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvb.c => OvmfPkg/VirtNorFlashDxe/VirtNorFlashFvb.c (92%)

-- 
2.35.1


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

end of thread, other threads:[~2022-10-27 16:56 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-24 17:01 [PATCH 00/11] ArmVirtPkg: introduce VirtNorFlashDxe Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 01/11] OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 02/11] OvmfPkg/VirtNorFlashDxe: clone ArmPlatformPkg's NOR flash driver Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 03/11] OvmfPkg/VirtNorFlashDxe: remove CheckBlockLocked feature Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 04/11] OvmfPkg/VirtNorFlashDxe: remove disk I/O protocol implementation Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 05/11] OvmfPkg/VirtNorFlashDxe: drop block " Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 06/11] OvmfPkg/VirtNorFlashDxe: avoid array mode switch after each word write Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 07/11] OvmfPkg/VirtNorFlashDxe: avoid switching between modes in a tight loop Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 08/11] OvmfPkg/VirtNorFlashDxe: use EFI_MEMORY_WC and drop AlignedCopyMem() Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 09/11] ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 10/11] ArmVirtPkg/ArmVirtKvmTool: Migrate " Ard Biesheuvel
2022-10-24 17:01 ` [PATCH 11/11] ArmPlatformPkg: Retire NorFlashDxe driver Ard Biesheuvel
2022-10-25 16:32   ` Leif Lindholm
2022-10-27  4:47 ` [PATCH 00/11] ArmVirtPkg: introduce VirtNorFlashDxe Sunil V L
2022-10-27 16:56   ` Ard Biesheuvel

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