mirror of https://github.com/acidanthera/audk.git
MdeMoudlePkg/CapsulePei: Optimize AreCapsulesStaged
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1853 AreCapsulesStaged do not need to return the status, only boolean result is useful. So directly return a boolean value. Cannot initialize the variable at its definition. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Turner <Michael.Turner@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Signed-off-by: Zhichao gao <zhichao.gao@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
This commit is contained in:
parent
0c52961538
commit
f654a18b66
|
@ -793,29 +793,21 @@ BuildMemoryResourceDescriptor (
|
||||||
/**
|
/**
|
||||||
Check if the capsules are staged.
|
Check if the capsules are staged.
|
||||||
|
|
||||||
@param UpdateCapsules A pointer to return the check result.
|
@retval TRUE The capsules are staged.
|
||||||
|
@retval FALSE The capsules are not staged.
|
||||||
@retval EFI_INVALID_PARAMETER The parameter is null.
|
|
||||||
@retval EFI_SUCCESS The Capsules are staged.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
BOOLEAN
|
||||||
AreCapsulesStaged (
|
AreCapsulesStaged (
|
||||||
OUT BOOLEAN *UpdateCapsules
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
UINTN Size;
|
UINTN Size;
|
||||||
EFI_PEI_READ_ONLY_VARIABLE2_PPI *PPIVariableServices;
|
EFI_PEI_READ_ONLY_VARIABLE2_PPI *PPIVariableServices;
|
||||||
EFI_PHYSICAL_ADDRESS CapsuleDataPtr64 = 0;
|
EFI_PHYSICAL_ADDRESS CapsuleDataPtr64;
|
||||||
|
|
||||||
if (UpdateCapsules == NULL) {
|
CapsuleDataPtr64 = 0;
|
||||||
DEBUG ((DEBUG_ERROR, "%a Invalid parameters. Inputs can't be NULL\n", __FUNCTION__));
|
|
||||||
ASSERT (UpdateCapsules != NULL);
|
|
||||||
return EFI_INVALID_PARAMETER;
|
|
||||||
}
|
|
||||||
|
|
||||||
*UpdateCapsules = FALSE;
|
|
||||||
|
|
||||||
Status = PeiServicesLocatePpi(
|
Status = PeiServicesLocatePpi(
|
||||||
&gEfiPeiReadOnlyVariable2PpiGuid,
|
&gEfiPeiReadOnlyVariable2PpiGuid,
|
||||||
|
@ -826,7 +818,7 @@ AreCapsulesStaged (
|
||||||
|
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
DEBUG ((DEBUG_ERROR, "Failed to find ReadOnlyVariable2PPI\n"));
|
DEBUG ((DEBUG_ERROR, "Failed to find ReadOnlyVariable2PPI\n"));
|
||||||
return Status;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -843,10 +835,10 @@ AreCapsulesStaged (
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
*UpdateCapsules = TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MAX_SG_LIST_HEADS (20)
|
#define MAX_SG_LIST_HEADS (20)
|
||||||
|
@ -1120,19 +1112,11 @@ CheckCapsuleUpdate (
|
||||||
IN EFI_PEI_SERVICES **PeiServices
|
IN EFI_PEI_SERVICES **PeiServices
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
if (AreCapsulesStaged ()) {
|
||||||
BOOLEAN Update;
|
return EFI_SUCCESS;
|
||||||
|
} else {
|
||||||
Status = AreCapsulesStaged (&Update);
|
return EFI_NOT_FOUND;
|
||||||
|
|
||||||
if (!EFI_ERROR (Status)) {
|
|
||||||
if (Update) {
|
|
||||||
Status = EFI_SUCCESS;
|
|
||||||
} else {
|
|
||||||
Status = EFI_NOT_FOUND;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return Status;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
This function will look at a capsule and determine if it's a test pattern.
|
This function will look at a capsule and determine if it's a test pattern.
|
||||||
|
|
Loading…
Reference in New Issue