**/\r
EFI_STATUS\r
GetEsrtEntry (\r
- IN EFI_GUID *FwClass,\r
- IN UINTN Attribute,\r
- OUT EFI_SYSTEM_RESOURCE_ENTRY *Entry\r
+ IN EFI_GUID *FwClass,\r
+ IN UINTN Attribute,\r
+ OUT EFI_SYSTEM_RESOURCE_ENTRY *Entry\r
)\r
{\r
EFI_STATUS Status;\r
Status = GetVariable2 (\r
VariableName,\r
&gEfiCallerIdGuid,\r
- (VOID **) &EsrtRepository,\r
+ (VOID **)&EsrtRepository,\r
&RepositorySize\r
);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto EXIT;\r
}\r
\r
- if (RepositorySize % sizeof(EFI_SYSTEM_RESOURCE_ENTRY) != 0) {\r
- DEBUG((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
+ if (RepositorySize % sizeof (EFI_SYSTEM_RESOURCE_ENTRY) != 0) {\r
+ DEBUG ((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
Status = EFI_ABORTED;\r
goto EXIT;\r
}\r
\r
Status = EFI_NOT_FOUND;\r
- EsrtNum = RepositorySize/sizeof(EFI_SYSTEM_RESOURCE_ENTRY);\r
+ EsrtNum = RepositorySize/sizeof (EFI_SYSTEM_RESOURCE_ENTRY);\r
for (Index = 0; Index < EsrtNum; Index++) {\r
- if (CompareGuid(FwClass, &EsrtRepository[Index].FwClass)) {\r
- CopyMem(Entry, &EsrtRepository[Index], sizeof(EFI_SYSTEM_RESOURCE_ENTRY));\r
+ if (CompareGuid (FwClass, &EsrtRepository[Index].FwClass)) {\r
+ CopyMem (Entry, &EsrtRepository[Index], sizeof (EFI_SYSTEM_RESOURCE_ENTRY));\r
Status = EFI_SUCCESS;\r
break;\r
}\r
\r
EXIT:\r
if (EsrtRepository != NULL) {\r
- FreePool(EsrtRepository);\r
+ FreePool (EsrtRepository);\r
}\r
\r
return Status;\r
\r
**/\r
EFI_STATUS\r
-InsertEsrtEntry(\r
- IN EFI_SYSTEM_RESOURCE_ENTRY *Entry,\r
- UINTN Attribute\r
+InsertEsrtEntry (\r
+ IN EFI_SYSTEM_RESOURCE_ENTRY *Entry,\r
+ UINTN Attribute\r
)\r
{\r
EFI_STATUS Status;\r
Status = GetVariable2 (\r
VariableName,\r
&gEfiCallerIdGuid,\r
- (VOID **) &EsrtRepository,\r
+ (VOID **)&EsrtRepository,\r
&RepositorySize\r
);\r
\r
//\r
// If not exist, create new Esrt cache repository\r
//\r
- Status = gRT->SetVariable(\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof(EFI_SYSTEM_RESOURCE_ENTRY),\r
+ sizeof (EFI_SYSTEM_RESOURCE_ENTRY),\r
Entry\r
);\r
return Status;\r
-\r
} else if (Status == EFI_SUCCESS) {\r
//\r
// if exist, update Esrt cache repository\r
//\r
- if (RepositorySize % sizeof(EFI_SYSTEM_RESOURCE_ENTRY) != 0) {\r
- DEBUG((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
+ if (RepositorySize % sizeof (EFI_SYSTEM_RESOURCE_ENTRY) != 0) {\r
+ DEBUG ((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
//\r
// Repository is corrupt. Clear Repository before insert new entry\r
//\r
- Status = gRT->SetVariable(\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
0,\r
EsrtRepository\r
);\r
- FreePool(EsrtRepository);\r
+ FreePool (EsrtRepository);\r
RepositorySize = 0;\r
EsrtRepository = NULL;\r
}\r
//\r
// Check Repository size constraint\r
//\r
- if ((Attribute == ESRT_FROM_FMP && RepositorySize >= PcdGet32(PcdMaxFmpEsrtCacheNum) * sizeof(EFI_SYSTEM_RESOURCE_ENTRY))\r
- ||(Attribute == ESRT_FROM_NONFMP && RepositorySize >= PcdGet32(PcdMaxNonFmpEsrtCacheNum) * sizeof(EFI_SYSTEM_RESOURCE_ENTRY)) ) {\r
+ if ( ((Attribute == ESRT_FROM_FMP) && (RepositorySize >= PcdGet32 (PcdMaxFmpEsrtCacheNum) * sizeof (EFI_SYSTEM_RESOURCE_ENTRY)))\r
+ || ((Attribute == ESRT_FROM_NONFMP) && (RepositorySize >= PcdGet32 (PcdMaxNonFmpEsrtCacheNum) * sizeof (EFI_SYSTEM_RESOURCE_ENTRY))))\r
+ {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto EXIT;\r
}\r
\r
- EsrtRepositoryNew = AllocatePool(RepositorySize + sizeof(EFI_SYSTEM_RESOURCE_ENTRY));\r
+ EsrtRepositoryNew = AllocatePool (RepositorySize + sizeof (EFI_SYSTEM_RESOURCE_ENTRY));\r
if (EsrtRepositoryNew == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto EXIT;\r
}\r
\r
- if (RepositorySize != 0 && EsrtRepository != NULL) {\r
- CopyMem(EsrtRepositoryNew, EsrtRepository, RepositorySize);\r
+ if ((RepositorySize != 0) && (EsrtRepository != NULL)) {\r
+ CopyMem (EsrtRepositoryNew, EsrtRepository, RepositorySize);\r
}\r
- CopyMem((UINT8 *)EsrtRepositoryNew + RepositorySize, Entry, sizeof(EFI_SYSTEM_RESOURCE_ENTRY));\r
\r
- Status = gRT->SetVariable(\r
+ CopyMem ((UINT8 *)EsrtRepositoryNew + RepositorySize, Entry, sizeof (EFI_SYSTEM_RESOURCE_ENTRY));\r
+\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- RepositorySize + sizeof(EFI_SYSTEM_RESOURCE_ENTRY),\r
+ RepositorySize + sizeof (EFI_SYSTEM_RESOURCE_ENTRY),\r
EsrtRepositoryNew\r
);\r
}\r
\r
EXIT:\r
if (EsrtRepository != NULL) {\r
- FreePool(EsrtRepository);\r
+ FreePool (EsrtRepository);\r
}\r
\r
if (EsrtRepositoryNew != NULL) {\r
- FreePool(EsrtRepositoryNew);\r
+ FreePool (EsrtRepositoryNew);\r
}\r
\r
return Status;\r
\r
**/\r
EFI_STATUS\r
-DeleteEsrtEntry(\r
- IN EFI_GUID *FwClass,\r
- IN UINTN Attribute\r
+DeleteEsrtEntry (\r
+ IN EFI_GUID *FwClass,\r
+ IN UINTN Attribute\r
)\r
{\r
EFI_STATUS Status;\r
Status = GetVariable2 (\r
VariableName,\r
&gEfiCallerIdGuid,\r
- (VOID **) &EsrtRepository,\r
+ (VOID **)&EsrtRepository,\r
&RepositorySize\r
);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto EXIT;\r
}\r
\r
goto EXIT;\r
}\r
\r
- if ((RepositorySize % sizeof(EFI_SYSTEM_RESOURCE_ENTRY)) != 0) {\r
- DEBUG((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
+ if ((RepositorySize % sizeof (EFI_SYSTEM_RESOURCE_ENTRY)) != 0) {\r
+ DEBUG ((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
//\r
// Repository is corrupt. Clear Repository before insert new entry\r
//\r
- Status = gRT->SetVariable(\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
goto EXIT;\r
}\r
\r
- Status = EFI_NOT_FOUND;\r
- EsrtNum = RepositorySize/sizeof(EFI_SYSTEM_RESOURCE_ENTRY);\r
+ Status = EFI_NOT_FOUND;\r
+ EsrtNum = RepositorySize/sizeof (EFI_SYSTEM_RESOURCE_ENTRY);\r
for (Index = 0; Index < EsrtNum; Index++) {\r
//\r
// Delete Esrt entry if it is found in repository\r
//\r
- if (CompareGuid(FwClass, &EsrtRepository[Index].FwClass)) {\r
+ if (CompareGuid (FwClass, &EsrtRepository[Index].FwClass)) {\r
//\r
// If delete Esrt entry is not at the rail\r
//\r
if (Index < EsrtNum - 1) {\r
- CopyMem(&EsrtRepository[Index], &EsrtRepository[Index + 1], (EsrtNum - Index - 1) * sizeof(EFI_SYSTEM_RESOURCE_ENTRY));\r
+ CopyMem (&EsrtRepository[Index], &EsrtRepository[Index + 1], (EsrtNum - Index - 1) * sizeof (EFI_SYSTEM_RESOURCE_ENTRY));\r
}\r
\r
//\r
// Update New Repository\r
//\r
- Status = gRT->SetVariable(\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- (EsrtNum - 1) * sizeof(EFI_SYSTEM_RESOURCE_ENTRY),\r
+ (EsrtNum - 1) * sizeof (EFI_SYSTEM_RESOURCE_ENTRY),\r
EsrtRepository\r
);\r
break;\r
\r
EXIT:\r
if (EsrtRepository != NULL) {\r
- FreePool(EsrtRepository);\r
+ FreePool (EsrtRepository);\r
}\r
\r
return Status;\r
-\r
}\r
\r
/**\r
\r
**/\r
EFI_STATUS\r
-UpdateEsrtEntry(\r
- IN EFI_SYSTEM_RESOURCE_ENTRY *Entry,\r
- UINTN Attribute\r
+UpdateEsrtEntry (\r
+ IN EFI_SYSTEM_RESOURCE_ENTRY *Entry,\r
+ UINTN Attribute\r
)\r
{\r
EFI_STATUS Status;\r
UINTN Index;\r
UINTN EsrtNum;\r
\r
- EsrtRepository = NULL;\r
+ EsrtRepository = NULL;\r
\r
//\r
// Get Esrt index buffer\r
Status = GetVariable2 (\r
VariableName,\r
&gEfiCallerIdGuid,\r
- (VOID **) &EsrtRepository,\r
+ (VOID **)&EsrtRepository,\r
&RepositorySize\r
);\r
\r
goto EXIT;\r
}\r
\r
- if (!EFI_ERROR(Status)) {\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// if exist, update Esrt cache repository\r
//\r
- if (RepositorySize % sizeof(EFI_SYSTEM_RESOURCE_ENTRY) != 0) {\r
- DEBUG((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
+ if (RepositorySize % sizeof (EFI_SYSTEM_RESOURCE_ENTRY) != 0) {\r
+ DEBUG ((DEBUG_ERROR, "Repository Corrupt. Need to rebuild Repository.\n"));\r
//\r
// Repository is corrupt. Clear Repository before insert new entry\r
//\r
- Status = gRT->SetVariable(\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
goto EXIT;\r
}\r
\r
- Status = EFI_NOT_FOUND;\r
- EsrtNum = RepositorySize/sizeof(EFI_SYSTEM_RESOURCE_ENTRY);\r
+ Status = EFI_NOT_FOUND;\r
+ EsrtNum = RepositorySize/sizeof (EFI_SYSTEM_RESOURCE_ENTRY);\r
for (Index = 0; Index < EsrtNum; Index++) {\r
//\r
// Update Esrt entry if it is found in repository\r
//\r
- if (CompareGuid(&Entry->FwClass, &EsrtRepository[Index].FwClass)) {\r
-\r
- CopyMem(&EsrtRepository[Index], Entry, sizeof(EFI_SYSTEM_RESOURCE_ENTRY));\r
+ if (CompareGuid (&Entry->FwClass, &EsrtRepository[Index].FwClass)) {\r
+ CopyMem (&EsrtRepository[Index], Entry, sizeof (EFI_SYSTEM_RESOURCE_ENTRY));\r
//\r
// Update New Repository\r
//\r
- Status = gRT->SetVariable(\r
+ Status = gRT->SetVariable (\r
VariableName,\r
&gEfiCallerIdGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
\r
EXIT:\r
if (EsrtRepository != NULL) {\r
- FreePool(EsrtRepository);\r
+ FreePool (EsrtRepository);\r
}\r
\r
return Status;\r
**/\r
BOOLEAN\r
IsSystemFmp (\r
- IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo\r
+ IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo\r
)\r
{\r
- GUID *Guid;\r
- UINTN Count;\r
- UINTN Index;\r
+ GUID *Guid;\r
+ UINTN Count;\r
+ UINTN Index;\r
\r
- Guid = PcdGetPtr(PcdSystemFmpCapsuleImageTypeIdGuid);\r
- Count = PcdGetSize(PcdSystemFmpCapsuleImageTypeIdGuid)/sizeof(GUID);\r
+ Guid = PcdGetPtr (PcdSystemFmpCapsuleImageTypeIdGuid);\r
+ Count = PcdGetSize (PcdSystemFmpCapsuleImageTypeIdGuid)/sizeof (GUID);\r
\r
for (Index = 0; Index < Count; Index++, Guid++) {\r
- if (CompareGuid(&FmpImageInfo->ImageTypeId, Guid)) {\r
+ if (CompareGuid (&FmpImageInfo->ImageTypeId, Guid)) {\r
return TRUE;\r
}\r
}\r
**/\r
VOID\r
SetEsrtEntryFromFmpInfo (\r
- IN OUT EFI_SYSTEM_RESOURCE_ENTRY *EsrtEntry,\r
- IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo,\r
- IN UINT32 DescriptorVersion\r
+ IN OUT EFI_SYSTEM_RESOURCE_ENTRY *EsrtEntry,\r
+ IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo,\r
+ IN UINT32 DescriptorVersion\r
)\r
{\r
- EsrtEntry->FwVersion = FmpImageInfo->Version;\r
- EsrtEntry->FwClass = FmpImageInfo->ImageTypeId;\r
- if (IsSystemFmp(FmpImageInfo)) {\r
- EsrtEntry->FwType = ESRT_FW_TYPE_SYSTEMFIRMWARE;\r
+ EsrtEntry->FwVersion = FmpImageInfo->Version;\r
+ EsrtEntry->FwClass = FmpImageInfo->ImageTypeId;\r
+ if (IsSystemFmp (FmpImageInfo)) {\r
+ EsrtEntry->FwType = ESRT_FW_TYPE_SYSTEMFIRMWARE;\r
} else {\r
- EsrtEntry->FwType = ESRT_FW_TYPE_DEVICEFIRMWARE;\r
+ EsrtEntry->FwType = ESRT_FW_TYPE_DEVICEFIRMWARE;\r
}\r
+\r
EsrtEntry->LowestSupportedFwVersion = 0;\r
EsrtEntry->CapsuleFlags = 0;\r
EsrtEntry->LastAttemptVersion = 0;\r
//\r
// Set capsule customized flag\r
//\r
- if ((FmpImageInfo->AttributesSupported & IMAGE_ATTRIBUTE_RESET_REQUIRED) != 0\r
- && (FmpImageInfo->AttributesSetting & IMAGE_ATTRIBUTE_RESET_REQUIRED) != 0) {\r
- EsrtEntry->CapsuleFlags = PcdGet16(PcdSystemRebootAfterCapsuleProcessFlag);\r
+ if ( ((FmpImageInfo->AttributesSupported & IMAGE_ATTRIBUTE_RESET_REQUIRED) != 0)\r
+ && ((FmpImageInfo->AttributesSetting & IMAGE_ATTRIBUTE_RESET_REQUIRED) != 0))\r
+ {\r
+ EsrtEntry->CapsuleFlags = PcdGet16 (PcdSystemRebootAfterCapsuleProcessFlag);\r
}\r
}\r