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]
|
[Pcd]
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule ## SOMETIMES_CONSUMES
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule ## SOMETIMES_CONSUMES
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule ## SOMETIMES_CONSUMES # Populate Image requires reset support.
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule ## SOMETIMES_CONSUMES # Populate Image requires reset support.
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleInRamSupport ## CONSUMES
|
||||||
|
|
||||||
[Pcd.X64]
|
[Pcd.X64]
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize ## SOMETIMES_CONSUMES
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize ## SOMETIMES_CONSUMES
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
It installs the Capsule Architectural Protocol defined in PI1.0a to signify
|
It installs the Capsule Architectural Protocol defined in PI1.0a to signify
|
||||||
the capsule runtime services are ready.
|
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
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -71,6 +71,14 @@ UpdateCapsule (
|
||||||
CHAR16 CapsuleVarName[30];
|
CHAR16 CapsuleVarName[30];
|
||||||
CHAR16 *TempVarName;
|
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.
|
// Capsule Count can't be less than one.
|
||||||
//
|
//
|
||||||
|
@ -218,6 +226,8 @@ UpdateCapsule (
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns if the capsule can be supported via 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
|
@param CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules
|
||||||
being passed into update capsule.
|
being passed into update capsule.
|
||||||
|
|
Loading…
Reference in New Issue