From: "Xu, Wei6" <wei6.xu@intel.com>
To: devel@edk2.groups.io
Cc: Jian J Wang <jian.j.wang@intel.com>,
Hao A Wu <hao.a.wu@intel.com>,
Michael D Kinney <michael.d.kinney@intel.com>,
Liming Gao <liming.gao@intel.com>,
Chao B Zhang <chao.b.zhang@intel.com>
Subject: [edk2-devel][Patch v2 0/7] Implement Capsule On Disk.
Date: Wed, 5 Jun 2019 23:41:56 +0800 [thread overview]
Message-ID: <20190605154203.11012-1-wei6.xu@intel.com> (raw)
V2:
Fix Ecc check failure.
V1:
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1852
This patch set implements Capsule On Disk.
Depends on whether platform supports Capsule-In-Ram, Capsule On Disk feature is composed of 2 solutions:
Solution A): Load capsules out of TCB, rely on UpdateCapsule() runtime service to deliver Capsule-On-Disk.
Solution B): Relocate capsules into a temp file which will be stored in root directory on a platform specific storage device.
Leverage existing storage stack in PEI to load all capsule on disk images and create capsule hobs for the capsules.
This solution has bigger TCB, but can work without Capsule-In-RAM support.
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Chao B Zhang <chao.b.zhang@intel.com>
xuwei6 (7):
MdePkg: Add Pei Boot In CapsuleOnDisk Mode Ppi definition.
MdeModulePkg: Add Capsule On Disk related definition.
MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM.
MdeModulePkg/BdsDxe: Support Capsule On Disk.
MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature.
MdeModulePkg/DxeIpl: Support Capsule On Disk.
MdeModulePkg: Add Capsule On Disk APIs into CapsuleLib.
MdeModulePkg/Core/DxeIplPeim/DxeIpl.h | 3 +-
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 20 +-
MdeModulePkg/Core/DxeIplPeim/DxeLoad.c | 37 +-
MdeModulePkg/Include/Library/CapsuleLib.h | 94 +-
MdeModulePkg/Include/Ppi/CapsuleOnDisk.h | 48 +
.../Library/DxeCapsuleLibFmp/CapsuleOnDisk.c | 1983 ++++++++++++++++++++
.../Library/DxeCapsuleLibFmp/CapsuleOnDisk.h | 63 +
.../Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 56 +-
.../Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | 21 +-
.../DxeCapsuleLibFmp/DxeCapsuleProcessLib.c | 121 +-
.../Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c | 67 +-
.../DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | 3 +-
.../Library/DxeCapsuleLibNull/DxeCapsuleLibNull.c | 85 +-
MdeModulePkg/MdeModulePkg.dec | 43 +
MdeModulePkg/MdeModulePkg.dsc | 4 +
MdeModulePkg/MdeModulePkg.uni | 32 +
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 3 +-
MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 6 +-
.../CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPei.c | 442 +++++
.../CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPei.inf | 64 +
.../CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPei.uni | 15 +
.../CapsuleOnDiskLoadPeiExtra.uni | 14 +
.../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 1 +
.../Universal/CapsuleRuntimeDxe/CapsuleService.c | 10 +-
MdePkg/Include/Ppi/BootInRecoveryMode.h | 9 +-
MdePkg/MdePkg.dec | 3 +
26 files changed, 3205 insertions(+), 42 deletions(-)
create mode 100644 MdeModulePkg/Include/Ppi/CapsuleOnDisk.h
create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/CapsuleOnDisk.c
create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/CapsuleOnDisk.h
create mode 100644 MdeModulePkg/Universal/CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPei.c
create mode 100644 MdeModulePkg/Universal/CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPei.inf
create mode 100644 MdeModulePkg/Universal/CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPei.uni
create mode 100644 MdeModulePkg/Universal/CapsuleOnDiskLoadPei/CapsuleOnDiskLoadPeiExtra.uni
--
2.16.2.windows.1
next reply other threads:[~2019-06-05 15:42 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-05 15:41 Xu, Wei6 [this message]
2019-06-05 15:41 ` [edk2-devel][Patch v2 1/7] MdePkg: Add Pei Boot In CapsuleOnDisk Mode Ppi definition Xu, Wei6
2019-06-05 21:42 ` Felix Polyudov
2019-06-12 7:48 ` Wu, Hao A
2019-06-12 8:28 ` Liming Gao
2019-06-05 15:41 ` [edk2-devel][Patch v2 2/7] MdeModulePkg: Add Capsule On Disk related definition Xu, Wei6
2019-06-12 7:48 ` Wu, Hao A
2019-06-12 8:43 ` Xu, Wei6
2019-06-05 15:41 ` [edk2-devel][Patch v2 3/7] MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM Xu, Wei6
2019-06-12 7:49 ` Wu, Hao A
2019-06-19 8:40 ` Xu, Wei6
2019-06-19 8:59 ` Ni, Ray
2019-06-20 0:59 ` Wu, Hao A
2019-06-05 15:42 ` [edk2-devel][Patch v2 4/7] MdeModulePkg/BdsDxe: Support Capsule On Disk Xu, Wei6
2019-06-05 15:42 ` [edk2-devel][Patch v2 5/7] MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature Xu, Wei6
2019-06-12 7:49 ` Wu, Hao A
2019-06-19 0:41 ` Zhang, Chao B
2019-06-19 0:59 ` Wu, Hao A
2019-06-19 1:13 ` Zhang, Chao B
2019-06-19 2:22 ` Wu, Hao A
2019-06-05 15:42 ` [edk2-devel][Patch v2 6/7] MdeModulePkg/DxeIpl: Support Capsule On Disk Xu, Wei6
2019-06-12 7:49 ` Wu, Hao A
2019-06-05 15:42 ` [edk2-devel][Patch v2 7/7] MdeModulePkg: Add Capsule On Disk APIs into CapsuleLib Xu, Wei6
2019-06-12 7:49 ` Wu, Hao A
2019-06-19 7:55 ` Xu, Wei6
2019-06-19 8:16 ` Wu, Hao A
2019-06-19 8:19 ` Wu, Hao A
2019-06-19 8:23 ` Xu, Wei6
2019-06-05 21:53 ` [edk2-devel][Patch v2 0/7] Implement Capsule On Disk Felix Polyudov
2019-06-05 22:36 ` Michael D Kinney
2019-06-06 1:23 ` Zhang, Chao B
2019-06-12 7:47 ` Wu, Hao A
2019-06-12 8:13 ` Zhang, Chao B
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190605154203.11012-1-wei6.xu@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox