MdeModulePkg/Variable: Parameterize VARIABLE_INFO_ENTRY buffer
UpdateVariableInfo () currently accepts parameters regarding updates to be made to a global variable of type VARIABLE_INFO_ENTRY. This change passes the structure by pointer to UpdateVariableInfo () so structures other than the fixed global variable can be updated. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Eric Dong <eric.dong@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
This commit is contained in:
@@ -1641,7 +1641,7 @@ UpdateVariable (
|
||||
// go to delete this variable in variable HOB and
|
||||
// try to flush other variables from HOB to flash.
|
||||
//
|
||||
UpdateVariableInfo (VariableName, VendorGuid, FALSE, FALSE, FALSE, TRUE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, FALSE, FALSE, FALSE, TRUE, FALSE, &gVariableInfo);
|
||||
FlushHobVariableToFlash (VariableName, VendorGuid);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -1758,7 +1758,7 @@ UpdateVariable (
|
||||
&State
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, FALSE, TRUE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, FALSE, TRUE, FALSE, &gVariableInfo);
|
||||
if (!Variable->Volatile) {
|
||||
CacheVariable->CurrPtr->State = State;
|
||||
FlushHobVariableToFlash (VariableName, VendorGuid);
|
||||
@@ -1777,7 +1777,7 @@ UpdateVariable (
|
||||
//
|
||||
// Variable content unchanged and no need to update timestamp, just return.
|
||||
//
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, TRUE, FALSE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, TRUE, FALSE, FALSE, &gVariableInfo);
|
||||
Status = EFI_SUCCESS;
|
||||
goto Done;
|
||||
} else if ((CacheVariable->CurrPtr->State == VAR_ADDED) ||
|
||||
@@ -2006,7 +2006,7 @@ UpdateVariable (
|
||||
CacheVariable->CurrPtr = (VARIABLE_HEADER *)((UINTN) CacheVariable->StartPtr + ((UINTN) Variable->CurrPtr - (UINTN) Variable->StartPtr));
|
||||
CacheVariable->InDeletedTransitionPtr = NULL;
|
||||
}
|
||||
UpdateVariableInfo (VariableName, VendorGuid, FALSE, FALSE, TRUE, FALSE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, FALSE, FALSE, TRUE, FALSE, FALSE, &gVariableInfo);
|
||||
FlushHobVariableToFlash (VariableName, VendorGuid);
|
||||
} else {
|
||||
if (IsCommonUserVariable && ((VarSize + mVariableModuleGlobal->CommonUserVariableTotalSize) > mVariableModuleGlobal->CommonMaxUserVariableSpace)) {
|
||||
@@ -2156,7 +2156,7 @@ UpdateVariable (
|
||||
CacheVariable->CurrPtr = (VARIABLE_HEADER *)((UINTN) CacheVariable->StartPtr + ((UINTN) Variable->CurrPtr - (UINTN) Variable->StartPtr));
|
||||
CacheVariable->InDeletedTransitionPtr = NULL;
|
||||
}
|
||||
UpdateVariableInfo (VariableName, VendorGuid, TRUE, FALSE, TRUE, FALSE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, TRUE, FALSE, TRUE, FALSE, FALSE, &gVariableInfo);
|
||||
}
|
||||
goto Done;
|
||||
}
|
||||
@@ -2227,7 +2227,7 @@ UpdateVariable (
|
||||
}
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Volatile, FALSE, TRUE, FALSE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Volatile, FALSE, TRUE, FALSE, FALSE, &gVariableInfo);
|
||||
if (!Volatile) {
|
||||
FlushHobVariableToFlash (VariableName, VendorGuid);
|
||||
}
|
||||
@@ -2306,7 +2306,7 @@ VariableServiceGetVariable (
|
||||
}
|
||||
|
||||
*DataSize = VarDataSize;
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Variable.Volatile, TRUE, FALSE, FALSE, FALSE);
|
||||
UpdateVariableInfo (VariableName, VendorGuid, Variable.Volatile, TRUE, FALSE, FALSE, FALSE, &gVariableInfo);
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
goto Done;
|
||||
|
Reference in New Issue
Block a user