mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature.
https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Capsule- on-Disk-Introducation Introduce PcdCapsuleInRamSupport to turn on/off Capsule In Ram feature. Platform could choose to drop CapsulePei/CapsuleX64 and not to support Capsule In Ram. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Chao B Zhang <chao.b.zhang@intel.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Reviewed-by: Chao B Zhang <chao.b.zhang@intel.com>
This commit is contained in:
parent
fd72860895
commit
7837d12498
|
@ -90,6 +90,7 @@
|
|||
[Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule ## SOMETIMES_CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule ## SOMETIMES_CONSUMES # Populate Image requires reset support.
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleInRamSupport ## CONSUMES
|
||||
|
||||
[Pcd.X64]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize ## SOMETIMES_CONSUMES
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
It installs the Capsule Architectural Protocol defined in PI1.0a to signify
|
||||
the capsule runtime services are ready.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
@ -71,6 +71,14 @@ UpdateCapsule (
|
|||
CHAR16 CapsuleVarName[30];
|
||||
CHAR16 *TempVarName;
|
||||
|
||||
//
|
||||
// Check if platform support Capsule In RAM or not.
|
||||
// Platform could choose to drop CapsulePei/CapsuleX64 and do not support Capsule In RAM.
|
||||
//
|
||||
if (!PcdGetBool(PcdCapsuleInRamSupport)) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
//
|
||||
// Capsule Count can't be less than one.
|
||||
//
|
||||
|
@ -218,6 +226,8 @@ UpdateCapsule (
|
|||
|
||||
/**
|
||||
Returns if the capsule can be supported via UpdateCapsule().
|
||||
Notice: When PcdCapsuleInRamSupport is unsupported, even this routine returns a valid answer,
|
||||
the capsule still is unsupported via UpdateCapsule().
|
||||
|
||||
@param CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules
|
||||
being passed into update capsule.
|
||||
|
|
Loading…
Reference in New Issue