public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel][Patch 0/7] Implement Capsule On Disk.
@ 2019-05-28 17:05 Xu, Wei6
  2019-05-28 17:05 ` [edk2-devel][Patch 1/7] MdePkg: Add Pei Boot In CapsuleOnDisk Mode Ppi definition Xu, Wei6
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Xu, Wei6 @ 2019-05-28 17:05 UTC (permalink / raw)
  To: devel; +Cc: Jian J Wang, Hao A Wu, Michael D Kinney, Liming Gao, Chao B Zhang

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       | 1984 ++++++++++++++++++++
 .../Library/DxeCapsuleLibFmp/CapsuleOnDisk.h       |   63 +
 .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.c       |   51 +-
 .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf     |   20 +-
 .../DxeCapsuleLibFmp/DxeCapsuleProcessLib.c        |  121 +-
 .../Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c |   66 +-
 .../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, 3200 insertions(+), 41 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


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

end of thread, other threads:[~2019-05-29  0:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-28 17:05 [edk2-devel][Patch 0/7] Implement Capsule On Disk Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 1/7] MdePkg: Add Pei Boot In CapsuleOnDisk Mode Ppi definition Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 2/7] MdeModulePkg: Add Capsule On Disk related definition Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 3/7] MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 4/7] MdeModulePkg/BdsDxe: Support Capsule On Disk Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 5/7] MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 6/7] MdeModulePkg/DxeIpl: Support Capsule On Disk Xu, Wei6
2019-05-28 17:05 ` [edk2-devel][Patch 7/7] MdeModulePkg: Add Capsule On Disk APIs into CapsuleLib Xu, Wei6
2019-05-29  0:33 ` [edk2-devel][Patch 0/7] Implement Capsule On Disk Liming Gao
2019-05-29  0:34   ` Zhang, Chao B

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