From:
Tuan Phan <tphan@ventanamicro.com>
Date: Monday, 21 April 2025 at 17:58
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: andyw@imsa.edu <andyw@imsa.edu>, maobibo@loongson.cn <maobibo@loongson.cn>, lichao@loongson.cn <lichao@loongson.cn>, kraxel@redhat.com <kraxel@redhat.com>, jiewen.yao@intel.com <jiewen.yao@intel.com>, leif.lindholm@oss.qualcomm.com <leif.lindholm@oss.qualcomm.com>,
Sami Mujawar <Sami.Mujawar@arm.com>, sunilvl@ventanamicro.com <sunilvl@ventanamicro.com>, ardb+tianocore@kernel.org <ardb+tianocore@kernel.org>, lixianglai@loongson.cn <lixianglai@loongson.cn>, Tuan Phan <tphan@ventanamicro.com>
Subject: [PATCH 0/3] OvmfPkg/RiscVVirt: Add support for Capsule Firmware Upgrade
This patch series introduces capsule-based firmware upgrade support
for the RISC-V Virt platform.
Changes:
- Moved low level NOR flash functions to a seperate library.
- Implemented capsule firmware upgrade support.
Tuan Phan (3):
OvmfPkg/VirtNorFlash: Move low level NOR flash functions into library
ArmVirtPkg: Link all targets to the new VirtNorFlashDeviceLib
OvmfPkg/RiscVVirt: Add support for Capsule Firmware Upgrade
ArmVirtPkg/ArmVirtKvmTool.dsc | 1 +
ArmVirtPkg/ArmVirtQemu.dsc | 1 +
ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 +
.../Include/Library/VirtNorFlashDeviceLib.h | 201 +++++
.../VirtNorFlashDeviceLib.c} | 411 ++++++----
.../VirtNorFlashDeviceLib.inf | 30 +
OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc | 5 +-
OvmfPkg/OvmfPkg.ci.yaml | 3 +-
OvmfPkg/OvmfPkg.dec | 4 +
.../Capsule/GenerateCapsule/GenCapsule.py | 332 ++++++++
.../CapsuleUpdatePolicyLib.c | 121 +++
.../CapsuleUpdatePolicyLib.inf | 29 +
.../CapsuleUpdatePolicyLib.uni | 12 +
.../Library/FmpDeviceLib/FmpDeviceLib.c | 774 ++++++++++++++++++
.../Library/FmpDeviceLib/FmpDeviceLib.inf | 46 ++
.../PlatformFlashAccessLib.c | 236 ++++++
.../PlatformFlashAccessLib.h | 95 +++
.../PlatformFlashAccessLib.inf | 34 +
OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc | 44 +-
OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf | 5 +
OvmfPkg/RiscVVirt/RiscVVirtSystemFW.dsc.inc | 61 ++
OvmfPkg/VirtNorFlashDxe/VirtNorFlash.h | 345 --------
OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c | 180 +---
OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.h | 156 ++++
OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf | 3 +-
OvmfPkg/VirtNorFlashDxe/VirtNorFlashFvb.c | 53 +-
26 files changed, 2538 insertions(+), 645 deletions(-)
create mode 100644 OvmfPkg/Include/Library/VirtNorFlashDeviceLib.h
rename OvmfPkg/{VirtNorFlashDxe/VirtNorFlash.c => Library/VirtNorFlashDeviceLib/VirtNorFlashDeviceLib.c} (63%)
create mode 100644 OvmfPkg/Library/VirtNorFlashDeviceLib/VirtNorFlashDeviceLib.inf
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/GenerateCapsule/GenCapsule.py
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/CapsuleUpdatePolicyLib/CapsuleUpdatePolicyLib.c
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/CapsuleUpdatePolicyLib/CapsuleUpdatePolicyLib.inf
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/CapsuleUpdatePolicyLib/CapsuleUpdatePolicyLib.uni
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/FmpDeviceLib/FmpDeviceLib.c
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/FmpDeviceLib/FmpDeviceLib.inf
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.c
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.h
create mode 100644 OvmfPkg/RiscVVirt/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf
create mode 100644 OvmfPkg/RiscVVirt/RiscVVirtSystemFW.dsc.inc
delete mode 100644 OvmfPkg/VirtNorFlashDxe/VirtNorFlash.h
create mode 100644 OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.h
--
2.34.1