//\r
// SystemFmp driver private data\r
//\r
-SYSTEM_FMP_PRIVATE_DATA *mSystemFmpPrivate = NULL;\r
+SYSTEM_FMP_PRIVATE_DATA *mSystemFmpPrivate = NULL;\r
\r
-EFI_GUID mCurrentImageTypeId;\r
+EFI_GUID mCurrentImageTypeId;\r
\r
BOOLEAN mNvRamUpdated = FALSE;\r
\r
**/\r
EFI_STATUS\r
ParseUpdateDataFile (\r
- IN UINT8 *DataBuffer,\r
- IN UINTN BufferSize,\r
- IN OUT CONFIG_HEADER *ConfigHeader,\r
- IN OUT UPDATE_CONFIG_DATA **UpdateArray\r
+ IN UINT8 *DataBuffer,\r
+ IN UINTN BufferSize,\r
+ IN OUT CONFIG_HEADER *ConfigHeader,\r
+ IN OUT UPDATE_CONFIG_DATA **UpdateArray\r
);\r
\r
/**\r
IN UINTN EndPercentage\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- DEBUG((DEBUG_INFO, "PlatformUpdate:"));\r
- DEBUG((DEBUG_INFO, " BaseAddress - 0x%lx,", ConfigData->BaseAddress));\r
- DEBUG((DEBUG_INFO, " ImageOffset - 0x%x,", ConfigData->ImageOffset));\r
- DEBUG((DEBUG_INFO, " Legnth - 0x%x\n", ConfigData->Length));\r
+ DEBUG ((DEBUG_INFO, "PlatformUpdate:"));\r
+ DEBUG ((DEBUG_INFO, " BaseAddress - 0x%lx,", ConfigData->BaseAddress));\r
+ DEBUG ((DEBUG_INFO, " ImageOffset - 0x%x,", ConfigData->ImageOffset));\r
+ DEBUG ((DEBUG_INFO, " Legnth - 0x%x\n", ConfigData->Length));\r
if (Progress != NULL) {\r
Progress (StartPercentage);\r
}\r
+\r
Status = PerformFlashWriteWithProgress (\r
ConfigData->FirmwareType,\r
ConfigData->BaseAddress,\r
if (Progress != NULL) {\r
Progress (EndPercentage);\r
}\r
- if (!EFI_ERROR(Status)) {\r
+\r
+ if (!EFI_ERROR (Status)) {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
if (ConfigData->FirmwareType == PlatformFirmwareTypeNvRam) {\r
mNvRamUpdated = TRUE;\r
} else {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
}\r
+\r
return Status;\r
}\r
\r
IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS Progress\r
)\r
{\r
- EFI_STATUS Status;\r
- UPDATE_CONFIG_DATA *ConfigData;\r
- UPDATE_CONFIG_DATA *UpdateConfigData;\r
- CONFIG_HEADER ConfigHeader;\r
- UINTN Index;\r
- UINTN TotalSize;\r
- UINTN BytesWritten;\r
- UINTN StartPercentage;\r
- UINTN EndPercentage;\r
+ EFI_STATUS Status;\r
+ UPDATE_CONFIG_DATA *ConfigData;\r
+ UPDATE_CONFIG_DATA *UpdateConfigData;\r
+ CONFIG_HEADER ConfigHeader;\r
+ UINTN Index;\r
+ UINTN TotalSize;\r
+ UINTN BytesWritten;\r
+ UINTN StartPercentage;\r
+ UINTN EndPercentage;\r
\r
if (ConfigImage == NULL) {\r
- DEBUG((DEBUG_INFO, "PlatformUpdate (NoConfig):"));\r
- DEBUG((DEBUG_INFO, " BaseAddress - 0x%x,", 0));\r
- DEBUG((DEBUG_INFO, " Length - 0x%x\n", SystemFirmwareImageSize));\r
+ DEBUG ((DEBUG_INFO, "PlatformUpdate (NoConfig):"));\r
+ DEBUG ((DEBUG_INFO, " BaseAddress - 0x%x,", 0));\r
+ DEBUG ((DEBUG_INFO, " Length - 0x%x\n", SystemFirmwareImageSize));\r
// ASSUME the whole System Firmware include NVRAM region.\r
StartPercentage = 0;\r
- EndPercentage = 100;\r
+ EndPercentage = 100;\r
if (Progress != NULL) {\r
Progress (StartPercentage);\r
}\r
+\r
Status = PerformFlashWriteWithProgress (\r
PlatformFirmwareTypeNvRam,\r
0,\r
if (Progress != NULL) {\r
Progress (EndPercentage);\r
}\r
- if (!EFI_ERROR(Status)) {\r
+\r
+ if (!EFI_ERROR (Status)) {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
- mNvRamUpdated = TRUE;\r
+ mNvRamUpdated = TRUE;\r
} else {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
}\r
+\r
return Status;\r
}\r
\r
- DEBUG((DEBUG_INFO, "PlatformUpdate (With Config):\n"));\r
- ConfigData = NULL;\r
- ZeroMem (&ConfigHeader, sizeof(ConfigHeader));\r
- Status = ParseUpdateDataFile (\r
- ConfigImage,\r
- ConfigImageSize,\r
- &ConfigHeader,\r
- &ConfigData\r
- );\r
- DEBUG((DEBUG_INFO, "ParseUpdateDataFile - %r\n", Status));\r
- if (EFI_ERROR(Status)) {\r
+ DEBUG ((DEBUG_INFO, "PlatformUpdate (With Config):\n"));\r
+ ConfigData = NULL;\r
+ ZeroMem (&ConfigHeader, sizeof (ConfigHeader));\r
+ Status = ParseUpdateDataFile (\r
+ ConfigImage,\r
+ ConfigImageSize,\r
+ &ConfigHeader,\r
+ &ConfigData\r
+ );\r
+ DEBUG ((DEBUG_INFO, "ParseUpdateDataFile - %r\n", Status));\r
+ if (EFI_ERROR (Status)) {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
return EFI_INVALID_PARAMETER;\r
}\r
- DEBUG((DEBUG_INFO, "ConfigHeader.NumOfUpdates - 0x%x\n", ConfigHeader.NumOfUpdates));\r
- DEBUG((DEBUG_INFO, "PcdEdkiiSystemFirmwareFileGuid - %g\n", PcdGetPtr(PcdEdkiiSystemFirmwareFileGuid)));\r
+\r
+ DEBUG ((DEBUG_INFO, "ConfigHeader.NumOfUpdates - 0x%x\n", ConfigHeader.NumOfUpdates));\r
+ DEBUG ((DEBUG_INFO, "PcdEdkiiSystemFirmwareFileGuid - %g\n", PcdGetPtr (PcdEdkiiSystemFirmwareFileGuid)));\r
\r
TotalSize = 0;\r
for (Index = 0; Index < ConfigHeader.NumOfUpdates; Index++) {\r
- if (CompareGuid(&ConfigData[Index].FileGuid, PcdGetPtr(PcdEdkiiSystemFirmwareFileGuid))) {\r
+ if (CompareGuid (&ConfigData[Index].FileGuid, PcdGetPtr (PcdEdkiiSystemFirmwareFileGuid))) {\r
TotalSize = TotalSize + ConfigData[Index].Length;\r
}\r
}\r
\r
- BytesWritten = 0;\r
- Index = 0;\r
+ BytesWritten = 0;\r
+ Index = 0;\r
UpdateConfigData = ConfigData;\r
while (Index < ConfigHeader.NumOfUpdates) {\r
- if (CompareGuid(&UpdateConfigData->FileGuid, PcdGetPtr(PcdEdkiiSystemFirmwareFileGuid))) {\r
- DEBUG((DEBUG_INFO, "FileGuid - %g (processing)\n", &UpdateConfigData->FileGuid));\r
+ if (CompareGuid (&UpdateConfigData->FileGuid, PcdGetPtr (PcdEdkiiSystemFirmwareFileGuid))) {\r
+ DEBUG ((DEBUG_INFO, "FileGuid - %g (processing)\n", &UpdateConfigData->FileGuid));\r
StartPercentage = (BytesWritten * 100) / TotalSize;\r
EndPercentage = ((BytesWritten + UpdateConfigData->Length) * 100) / TotalSize;\r
- Status = PerformUpdate (\r
- SystemFirmwareImage,\r
- SystemFirmwareImageSize,\r
- UpdateConfigData,\r
- LastAttemptVersion,\r
- LastAttemptStatus,\r
- Progress,\r
- StartPercentage,\r
- EndPercentage\r
- );\r
+ Status = PerformUpdate (\r
+ SystemFirmwareImage,\r
+ SystemFirmwareImageSize,\r
+ UpdateConfigData,\r
+ LastAttemptVersion,\r
+ LastAttemptStatus,\r
+ Progress,\r
+ StartPercentage,\r
+ EndPercentage\r
+ );\r
//\r
// Shall updates be serialized so that if an update is not successfully completed,\r
// the remaining updates won't be performed.\r
break;\r
}\r
} else {\r
- DEBUG((DEBUG_INFO, "FileGuid - %g (ignored)\n", &UpdateConfigData->FileGuid));\r
+ DEBUG ((DEBUG_INFO, "FileGuid - %g (ignored)\n", &UpdateConfigData->FileGuid));\r
}\r
\r
BytesWritten += UpdateConfigData->Length;\r
IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS Progress\r
)\r
{\r
- EFI_STATUS Status;\r
- VOID *SystemFirmwareImage;\r
- UINTN SystemFirmwareImageSize;\r
- VOID *ConfigImage;\r
- UINTN ConfigImageSize;\r
- VOID *AuthenticatedImage;\r
- UINTN AuthenticatedImageSize;\r
+ EFI_STATUS Status;\r
+ VOID *SystemFirmwareImage;\r
+ UINTN SystemFirmwareImageSize;\r
+ VOID *ConfigImage;\r
+ UINTN ConfigImageSize;\r
+ VOID *AuthenticatedImage;\r
+ UINTN AuthenticatedImageSize;\r
\r
AuthenticatedImage = NULL;\r
AuthenticatedImageSize = 0;\r
\r
- DEBUG((DEBUG_INFO, "SystemFirmwareAuthenticatedUpdate...\n"));\r
+ DEBUG ((DEBUG_INFO, "SystemFirmwareAuthenticatedUpdate...\n"));\r
\r
- Status = CapsuleAuthenticateSystemFirmware(Image, ImageSize, FALSE, LastAttemptVersion, LastAttemptStatus, &AuthenticatedImage, &AuthenticatedImageSize);\r
- if (EFI_ERROR(Status)) {\r
- DEBUG((DEBUG_INFO, "SystemFirmwareAuthenticateImage - %r\n", Status));\r
+ Status = CapsuleAuthenticateSystemFirmware (Image, ImageSize, FALSE, LastAttemptVersion, LastAttemptStatus, &AuthenticatedImage, &AuthenticatedImageSize);\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_INFO, "SystemFirmwareAuthenticateImage - %r\n", Status));\r
return Status;\r
}\r
\r
- DEBUG((DEBUG_INFO, "ExtractSystemFirmwareImage ...\n"));\r
- ExtractSystemFirmwareImage(AuthenticatedImage, AuthenticatedImageSize, &SystemFirmwareImage, &SystemFirmwareImageSize);\r
- DEBUG((DEBUG_INFO, "ExtractConfigImage ...\n"));\r
- ExtractConfigImage(AuthenticatedImage, AuthenticatedImageSize, &ConfigImage, &ConfigImageSize);\r
+ DEBUG ((DEBUG_INFO, "ExtractSystemFirmwareImage ...\n"));\r
+ ExtractSystemFirmwareImage (AuthenticatedImage, AuthenticatedImageSize, &SystemFirmwareImage, &SystemFirmwareImageSize);\r
+ DEBUG ((DEBUG_INFO, "ExtractConfigImage ...\n"));\r
+ ExtractConfigImage (AuthenticatedImage, AuthenticatedImageSize, &ConfigImage, &ConfigImageSize);\r
\r
- DEBUG((DEBUG_INFO, "UpdateImage ...\n"));\r
- Status = UpdateImage(SystemFirmwareImage, SystemFirmwareImageSize, ConfigImage, ConfigImageSize, LastAttemptVersion, LastAttemptStatus, Progress);\r
- if (EFI_ERROR(Status)) {\r
- DEBUG((DEBUG_INFO, "UpdateImage - %r\n", Status));\r
+ DEBUG ((DEBUG_INFO, "UpdateImage ...\n"));\r
+ Status = UpdateImage (SystemFirmwareImage, SystemFirmwareImageSize, ConfigImage, ConfigImageSize, LastAttemptVersion, LastAttemptStatus, Progress);\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_INFO, "UpdateImage - %r\n", Status));\r
return Status;\r
}\r
\r
- DEBUG((DEBUG_INFO, "SystemFirmwareAuthenticatedUpdate Done\n"));\r
+ DEBUG ((DEBUG_INFO, "SystemFirmwareAuthenticatedUpdate Done\n"));\r
\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
GetVariableHook (\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- OUT UINT32 *Attributes OPTIONAL,\r
- IN OUT UINTN *DataSize,\r
- OUT VOID *Data\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ OUT UINT32 *Attributes OPTIONAL,\r
+ IN OUT UINTN *DataSize,\r
+ OUT VOID *Data\r
)\r
{\r
- DEBUG((DEBUG_INFO, "GetVariableHook - %S, %g\n", VariableName, VendorGuid));\r
+ DEBUG ((DEBUG_INFO, "GetVariableHook - %S, %g\n", VariableName, VendorGuid));\r
return EFI_NOT_AVAILABLE_YET;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
GetNextVariableNameHook (\r
- IN OUT UINTN *VariableNameSize,\r
- IN OUT CHAR16 *VariableName,\r
- IN OUT EFI_GUID *VendorGuid\r
+ IN OUT UINTN *VariableNameSize,\r
+ IN OUT CHAR16 *VariableName,\r
+ IN OUT EFI_GUID *VendorGuid\r
)\r
{\r
- DEBUG((DEBUG_INFO, "GetNextVariableNameHook - %S, %g\n", VariableName, VendorGuid));\r
+ DEBUG ((DEBUG_INFO, "GetNextVariableNameHook - %S, %g\n", VariableName, VendorGuid));\r
return EFI_NOT_AVAILABLE_YET;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
SetVariableHook (\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ IN UINT32 Attributes,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
- DEBUG((DEBUG_INFO, "SetVariableHook - %S, %g, 0x%x (0x%x)\n", VariableName, VendorGuid, Attributes, DataSize));\r
+ DEBUG ((DEBUG_INFO, "SetVariableHook - %S, %g, 0x%x (0x%x)\n", VariableName, VendorGuid, Attributes, DataSize));\r
return EFI_NOT_AVAILABLE_YET;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
QueryVariableInfoHook (\r
- IN UINT32 Attributes,\r
- OUT UINT64 *MaximumVariableStorageSize,\r
- OUT UINT64 *RemainingVariableStorageSize,\r
- OUT UINT64 *MaximumVariableSize\r
+ IN UINT32 Attributes,\r
+ OUT UINT64 *MaximumVariableStorageSize,\r
+ OUT UINT64 *RemainingVariableStorageSize,\r
+ OUT UINT64 *MaximumVariableSize\r
)\r
{\r
- DEBUG((DEBUG_INFO, "QueryVariableInfoHook - 0x%x\n", Attributes));\r
+ DEBUG ((DEBUG_INFO, "QueryVariableInfoHook - 0x%x\n", Attributes));\r
return EFI_NOT_AVAILABLE_YET;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
FmpSetImage (\r
- IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This,\r
- IN UINT8 ImageIndex,\r
- IN CONST VOID *Image,\r
- IN UINTN ImageSize,\r
- IN CONST VOID *VendorCode,\r
- IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS Progress,\r
- OUT CHAR16 **AbortReason\r
+ IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This,\r
+ IN UINT8 ImageIndex,\r
+ IN CONST VOID *Image,\r
+ IN UINTN ImageSize,\r
+ IN CONST VOID *VendorCode,\r
+ IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS Progress,\r
+ OUT CHAR16 **AbortReason\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_STATUS VarStatus;\r
- SYSTEM_FMP_PRIVATE_DATA *SystemFmpPrivate;\r
+ EFI_STATUS Status;\r
+ EFI_STATUS VarStatus;\r
+ SYSTEM_FMP_PRIVATE_DATA *SystemFmpPrivate;\r
\r
- if (Image == NULL || ImageSize == 0 || AbortReason == NULL) {\r
+ if ((Image == NULL) || (ImageSize == 0) || (AbortReason == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- SystemFmpPrivate = SYSTEM_FMP_PRIVATE_DATA_FROM_FMP(This);\r
+ SystemFmpPrivate = SYSTEM_FMP_PRIVATE_DATA_FROM_FMP (This);\r
*AbortReason = NULL;\r
\r
- if (ImageIndex == 0 || ImageIndex > SystemFmpPrivate->DescriptorCount) {\r
+ if ((ImageIndex == 0) || (ImageIndex > SystemFmpPrivate->DescriptorCount)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- Status = SystemFirmwareAuthenticatedUpdate((VOID *)Image, ImageSize, &SystemFmpPrivate->LastAttempt.LastAttemptVersion, &SystemFmpPrivate->LastAttempt.LastAttemptStatus, Progress);\r
- DEBUG((DEBUG_INFO, "SetImage - LastAttempt Version - 0x%x, State - 0x%x\n", SystemFmpPrivate->LastAttempt.LastAttemptVersion, SystemFmpPrivate->LastAttempt.LastAttemptStatus));\r
+ Status = SystemFirmwareAuthenticatedUpdate ((VOID *)Image, ImageSize, &SystemFmpPrivate->LastAttempt.LastAttemptVersion, &SystemFmpPrivate->LastAttempt.LastAttemptStatus, Progress);\r
+ DEBUG ((DEBUG_INFO, "SetImage - LastAttempt Version - 0x%x, State - 0x%x\n", SystemFmpPrivate->LastAttempt.LastAttemptVersion, SystemFmpPrivate->LastAttempt.LastAttemptStatus));\r
\r
//\r
// If NVRAM is updated, we should no longer touch variable services, because\r
\r
gRT->Hdr.CRC32 = 0;\r
gBS->CalculateCrc32 (\r
- (UINT8 *) &gRT->Hdr,\r
- gRT->Hdr.HeaderSize,\r
- &gRT->Hdr.CRC32\r
- );\r
+ (UINT8 *)&gRT->Hdr,\r
+ gRT->Hdr.HeaderSize,\r
+ &gRT->Hdr.CRC32\r
+ );\r
}\r
\r
- VarStatus = gRT->SetVariable(\r
+ VarStatus = gRT->SetVariable (\r
SYSTEM_FMP_LAST_ATTEMPT_VARIABLE_NAME,\r
&gSystemFmpLastAttemptVariableGuid,\r
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof(SystemFmpPrivate->LastAttempt),\r
+ sizeof (SystemFmpPrivate->LastAttempt),\r
&SystemFmpPrivate->LastAttempt\r
);\r
- DEBUG((DEBUG_INFO, "SetLastAttempt - %r\n", VarStatus));\r
+ DEBUG ((DEBUG_INFO, "SetLastAttempt - %r\n", VarStatus));\r
\r
return Status;\r
}\r
// Determine the size required for the set of EFI_FIRMWARE_IMAGE_DESCRIPTORs.\r
//\r
ImageInfoSize = 0;\r
- Status = Fmp->GetImageInfo (\r
- Fmp, // FMP Pointer\r
- &ImageInfoSize, // Buffer Size (in this case 0)\r
- NULL, // NULL so we can get size\r
- &FmpImageInfoDescriptorVer, // DescriptorVersion\r
- FmpImageInfoCount, // DescriptorCount\r
- DescriptorSize, // DescriptorSize\r
- &PackageVersion, // PackageVersion\r
- &PackageVersionName // PackageVersionName\r
- );\r
+ Status = Fmp->GetImageInfo (\r
+ Fmp, // FMP Pointer\r
+ &ImageInfoSize, // Buffer Size (in this case 0)\r
+ NULL, // NULL so we can get size\r
+ &FmpImageInfoDescriptorVer, // DescriptorVersion\r
+ FmpImageInfoCount, // DescriptorCount\r
+ DescriptorSize, // DescriptorSize\r
+ &PackageVersion, // PackageVersion\r
+ &PackageVersionName // PackageVersionName\r
+ );\r
if (Status != EFI_BUFFER_TOO_SMALL) {\r
DEBUG ((DEBUG_ERROR, "SystemFirmwareUpdateDxe: Unexpected Failure. Status = %r\n", Status));\r
return NULL;\r
// Retrieve the set of EFI_FIRMWARE_IMAGE_DESCRIPTORs.\r
//\r
PackageVersionName = NULL;\r
- Status = Fmp->GetImageInfo (\r
- Fmp,\r
- &ImageInfoSize, // ImageInfoSize\r
- FmpImageInfoBuf, // ImageInfo\r
- &FmpImageInfoDescriptorVer, // DescriptorVersion\r
- FmpImageInfoCount, // DescriptorCount\r
- DescriptorSize, // DescriptorSize\r
- &PackageVersion, // PackageVersion\r
- &PackageVersionName // PackageVersionName\r
- );\r
+ Status = Fmp->GetImageInfo (\r
+ Fmp,\r
+ &ImageInfoSize, // ImageInfoSize\r
+ FmpImageInfoBuf, // ImageInfo\r
+ &FmpImageInfoDescriptorVer, // DescriptorVersion\r
+ FmpImageInfoCount, // DescriptorCount\r
+ DescriptorSize, // DescriptorSize\r
+ &PackageVersion, // PackageVersion\r
+ &PackageVersionName // PackageVersionName\r
+ );\r
\r
//\r
// Free unused PackageVersionName return buffer\r
if (FmpImageInfoBuf != NULL) {\r
FreePool (FmpImageInfoBuf);\r
}\r
+\r
return NULL;\r
}\r
\r
UINTN DescriptorSize;\r
BOOLEAN MatchFound;\r
\r
- *HandleCount = 0;\r
+ *HandleCount = 0;\r
TempHandleCount = 0;\r
- HandleBuffer = NULL;\r
- Status = gBS->LocateHandleBuffer (\r
- ByProtocol,\r
- ProtocolGuid,\r
- NULL,\r
- &TempHandleCount,\r
- &HandleBuffer\r
- );\r
+ HandleBuffer = NULL;\r
+ Status = gBS->LocateHandleBuffer (\r
+ ByProtocol,\r
+ ProtocolGuid,\r
+ NULL,\r
+ &TempHandleCount,\r
+ &HandleBuffer\r
+ );\r
if (EFI_ERROR (Status)) {\r
return NULL;\r
}\r
for (Index2 = 0; Index2 < FmpImageInfoCount; Index2++) {\r
for (Index3 = 0; Index3 < mSystemFmpPrivate->DescriptorCount; Index3++) {\r
MatchFound = CompareGuid (\r
- &FmpImageInfoBuf->ImageTypeId,\r
- &mSystemFmpPrivate->ImageDescriptor[Index3].ImageTypeId\r
- );\r
+ &FmpImageInfoBuf->ImageTypeId,\r
+ &mSystemFmpPrivate->ImageDescriptor[Index3].ImageTypeId\r
+ );\r
if (MatchFound) {\r
break;\r
}\r
}\r
+\r
if (MatchFound) {\r
break;\r
}\r
+\r
//\r
// Increment the buffer pointer ahead by the size of the descriptor\r
//\r
FmpImageInfoBuf = (EFI_FIRMWARE_IMAGE_DESCRIPTOR *)(((UINT8 *)FmpImageInfoBuf) + DescriptorSize);\r
}\r
+\r
if (MatchFound) {\r
HandleBuffer[*HandleCount] = HandleBuffer[Index];\r
(*HandleCount)++;\r
FreePool (HandleBuffer);\r
return NULL;\r
}\r
+\r
return HandleBuffer;\r
}\r
\r
DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Found %d matching System FMP instances\n", HandleCount));\r
\r
for (Index = 0; Index < HandleCount; Index++) {\r
- Status = gBS->HandleProtocol(\r
+ Status = gBS->HandleProtocol (\r
HandleBuffer[Index],\r
&gSystemFmpProtocolGuid,\r
(VOID **)&SystemFmp\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
+\r
DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Uninstall SystemFmp produced by another capsule\n"));\r
Status = gBS->UninstallProtocolInterface (\r
HandleBuffer[Index],\r
return Status;\r
}\r
}\r
+\r
if (HandleBuffer != NULL) {\r
FreePool (HandleBuffer);\r
}\r
//\r
// Look for a handle with matching Firmware Management Protocol\r
//\r
- HandleCount = 0;\r
+ HandleCount = 0;\r
HandleBuffer = FindMatchingFmpHandles (\r
&gEfiFirmwareManagementProtocolGuid,\r
&HandleCount\r
DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Found %d matching FMP instances\n", HandleCount));\r
\r
switch (HandleCount) {\r
- case 0:\r
- //\r
- // Install FMP protocol onto a new handle.\r
- //\r
- DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Install FMP onto a new handle\n"));\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &mSystemFmpPrivate->Handle,\r
- &gEfiFirmwareManagementProtocolGuid,\r
- &mSystemFmpPrivate->Fmp,\r
- NULL\r
- );\r
- break;\r
- case 1:\r
- //\r
- // Install System FMP protocol onto handle with matching FMP Protocol\r
- //\r
- DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Install System FMP onto matching FMP handle\n"));\r
- mSystemFmpPrivate->Handle = HandleBuffer[0];\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &HandleBuffer[0],\r
- &gSystemFmpProtocolGuid,\r
- &mSystemFmpPrivate->Fmp,\r
- NULL\r
- );\r
- break;\r
- default:\r
- //\r
- // More than one matching handle is not expected. Unload driver.\r
- //\r
- DEBUG ((DEBUG_ERROR, "SystemFirmwareUpdateDxe: More than one matching FMP handle. Unload driver.\n"));\r
- Status = EFI_DEVICE_ERROR;\r
- break;\r
+ case 0:\r
+ //\r
+ // Install FMP protocol onto a new handle.\r
+ //\r
+ DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Install FMP onto a new handle\n"));\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &mSystemFmpPrivate->Handle,\r
+ &gEfiFirmwareManagementProtocolGuid,\r
+ &mSystemFmpPrivate->Fmp,\r
+ NULL\r
+ );\r
+ break;\r
+ case 1:\r
+ //\r
+ // Install System FMP protocol onto handle with matching FMP Protocol\r
+ //\r
+ DEBUG ((DEBUG_INFO, "SystemFirmwareUpdateDxe: Install System FMP onto matching FMP handle\n"));\r
+ mSystemFmpPrivate->Handle = HandleBuffer[0];\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &HandleBuffer[0],\r
+ &gSystemFmpProtocolGuid,\r
+ &mSystemFmpPrivate->Fmp,\r
+ NULL\r
+ );\r
+ break;\r
+ default:\r
+ //\r
+ // More than one matching handle is not expected. Unload driver.\r
+ //\r
+ DEBUG ((DEBUG_ERROR, "SystemFirmwareUpdateDxe: More than one matching FMP handle. Unload driver.\n"));\r
+ Status = EFI_DEVICE_ERROR;\r
+ break;\r
}\r
\r
if (HandleBuffer != NULL) {\r