return CheckSystemPower (Good);\r
}\r
\r
-\r
/**\r
Determines if the system thermal state supports a capsule update.\r
\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEdkiiCapsuleUpdatePolicyProtocolGuid);\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&mHandle,\r
- &gEdkiiCapsuleUpdatePolicyProtocolGuid, &mCapsuleUpdatePolicy,\r
+ &gEdkiiCapsuleUpdatePolicyProtocolGuid,\r
+ &mCapsuleUpdatePolicy,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
//\r
PublicKeyDataXdr = PcdGetPtr (PcdFmpDevicePkcs7CertBufferXdr);\r
PublicKeyDataXdrEnd = PublicKeyDataXdr + PcdGetSize (PcdFmpDevicePkcs7CertBufferXdr);\r
- if (PublicKeyDataXdr == NULL || PublicKeyDataXdr == PublicKeyDataXdrEnd) {\r
+ if ((PublicKeyDataXdr == NULL) || (PublicKeyDataXdr == PublicKeyDataXdrEnd)) {\r
return;\r
}\r
\r
//\r
break;\r
}\r
+\r
//\r
// Read key length stored in big endian format\r
//\r
TestKeyUsed = TRUE;\r
break;\r
}\r
+\r
if (!Sha256Update (HashContext, PublicKeyDataXdr, PublicKeyDataLength)) {\r
TestKeyUsed = TRUE;\r
break;\r
}\r
+\r
if (!Sha256Final (HashContext, Digest)) {\r
TestKeyUsed = TRUE;\r
break;\r
// Point to start of next key\r
//\r
PublicKeyDataXdr += PublicKeyDataLength;\r
- PublicKeyDataXdr = (UINT8 *)ALIGN_POINTER (PublicKeyDataXdr, sizeof (UINT32));\r
+ PublicKeyDataXdr = (UINT8 *)ALIGN_POINTER (PublicKeyDataXdr, sizeof (UINT32));\r
}\r
\r
//\r
// Protocol instance\r
//\r
const FIRMWARE_MANAGEMENT_PRIVATE_DATA mFirmwareManagementPrivateDataTemplate = {\r
- FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE, // Signature\r
- NULL, // Handle\r
+ FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE, // Signature\r
+ NULL, // Handle\r
{ // Fmp\r
GetTheImageInfo,\r
GetTheImage,\r
GetPackageInfo,\r
SetPackageInfo\r
},\r
- FALSE, // DescriptorPopulated\r
- { // Desc\r
- 1, // ImageIndex\r
+ FALSE, // DescriptorPopulated\r
+ { // Desc\r
+ 1, // ImageIndex\r
//\r
// ImageTypeId\r
//\r
- { 0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} },\r
+ { 0x00000000, 0x0000,0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }\r
+ },\r
1, // ImageId\r
NULL, // ImageIdName\r
0, // Version\r
0, // LastAttemptStatus\r
0 // HardwareInstance\r
},\r
- NULL, // ImageIdName\r
- NULL, // VersionName\r
- TRUE, // RuntimeVersionSupported\r
- NULL, // FmpDeviceLockEvent\r
- FALSE, // FmpDeviceLocked\r
- NULL, // FmpDeviceContext\r
- NULL, // VersionVariableName\r
- NULL, // LsvVariableName\r
- NULL, // LastAttemptStatusVariableName\r
- NULL, // LastAttemptVersionVariableName\r
- NULL, // FmpStateVariableName\r
- TRUE // DependenciesSatisfied\r
+ NULL, // ImageIdName\r
+ NULL, // VersionName\r
+ TRUE, // RuntimeVersionSupported\r
+ NULL, // FmpDeviceLockEvent\r
+ FALSE, // FmpDeviceLocked\r
+ NULL, // FmpDeviceContext\r
+ NULL, // VersionVariableName\r
+ NULL, // LsvVariableName\r
+ NULL, // LastAttemptStatusVariableName\r
+ NULL, // LastAttemptVersionVariableName\r
+ NULL, // FmpStateVariableName\r
+ TRUE // DependenciesSatisfied\r
};\r
\r
///\r
IN UINTN Completion\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
Status = EFI_UNSUPPORTED;\r
\r
UINTN ImageTypeIdGuidSize;\r
\r
FmpDeviceLibGuid = NULL;\r
- Status = FmpDeviceGetImageTypeIdGuidPtr (&FmpDeviceLibGuid);\r
+ Status = FmpDeviceGetImageTypeIdGuidPtr (&FmpDeviceLibGuid);\r
if (EFI_ERROR (Status)) {\r
if (Status != EFI_UNSUPPORTED) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): FmpDeviceLib GetImageTypeIdGuidPtr() returned invalid error %r\n", mImageIdName, Status));\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): FmpDeviceLib GetImageTypeIdGuidPtr() returned invalid GUID\n", mImageIdName));\r
Status = EFI_NOT_FOUND;\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
ImageTypeIdGuidSize = PcdGetSize (PcdFmpDeviceImageTypeIdGuid);\r
if (ImageTypeIdGuidSize == sizeof (EFI_GUID)) {\r
FmpDeviceLibGuid = &gEfiCallerIdGuid;\r
}\r
}\r
+\r
return FmpDeviceLibGuid;\r
}\r
\r
// Check the FmpDeviceLib\r
//\r
DeviceLibLowestSupportedVersion = DEFAULT_LOWESTSUPPORTEDVERSION;\r
- Status = FmpDeviceGetLowestSupportedVersion (&DeviceLibLowestSupportedVersion);\r
+ Status = FmpDeviceGetLowestSupportedVersion (&DeviceLibLowestSupportedVersion);\r
if (EFI_ERROR (Status)) {\r
DeviceLibLowestSupportedVersion = DEFAULT_LOWESTSUPPORTEDVERSION;\r
}\r
}\r
\r
Private->Descriptor.ImageIndex = 1;\r
- CopyGuid (&Private->Descriptor.ImageTypeId, GetImageTypeIdGuid());\r
+ CopyGuid (&Private->Descriptor.ImageTypeId, GetImageTypeIdGuid ());\r
Private->Descriptor.ImageId = Private->Descriptor.ImageIndex;\r
- Private->Descriptor.ImageIdName = GetImageTypeNameString();\r
+ Private->Descriptor.ImageIdName = GetImageTypeNameString ();\r
\r
//\r
// Get the hardware instance from FmpDeviceLib\r
Status = FmpDeviceGetVersion (&Private->Descriptor.Version);\r
if (Status == EFI_UNSUPPORTED) {\r
Private->RuntimeVersionSupported = FALSE;\r
- Private->Descriptor.Version = GetVersionFromVariable (Private);\r
+ Private->Descriptor.Version = GetVersionFromVariable (Private);\r
} else if (EFI_ERROR (Status)) {\r
//\r
// Unexpected error. Use default version.\r
//\r
- DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetVersion() from FmpDeviceLib (%s) returned %r\n", mImageIdName, GetImageTypeNameString(), Status));\r
+ DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetVersion() from FmpDeviceLib (%s) returned %r\n", mImageIdName, GetImageTypeNameString (), Status));\r
Private->Descriptor.Version = DEFAULT_VERSION;\r
}\r
\r
//\r
// Confirm that buffer isn't null\r
//\r
- if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL)\r
- || (PackageVersion == NULL)) {\r
+ if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL)\r
+ || (PackageVersion == NULL))\r
+ {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName));\r
Status = EFI_INVALID_PARAMETER;\r
goto cleanup;\r
CopyMem (ImageInfo, &Private->Descriptor, sizeof (EFI_FIRMWARE_IMAGE_DESCRIPTOR));\r
\r
*DescriptorVersion = EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION;\r
- *DescriptorCount = 1;\r
- *DescriptorSize = sizeof (EFI_FIRMWARE_IMAGE_DESCRIPTOR);\r
+ *DescriptorCount = 1;\r
+ *DescriptorSize = sizeof (EFI_FIRMWARE_IMAGE_DESCRIPTOR);\r
//\r
// means unsupported\r
//\r
if (EFI_ERROR (Status)) {\r
Size = 0;\r
}\r
+\r
if (*ImageSize < Size) {\r
*ImageSize = Size;\r
DEBUG ((DEBUG_VERBOSE, "FmpDxe(%s): GetImage() - ImageSize is to small.\n", mImageIdName));\r
//\r
// Check to make sure that operation can be safely performed.\r
//\r
- if (((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) + AdditionalHeaderSize < (UINTN)Image || \\r
- ((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) + AdditionalHeaderSize >= (UINTN)Image + ImageSize) {\r
+ if ((((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) + AdditionalHeaderSize < (UINTN)Image) || \\r
+ (((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) + AdditionalHeaderSize >= (UINTN)Image + ImageSize))\r
+ {\r
//\r
// Pointer overflow. Invalid image.\r
//\r
//\r
// Check to make sure that operation can be safely performed.\r
//\r
- if (CalculatedSize < sizeof (Image->MonotonicCount) ||\r
- CalculatedSize < AdditionalHeaderSize ||\r
- CalculatedSize < Image->AuthInfo.Hdr.dwLength ) {\r
+ if ((CalculatedSize < sizeof (Image->MonotonicCount)) ||\r
+ (CalculatedSize < AdditionalHeaderSize) ||\r
+ (CalculatedSize < Image->AuthInfo.Hdr.dwLength))\r
+ {\r
//\r
// Integer overflow. Invalid image.\r
//\r
EFI_FIRMWARE_IMAGE_DEP *Dependencies;\r
UINT32 DependenciesSize;\r
\r
- Status = EFI_SUCCESS;\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
- RawSize = 0;\r
- FmpPayloadHeader = NULL;\r
- FmpPayloadSize = 0;\r
- Version = 0;\r
- FmpHeaderSize = 0;\r
- AllHeaderSize = 0;\r
- Dependencies = NULL;\r
- DependenciesSize = 0;\r
+ Status = EFI_SUCCESS;\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
+ RawSize = 0;\r
+ FmpPayloadHeader = NULL;\r
+ FmpPayloadSize = 0;\r
+ Version = 0;\r
+ FmpHeaderSize = 0;\r
+ AllHeaderSize = 0;\r
+ Dependencies = NULL;\r
+ DependenciesSize = 0;\r
\r
if (!FeaturePcdGet (PcdFmpDeviceStorageAccessEnable)) {\r
return EFI_UNSUPPORTED;\r
\r
if (This == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckImage() - This is NULL.\n", mImageIdName));\r
- Status = EFI_INVALID_PARAMETER;\r
+ Status = EFI_INVALID_PARAMETER;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROTOCOL_ARG_MISSING;\r
goto cleanup;\r
}\r
\r
if (ImageUpdatable == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckImage() - ImageUpdatable Pointer Parameter is NULL.\n", mImageIdName));\r
- Status = EFI_INVALID_PARAMETER;\r
+ Status = EFI_INVALID_PARAMETER;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_NOT_UPDATABLE;\r
goto cleanup;\r
}\r
\r
//\r
- //Set to valid and then if any tests fail it will update this flag.\r
+ // Set to valid and then if any tests fail it will update this flag.\r
//\r
*ImageUpdatable = IMAGE_UPDATABLE_VALID;\r
\r
//\r
// not sure if this is needed\r
//\r
- *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
+ *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_NOT_PROVIDED;\r
return EFI_INVALID_PARAMETER;\r
}\r
PublicKeyDataXdr = PcdGetPtr (PcdFmpDevicePkcs7CertBufferXdr);\r
PublicKeyDataXdrEnd = PublicKeyDataXdr + PcdGetSize (PcdFmpDevicePkcs7CertBufferXdr);\r
\r
- if (PublicKeyDataXdr == NULL || (PublicKeyDataXdr == PublicKeyDataXdrEnd)) {\r
+ if ((PublicKeyDataXdr == NULL) || (PublicKeyDataXdr == PublicKeyDataXdrEnd)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Invalid certificate, skipping it.\n", mImageIdName));\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_CERTIFICATE;\r
} else {\r
//\r
Index++;\r
DEBUG (\r
(DEBUG_INFO,\r
- "FmpDxe(%s): Certificate #%d [%p..%p].\n",\r
- mImageIdName,\r
- Index,\r
- PublicKeyDataXdr,\r
- PublicKeyDataXdrEnd\r
+ "FmpDxe(%s): Certificate #%d [%p..%p].\n",\r
+ mImageIdName,\r
+ Index,\r
+ PublicKeyDataXdr,\r
+ PublicKeyDataXdrEnd\r
)\r
);\r
\r
// Key data extends beyond end of PCD\r
//\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Certificate size extends beyond end of PCD, skipping it.\n", mImageIdName));\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_KEY_LENGTH_VALUE;\r
break;\r
}\r
+\r
//\r
// Read key length stored in big-endian format\r
//\r
// Key data extends beyond end of PCD\r
//\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Certificate extends beyond end of PCD, skipping it.\n", mImageIdName));\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_KEY_LENGTH;\r
break;\r
}\r
+\r
PublicKeyData = PublicKeyDataXdr;\r
- Status = AuthenticateFmpImage (\r
- (EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image,\r
- ImageSize,\r
- PublicKeyData,\r
- PublicKeyDataLength\r
- );\r
+ Status = AuthenticateFmpImage (\r
+ (EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image,\r
+ ImageSize,\r
+ PublicKeyData,\r
+ PublicKeyDataLength\r
+ );\r
if (!EFI_ERROR (Status)) {\r
break;\r
}\r
+\r
PublicKeyDataXdr += PublicKeyDataLength;\r
- PublicKeyDataXdr = (UINT8 *)ALIGN_POINTER (PublicKeyDataXdr, sizeof (UINT32));\r
+ PublicKeyDataXdr = (UINT8 *)ALIGN_POINTER (PublicKeyDataXdr, sizeof (UINT32));\r
}\r
}\r
\r
} else {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_AUTH_FAILURE;\r
}\r
+\r
goto cleanup;\r
}\r
\r
//\r
if (ImageIndex != 1) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckImage() - Image Index Invalid.\n", mImageIdName));\r
- *ImageUpdatable = IMAGE_UPDATABLE_INVALID_TYPE;\r
- Status = EFI_INVALID_PARAMETER;\r
+ *ImageUpdatable = IMAGE_UPDATABLE_INVALID_TYPE;\r
+ Status = EFI_INVALID_PARAMETER;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_IMAGE_INDEX;\r
goto cleanup;\r
}\r
// Get the dependency from Image.\r
//\r
Dependencies = GetImageDependency (\r
- (EFI_FIRMWARE_IMAGE_AUTHENTICATION *) Image,\r
+ (EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image,\r
ImageSize,\r
&DependenciesSize,\r
LastAttemptStatus\r
//\r
// Check the FmpPayloadHeader\r
//\r
- FmpPayloadHeader = GetFmpHeader ( (EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image, ImageSize, DependenciesSize, &FmpPayloadSize );\r
+ FmpPayloadHeader = GetFmpHeader ((EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image, ImageSize, DependenciesSize, &FmpPayloadSize);\r
if (FmpPayloadHeader == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckTheImage() - GetFmpHeader failed.\n", mImageIdName));\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER;\r
goto cleanup;\r
}\r
+\r
Status = GetFmpPayloadHeaderVersion (FmpPayloadHeader, FmpPayloadSize, &Version);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckTheImage() - GetFmpPayloadHeaderVersion failed %r.\n", mImageIdName, Status));\r
- *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
- Status = EFI_SUCCESS;\r
+ *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
+ Status = EFI_SUCCESS;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER_VERSION;\r
goto cleanup;\r
}\r
if (Version < Private->Descriptor.LowestSupportedImageVersion) {\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): CheckTheImage() - Version Lower than lowest supported version. 0x%08X < 0x%08X\n",\r
- mImageIdName, Version, Private->Descriptor.LowestSupportedImageVersion)\r
+ "FmpDxe(%s): CheckTheImage() - Version Lower than lowest supported version. 0x%08X < 0x%08X\n",\r
+ mImageIdName, Version, Private->Descriptor.LowestSupportedImageVersion)\r
);\r
- *ImageUpdatable = IMAGE_UPDATABLE_INVALID_OLD;\r
- Status = EFI_SUCCESS;\r
+ *ImageUpdatable = IMAGE_UPDATABLE_INVALID_OLD;\r
+ Status = EFI_SUCCESS;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_VERSION_TOO_LOW;\r
goto cleanup;\r
}\r
);\r
if (!Private->DependenciesSatisfied) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckTheImage() - Dependency check failed.\n", mImageIdName));\r
- *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
- Status = EFI_SUCCESS;\r
+ *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
+ Status = EFI_SUCCESS;\r
*LastAttemptStatus = LocalLastAttemptStatus;\r
goto cleanup;\r
}\r
Status = GetFmpPayloadHeaderSize (FmpPayloadHeader, FmpPayloadSize, &FmpHeaderSize);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe: CheckTheImage() - GetFmpPayloadHeaderSize failed %r.\n", Status));\r
- *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
- Status = EFI_SUCCESS;\r
+ *ImageUpdatable = IMAGE_UPDATABLE_INVALID;\r
+ Status = EFI_SUCCESS;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER_SIZE;\r
goto cleanup;\r
}\r
// Call FmpDevice Lib Check Image on the\r
// Raw payload. So all headers need stripped off\r
//\r
- AllHeaderSize = GetAllHeaderSize ( (EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image, FmpHeaderSize + DependenciesSize);\r
+ AllHeaderSize = GetAllHeaderSize ((EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image, FmpHeaderSize + DependenciesSize);\r
if (AllHeaderSize == 0) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckTheImage() - GetAllHeaderSize failed.\n", mImageIdName));\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_ALL_HEADER_SIZE;\r
goto cleanup;\r
}\r
+\r
RawSize = ImageSize - AllHeaderSize;\r
\r
//\r
// FmpDeviceLib CheckImage function to do any specific checks\r
//\r
- Status = FmpDeviceCheckImageWithStatus ((((UINT8 *) Image) + AllHeaderSize), RawSize, ImageUpdatable, LastAttemptStatus);\r
+ Status = FmpDeviceCheckImageWithStatus ((((UINT8 *)Image) + AllHeaderSize), RawSize, ImageUpdatable, LastAttemptStatus);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): CheckTheImage() - FmpDeviceLib CheckImage failed. Status = %r\n", mImageIdName, Status));\r
\r
// [LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MIN_ERROR_CODE_VALUE, LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE]\r
//\r
if ((*LastAttemptStatus < LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MIN_ERROR_CODE_VALUE) ||\r
- (*LastAttemptStatus > LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE)) {\r
+ (*LastAttemptStatus > LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE))\r
+ {\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): CheckTheImage() - LastAttemptStatus %d from FmpDeviceCheckImageWithStatus() is invalid.\n",\r
- mImageIdName,\r
- *LastAttemptStatus)\r
+ "FmpDxe(%s): CheckTheImage() - LastAttemptStatus %d from FmpDeviceCheckImageWithStatus() is invalid.\n",\r
+ mImageIdName,\r
+ *LastAttemptStatus)\r
);\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
}\r
EFI_FIRMWARE_IMAGE_DEP *Dependencies;\r
UINT32 DependenciesSize;\r
\r
- Status = EFI_SUCCESS;\r
- Private = NULL;\r
- Updateable = 0;\r
- BooleanValue = FALSE;\r
- FmpHeaderSize = 0;\r
- FmpHeader = NULL;\r
- FmpPayloadSize = 0;\r
- AllHeaderSize = 0;\r
- IncomingFwVersion = 0;\r
- LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
- Dependencies = NULL;\r
- DependenciesSize = 0;\r
+ Status = EFI_SUCCESS;\r
+ Private = NULL;\r
+ Updateable = 0;\r
+ BooleanValue = FALSE;\r
+ FmpHeaderSize = 0;\r
+ FmpHeader = NULL;\r
+ FmpPayloadSize = 0;\r
+ AllHeaderSize = 0;\r
+ IncomingFwVersion = 0;\r
+ LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
+ Dependencies = NULL;\r
+ DependenciesSize = 0;\r
\r
if (!FeaturePcdGet (PcdFmpDeviceStorageAccessEnable)) {\r
return EFI_UNSUPPORTED;\r
\r
if (This == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): SetTheImage() - This is NULL.\n", mImageIdName));\r
- Status = EFI_INVALID_PARAMETER;\r
+ Status = EFI_INVALID_PARAMETER;\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROTOCOL_ARG_MISSING;\r
goto cleanup;\r
}\r
if (Private->FmpDeviceLocked) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): SetTheImage() - Device is already locked. Can't update.\n", mImageIdName));\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_DEVICE_LOCKED;\r
- Status = EFI_UNSUPPORTED;\r
+ Status = EFI_UNSUPPORTED;\r
goto cleanup;\r
}\r
\r
// No functional error in CheckTheImage. Attempt to get the Version to\r
// support better error reporting.\r
//\r
- FmpHeader = GetFmpHeader ( (EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image, ImageSize, DependenciesSize, &FmpPayloadSize );\r
+ FmpHeader = GetFmpHeader ((EFI_FIRMWARE_IMAGE_AUTHENTICATION *)Image, ImageSize, DependenciesSize, &FmpPayloadSize);\r
if (FmpHeader == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): SetTheImage() - GetFmpHeader failed.\n", mImageIdName));\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER;\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
goto cleanup;\r
}\r
+\r
Status = GetFmpPayloadHeaderVersion (FmpHeader, FmpPayloadSize, &IncomingFwVersion);\r
if (!EFI_ERROR (Status)) {\r
//\r
SetLastAttemptVersionInVariable (Private, IncomingFwVersion);\r
}\r
\r
-\r
if (Updateable != IMAGE_UPDATABLE_VALID) {\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): SetTheImage() - Check The Image returned that the Image was not valid for update. Updatable value = 0x%X.\n",\r
- mImageIdName, Updateable)\r
+ "FmpDxe(%s): SetTheImage() - Check The Image returned that the Image was not valid for update. Updatable value = 0x%X.\n",\r
+ mImageIdName, Updateable)\r
);\r
if (Private->DependenciesSatisfied == FALSE) {\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES;\r
}\r
+\r
Status = EFI_ABORTED;\r
goto cleanup;\r
}\r
if (Progress == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): SetTheImage() - Invalid progress callback\n", mImageIdName));\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROGRESS_CALLBACK_ERROR;\r
- Status = EFI_INVALID_PARAMETER;\r
+ Status = EFI_INVALID_PARAMETER;\r
goto cleanup;\r
}\r
\r
}\r
\r
//\r
- //Check System Power\r
+ // Check System Power\r
//\r
Status = CheckSystemPower (&BooleanValue);\r
if (EFI_ERROR (Status)) {\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_POWER_API;\r
goto cleanup;\r
}\r
+\r
if (!BooleanValue) {\r
Status = EFI_ABORTED;\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): SetTheImage() - CheckSystemPower - returned False. Update not allowed due to System Power.\n", mImageIdName)\r
+ "FmpDxe(%s): SetTheImage() - CheckSystemPower - returned False. Update not allowed due to System Power.\n", mImageIdName)\r
);\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT;\r
goto cleanup;\r
Progress (2);\r
\r
//\r
- //Check System Thermal\r
+ // Check System Thermal\r
//\r
Status = CheckSystemThermal (&BooleanValue);\r
if (EFI_ERROR (Status)) {\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_SYS_THERMAL_API;\r
goto cleanup;\r
}\r
+\r
if (!BooleanValue) {\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_THERMAL;\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): SetTheImage() - CheckSystemThermal - returned False. Update not allowed due to System Thermal.\n", mImageIdName)\r
+ "FmpDxe(%s): SetTheImage() - CheckSystemThermal - returned False. Update not allowed due to System Thermal.\n", mImageIdName)\r
);\r
goto cleanup;\r
}\r
Progress (3);\r
\r
//\r
- //Check System Environment\r
+ // Check System Environment\r
//\r
Status = CheckSystemEnvironment (&BooleanValue);\r
if (EFI_ERROR (Status)) {\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_SYS_ENV_API;\r
goto cleanup;\r
}\r
+\r
if (!BooleanValue) {\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_SYSTEM_ENV;\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): SetTheImage() - CheckSystemEnvironment - returned False. Update not allowed due to System Environment.\n", mImageIdName)\r
+ "FmpDxe(%s): SetTheImage() - CheckSystemEnvironment - returned False. Update not allowed due to System Environment.\n", mImageIdName)\r
);\r
goto cleanup;\r
}\r
if (AllHeaderSize == 0) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): SetTheImage() - GetAllHeaderSize failed.\n", mImageIdName));\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_ALL_HEADER_SIZE;\r
- Status = EFI_ABORTED;\r
+ Status = EFI_ABORTED;\r
goto cleanup;\r
}\r
\r
Progress (5);\r
\r
//\r
- //Copy the requested image to the firmware using the FmpDeviceLib\r
+ // Copy the requested image to the firmware using the FmpDeviceLib\r
//\r
Status = FmpDeviceSetImageWithStatus (\r
- (((UINT8 *) Image) + AllHeaderSize),\r
+ (((UINT8 *)Image) + AllHeaderSize),\r
ImageSize - AllHeaderSize,\r
VendorCode,\r
FmpDxeProgress,\r
// [LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MIN_ERROR_CODE_VALUE, LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE]\r
//\r
if ((LastAttemptStatus < LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MIN_ERROR_CODE_VALUE) ||\r
- (LastAttemptStatus > LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE)) {\r
+ (LastAttemptStatus > LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE))\r
+ {\r
DEBUG (\r
(DEBUG_ERROR,\r
- "FmpDxe(%s): SetTheImage() - LastAttemptStatus %d from FmpDeviceSetImageWithStatus() is invalid.\n",\r
- mImageIdName,\r
- LastAttemptStatus)\r
+ "FmpDxe(%s): SetTheImage() - LastAttemptStatus %d from FmpDeviceSetImageWithStatus() is invalid.\n",\r
+ mImageIdName,\r
+ LastAttemptStatus)\r
);\r
LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;\r
}\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): SetTheImage() SaveFmpDependency from FmpDependencyCheckLib failed. (%r)\n", mImageIdName, Status));\r
}\r
+\r
Status = EFI_SUCCESS;\r
}\r
\r
// Lock the firmware device\r
//\r
FmpDeviceSetContext (Private->Handle, &Private->FmpDeviceContext);\r
- Status = FmpDeviceLock();\r
+ Status = FmpDeviceLock ();\r
if (EFI_ERROR (Status)) {\r
if (Status != EFI_UNSUPPORTED) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): FmpDeviceLock() returned error. Status = %r\n", mImageIdName, Status));\r
DEBUG ((DEBUG_WARN, "FmpDxe(%s): FmpDeviceLock() returned error. Status = %r\n", mImageIdName, Status));\r
}\r
}\r
+\r
Private->FmpDeviceLocked = TRUE;\r
}\r
}\r
//\r
// Initialize private context data structure\r
//\r
- Private->Handle = Handle;\r
+ Private->Handle = Handle;\r
Private->FmpDeviceContext = NULL;\r
- Status = FmpDeviceSetContext (Private->Handle, &Private->FmpDeviceContext);\r
+ Status = FmpDeviceSetContext (Private->Handle, &Private->FmpDeviceContext);\r
if (Status == EFI_UNSUPPORTED) {\r
Private->FmpDeviceContext = NULL;\r
} else if (EFI_ERROR (Status)) {\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to register notification. Status = %r\n", mImageIdName, Status));\r
}\r
+\r
ASSERT_EFI_ERROR (Status);\r
} else {\r
DEBUG ((DEBUG_VERBOSE, "FmpDxe(%s): Not registering notification to call FmpDeviceLock() because mfg mode\n", mImageIdName));\r
//\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&Private->Handle,\r
- &gEfiFirmwareManagementProtocolGuid, &Private->Fmp,\r
- &gEdkiiFirmwareManagementProgressProtocolGuid, &mFmpProgress,\r
+ &gEfiFirmwareManagementProtocolGuid,\r
+ &Private->Fmp,\r
+ &gEdkiiFirmwareManagementProgressProtocolGuid,\r
+ &mFmpProgress,\r
NULL\r
);\r
if (EFI_ERROR (Status)) {\r
if (Private->FmpDeviceLockEvent != NULL) {\r
gBS->CloseEvent (Private->FmpDeviceLockEvent);\r
}\r
+\r
if (Private->Descriptor.VersionName != NULL) {\r
FreePool (Private->Descriptor.VersionName);\r
}\r
+\r
if (Private->FmpDeviceContext != NULL) {\r
FmpDeviceSetContext (NULL, &Private->FmpDeviceContext);\r
}\r
+\r
if (Private->VersionVariableName != NULL) {\r
FreePool (Private->VersionVariableName);\r
}\r
+\r
if (Private->LsvVariableName != NULL) {\r
FreePool (Private->LsvVariableName);\r
}\r
+\r
if (Private->LastAttemptStatusVariableName != NULL) {\r
FreePool (Private->LastAttemptStatusVariableName);\r
}\r
+\r
if (Private->LastAttemptVersionVariableName != NULL) {\r
FreePool (Private->LastAttemptVersionVariableName);\r
}\r
+\r
if (Private->FmpStateVariableName != NULL) {\r
FreePool (Private->FmpStateVariableName);\r
}\r
+\r
FreePool (Private);\r
}\r
}\r
\r
Status = gBS->UninstallMultipleProtocolInterfaces (\r
Private->Handle,\r
- &gEfiFirmwareManagementProtocolGuid, &Private->Fmp,\r
- &gEdkiiFirmwareManagementProgressProtocolGuid, &mFmpProgress,\r
+ &gEfiFirmwareManagementProtocolGuid,\r
+ &Private->Fmp,\r
+ &gEdkiiFirmwareManagementProgressProtocolGuid,\r
+ &mFmpProgress,\r
NULL\r
);\r
if (EFI_ERROR (Status)) {\r
if (Private->Descriptor.VersionName != NULL) {\r
FreePool (Private->Descriptor.VersionName);\r
}\r
+\r
if (Private->FmpDeviceContext != NULL) {\r
FmpDeviceSetContext (NULL, &Private->FmpDeviceContext);\r
}\r
+\r
if (Private->VersionVariableName != NULL) {\r
FreePool (Private->VersionVariableName);\r
}\r
+\r
if (Private->LsvVariableName != NULL) {\r
FreePool (Private->LsvVariableName);\r
}\r
+\r
if (Private->LastAttemptStatusVariableName != NULL) {\r
FreePool (Private->LastAttemptStatusVariableName);\r
}\r
+\r
if (Private->LastAttemptVersionVariableName != NULL) {\r
FreePool (Private->LastAttemptVersionVariableName);\r
}\r
+\r
if (Private->FmpStateVariableName != NULL) {\r
FreePool (Private->FmpStateVariableName);\r
}\r
+\r
FreePool (Private);\r
\r
return EFI_SUCCESS;\r
if (mFmpSingleInstance) {\r
return UninstallFmpInstance (ImageHandle);\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
//\r
// Get the ImageIdName value for the EFI_FIRMWARE_IMAGE_DESCRIPTOR from a PCD.\r
//\r
- mImageIdName = (CHAR16 *) PcdGetPtr (PcdFmpDeviceImageIdName);\r
- if (PcdGetSize (PcdFmpDeviceImageIdName) <= 2 || mImageIdName[0] == 0) {\r
+ mImageIdName = (CHAR16 *)PcdGetPtr (PcdFmpDeviceImageIdName);\r
+ if ((PcdGetSize (PcdFmpDeviceImageIdName) <= 2) || (mImageIdName[0] == 0)) {\r
//\r
// PcdFmpDeviceImageIdName must be set to a non-empty Unicode string\r
//\r
if (PcdGetSize (PcdFmpDeviceLockEventGuid) == sizeof (EFI_GUID)) {\r
mLockGuid = (EFI_GUID *)PcdGetPtr (PcdFmpDeviceLockEventGuid);\r
}\r
+\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): Lock GUID: %g\n", mImageIdName, mLockGuid));\r
\r
//\r
///\r
///\r
///\r
-#define FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('f','m','p','p')\r
+#define FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('f','m','p','p')\r
\r
typedef struct {\r
- UINTN Signature;\r
- EFI_HANDLE Handle;\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL Fmp;\r
- BOOLEAN DescriptorPopulated;\r
- EFI_FIRMWARE_IMAGE_DESCRIPTOR Descriptor;\r
- CHAR16 *ImageIdName;\r
- CHAR16 *VersionName;\r
- BOOLEAN RuntimeVersionSupported;\r
- EFI_EVENT FmpDeviceLockEvent;\r
+ UINTN Signature;\r
+ EFI_HANDLE Handle;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL Fmp;\r
+ BOOLEAN DescriptorPopulated;\r
+ EFI_FIRMWARE_IMAGE_DESCRIPTOR Descriptor;\r
+ CHAR16 *ImageIdName;\r
+ CHAR16 *VersionName;\r
+ BOOLEAN RuntimeVersionSupported;\r
+ EFI_EVENT FmpDeviceLockEvent;\r
//\r
// Indicates if an attempt has been made to lock a\r
// FLASH storage device by calling FmpDeviceLock().\r
// so this variable is set to TRUE even if FmpDeviceLock()\r
// returns an error.\r
//\r
- BOOLEAN FmpDeviceLocked;\r
- VOID *FmpDeviceContext;\r
- CHAR16 *VersionVariableName;\r
- CHAR16 *LsvVariableName;\r
- CHAR16 *LastAttemptStatusVariableName;\r
- CHAR16 *LastAttemptVersionVariableName;\r
- CHAR16 *FmpStateVariableName;\r
- BOOLEAN DependenciesSatisfied;\r
+ BOOLEAN FmpDeviceLocked;\r
+ VOID *FmpDeviceContext;\r
+ CHAR16 *VersionVariableName;\r
+ CHAR16 *LsvVariableName;\r
+ CHAR16 *LastAttemptStatusVariableName;\r
+ CHAR16 *LastAttemptVersionVariableName;\r
+ CHAR16 *FmpStateVariableName;\r
+ BOOLEAN DependenciesSatisfied;\r
} FIRMWARE_MANAGEMENT_PRIVATE_DATA;\r
\r
///\r
IN OUT UINTN *ImageSize\r
);\r
\r
-\r
/**\r
Checks if the firmware image is valid for the device.\r
\r
(VOID **)&Buffer,\r
&Size\r
);\r
- if (!EFI_ERROR (Status) && Size == sizeof (*Value) && Buffer != NULL) {\r
+ if (!EFI_ERROR (Status) && (Size == sizeof (*Value)) && (Buffer != NULL)) {\r
*Valid = TRUE;\r
*Value = *Buffer;\r
}\r
+\r
if (Buffer != NULL) {\r
FreePool (Buffer);\r
}\r
\r
FmpControllerState = NULL;\r
Size = 0;\r
- Status = GetVariable2 (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- (VOID **)&FmpControllerState,\r
- &Size\r
- );\r
- if (EFI_ERROR (Status) || FmpControllerState == NULL) {\r
+ Status = GetVariable2 (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **)&FmpControllerState,\r
+ &Size\r
+ );\r
+ if (EFI_ERROR (Status) || (FmpControllerState == NULL)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to get the controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
if (Size == sizeof (*FmpControllerState)) {\r
return FmpControllerState;\r
}\r
+\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Getting controller state returned a size different than expected. Size = 0x%x\n", mImageIdName, Size));\r
}\r
+\r
if (FmpControllerState != NULL) {\r
FreePool (FmpControllerState);\r
}\r
+\r
return NULL;\r
}\r
\r
// Allocate Unicode string with room for BaseVariableName and a 16 digit\r
// hexadecimal value for the HardwareInstance value.\r
//\r
- Size = StrSize (BaseVariableName) + 16 * sizeof (CHAR16);\r
+ Size = StrSize (BaseVariableName) + 16 * sizeof (CHAR16);\r
VariableName = AllocateCopyPool (Size, BaseVariableName);\r
if (VariableName == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to generate variable name %s.\n", mImageIdName, BaseVariableName));\r
return VariableName;\r
}\r
+\r
if (HardwareInstance == 0) {\r
return VariableName;\r
}\r
+\r
UnicodeValueToStringS (\r
- &VariableName[StrLen(BaseVariableName)],\r
+ &VariableName[StrLen (BaseVariableName)],\r
Size,\r
PREFIX_ZERO | RADIX_HEX,\r
HardwareInstance,\r
IN OUT FIRMWARE_MANAGEMENT_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- VOID *Buffer;\r
+ EFI_STATUS Status;\r
+ VOID *Buffer;\r
FMP_CONTROLLER_STATE FmpControllerState;\r
\r
if (Private->VersionVariableName != NULL) {\r
FreePool (Private->VersionVariableName);\r
}\r
+\r
if (Private->LsvVariableName != NULL) {\r
FreePool (Private->LsvVariableName);\r
}\r
+\r
if (Private->LastAttemptStatusVariableName != NULL) {\r
FreePool (Private->LastAttemptStatusVariableName);\r
}\r
+\r
if (Private->LastAttemptVersionVariableName != NULL) {\r
FreePool (Private->LastAttemptVersionVariableName);\r
}\r
+\r
if (Private->FmpStateVariableName != NULL) {\r
FreePool (Private->FmpStateVariableName);\r
}\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_VERSION;\r
+ Value = DEFAULT_VERSION;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->VersionValid) {\r
Value = FmpControllerState->Version;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s Version %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s Version %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_LOWESTSUPPORTEDVERSION;\r
+ Value = DEFAULT_LOWESTSUPPORTEDVERSION;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->LsvValid) {\r
Value = FmpControllerState->Lsv;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s LowestSupportedVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s LowestSupportedVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_LASTATTEMPTSTATUS;\r
+ Value = DEFAULT_LASTATTEMPTSTATUS;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->LastAttemptStatusValid) {\r
Value = FmpControllerState->LastAttemptStatus;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s LastAttemptStatus %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s LastAttemptStatus %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_LASTATTEMPTVERSION;\r
+ Value = DEFAULT_LASTATTEMPTVERSION;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->LastAttemptVersionValid) {\r
Value = FmpControllerState->LastAttemptVersion;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s LastAttemptVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s LastAttemptVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
if (!FmpControllerState->VersionValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->Version != Version) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->VersionValid = TRUE;\r
FmpControllerState->Version = Version;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s Version %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s Version %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
if (!FmpControllerState->LsvValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->Lsv < LowestSupportedVersion) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->LsvValid = TRUE;\r
FmpControllerState->Lsv = LowestSupportedVersion;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s LowestSupportedVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s LowestSupportedVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
if (!FmpControllerState->LastAttemptStatusValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->LastAttemptStatus != LastAttemptStatus) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->LastAttemptStatusValid = TRUE;\r
FmpControllerState->LastAttemptStatus = LastAttemptStatus;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s LastAttemptStatus %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s LastAttemptStatus %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
if (!FmpControllerState->LastAttemptVersionValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->LastAttemptVersion != LastAttemptVersion) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->LastAttemptVersionValid = TRUE;\r
FmpControllerState->LastAttemptVersion = LastAttemptVersion;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s LastAttemptVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s LastAttemptVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
EFI_STATUS Status;\r
\r
// If success, go ahead and set the policies to protect the target variables.\r
- Status = RegisterBasicVariablePolicy (VariablePolicy,\r
- &gEfiCallerIdGuid,\r
- VariableName,\r
- VARIABLE_POLICY_NO_MIN_SIZE,\r
- VARIABLE_POLICY_NO_MAX_SIZE,\r
- VARIABLE_POLICY_NO_MUST_ATTR,\r
- VARIABLE_POLICY_NO_CANT_ATTR,\r
- VARIABLE_POLICY_TYPE_LOCK_NOW);\r
+ Status = RegisterBasicVariablePolicy (\r
+ VariablePolicy,\r
+ &gEfiCallerIdGuid,\r
+ VariableName,\r
+ VARIABLE_POLICY_NO_MIN_SIZE,\r
+ VARIABLE_POLICY_NO_MAX_SIZE,\r
+ VARIABLE_POLICY_NO_MUST_ATTR,\r
+ VARIABLE_POLICY_NO_CANT_ATTR,\r
+ VARIABLE_POLICY_TYPE_LOCK_NOW\r
+ );\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to lock variable %g %s. Status = %r\n",\r
- mImageIdName,\r
- &gEfiCallerIdGuid,\r
- VariableName,\r
- Status\r
- ));\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ "FmpDxe(%s): Failed to lock variable %g %s. Status = %r\n",\r
+ mImageIdName,\r
+ &gEfiCallerIdGuid,\r
+ VariableName,\r
+ Status\r
+ ));\r
}\r
+\r
if (EFI_ERROR (PreviousStatus)) {\r
return PreviousStatus;\r
}\r
+\r
return Status;\r
}\r
\r
FIRMWARE_MANAGEMENT_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy;\r
+ EFI_STATUS Status;\r
+ EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy;\r
\r
// Locate the VariablePolicy protocol.\r
- Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID**)&VariablePolicy );\r
+ Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID **)&VariablePolicy);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe %a - Could not locate VariablePolicy protocol! %r\n", __FUNCTION__, Status));\r
return Status;\r
/// Base UEFI Variable names for FMP Controller State information stored in\r
/// separate variables.\r
///\r
-#define VARNAME_VERSION L"FmpVersion"\r
-#define VARNAME_LSV L"FmpLsv"\r
-#define VARNAME_LASTATTEMPTSTATUS L"LastAttemptStatus"\r
-#define VARNAME_LASTATTEMPTVERSION L"LastAttemptVersion"\r
+#define VARNAME_VERSION L"FmpVersion"\r
+#define VARNAME_LSV L"FmpLsv"\r
+#define VARNAME_LASTATTEMPTSTATUS L"LastAttemptStatus"\r
+#define VARNAME_LASTATTEMPTVERSION L"LastAttemptVersion"\r
\r
///\r
/// Base UEFI Variable name for FMP Controller State information stored in a\r
/// then they are merged into a single variable and the separate variables are\r
/// deleted.\r
///\r
-#define VARNAME_FMPSTATE L"FmpState"\r
+#define VARNAME_FMPSTATE L"FmpState"\r
\r
///\r
/// FMP Controller State structure that is used to store the state of\r
/// a controller in one combined UEFI Variable.\r
///\r
typedef struct {\r
- BOOLEAN VersionValid;\r
- BOOLEAN LsvValid;\r
- BOOLEAN LastAttemptStatusValid;\r
- BOOLEAN LastAttemptVersionValid;\r
- UINT32 Version;\r
- UINT32 Lsv;\r
- UINT32 LastAttemptStatus;\r
- UINT32 LastAttemptVersion;\r
+ BOOLEAN VersionValid;\r
+ BOOLEAN LsvValid;\r
+ BOOLEAN LastAttemptStatusValid;\r
+ BOOLEAN LastAttemptVersionValid;\r
+ UINT32 Version;\r
+ UINT32 Lsv;\r
+ UINT32 LastAttemptStatus;\r
+ UINT32 LastAttemptVersion;\r
} FMP_CONTROLLER_STATE;\r
\r
/**\r
///\r
/// The minimum value of the FMP reserved range.\r
///\r
-#define LAST_ATTEMPT_STATUS_FMP_RESERVED_MIN_ERROR_CODE_VALUE 0x1000\r
+#define LAST_ATTEMPT_STATUS_FMP_RESERVED_MIN_ERROR_CODE_VALUE 0x1000\r
\r
///\r
/// The maximum value of the FMP reserved range.\r
///\r
-#define LAST_ATTEMPT_STATUS_FMP_RESERVED_MAX_ERROR_CODE_VALUE 0x1FFF\r
+#define LAST_ATTEMPT_STATUS_FMP_RESERVED_MAX_ERROR_CODE_VALUE 0x1FFF\r
\r
///\r
/// The minimum value allowed for FmpDxe driver-specific errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_DRIVER_MIN_ERROR_CODE_VALUE 0x1000\r
+#define LAST_ATTEMPT_STATUS_DRIVER_MIN_ERROR_CODE_VALUE 0x1000\r
\r
///\r
/// The maximum value allowed for FmpDxe driver-specific errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_DRIVER_MAX_ERROR_CODE_VALUE 0x107F\r
+#define LAST_ATTEMPT_STATUS_DRIVER_MAX_ERROR_CODE_VALUE 0x107F\r
\r
///\r
/// The minimum value allowed for FmpDependencyLib related errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_LIB_MIN_ERROR_CODE_VALUE 0x1080\r
+#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_LIB_MIN_ERROR_CODE_VALUE 0x1080\r
\r
///\r
/// The maximum value allowed for FmpDependencyLib related errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_LIB_MAX_ERROR_CODE_VALUE 0x109F\r
+#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_LIB_MAX_ERROR_CODE_VALUE 0x109F\r
\r
///\r
/// The minimum value allowed for FmpDependencyCheckLib related errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_CHECK_LIB_MIN_ERROR_CODE_VALUE 0x10A0\r
+#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_CHECK_LIB_MIN_ERROR_CODE_VALUE 0x10A0\r
\r
///\r
/// The maximum value allowed for FmpDependencyCheckLib related errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_CHECK_LIB_MAX_ERROR_CODE_VALUE 0x10BF\r
+#define LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_CHECK_LIB_MAX_ERROR_CODE_VALUE 0x10BF\r
\r
///\r
/// The minimum value allowed for FMP device library errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MIN_ERROR_CODE_VALUE 0x1800\r
+#define LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MIN_ERROR_CODE_VALUE 0x1800\r
\r
///\r
/// The maximum value allowed for FMP device library errors.\r
///\r
-#define LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE 0x1FFF\r
+#define LAST_ATTEMPT_STATUS_DEVICE_LIBRARY_MAX_ERROR_CODE_VALUE 0x1FFF\r
\r
#endif\r
EFI_STATUS\r
EFIAPI\r
CheckSystemThermal (\r
- OUT BOOLEAN *Good\r
+ OUT BOOLEAN *Good\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
CheckSystemEnvironment (\r
- OUT BOOLEAN *Good\r
+ OUT BOOLEAN *Good\r
);\r
\r
/**\r
@retval NULL\r
\r
**/\r
-EFI_FIRMWARE_IMAGE_DEP*\r
+EFI_FIRMWARE_IMAGE_DEP *\r
EFIAPI\r
GetFmpDependency (\r
OUT UINT32 *DepexSize\r
// Data struct to store FMP ImageType and version for dependency check.\r
//\r
typedef struct {\r
- EFI_GUID ImageTypeId;\r
- UINT32 Version;\r
+ EFI_GUID ImageTypeId;\r
+ UINT32 Version;\r
} FMP_DEPEX_CHECK_VERSION_DATA;\r
\r
/**\r
@retval Null\r
\r
**/\r
-EFI_FIRMWARE_IMAGE_DEP*\r
+EFI_FIRMWARE_IMAGE_DEP *\r
EFIAPI\r
GetImageDependency (\r
- IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image,\r
- IN UINTN ImageSize,\r
- OUT UINT32 *DepexSize,\r
- OUT UINT32 *LastAttemptStatus OPTIONAL\r
+ IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image,\r
+ IN UINTN ImageSize,\r
+ OUT UINT32 *DepexSize,\r
+ OUT UINT32 *LastAttemptStatus OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
FmpDeviceGetAttributes (\r
- OUT UINT64 *Supported,\r
- OUT UINT64 *Setting\r
+ OUT UINT64 *Supported,\r
+ OUT UINT64 *Setting\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
CheckSystemThermal (\r
- OUT BOOLEAN *Good\r
+ OUT BOOLEAN *Good\r
)\r
{\r
*Good = TRUE;\r
EFI_STATUS\r
EFIAPI\r
CheckSystemEnvironment (\r
- OUT BOOLEAN *Good\r
+ OUT BOOLEAN *Good\r
)\r
{\r
*Good = TRUE;\r
if (mCapsuleUpdatePolicy != NULL) {\r
return TRUE;\r
}\r
+\r
Status = gBS->LocateProtocol (\r
&gEdkiiCapsuleUpdatePolicyProtocolGuid,\r
NULL,\r
mCapsuleUpdatePolicy = NULL;\r
return FALSE;\r
}\r
+\r
return TRUE;\r
}\r
\r
if (LookupCapsuleUpdatePolicyProtocol ()) {\r
return mCapsuleUpdatePolicy->CheckSystemPower (mCapsuleUpdatePolicy, Good);\r
}\r
+\r
*Good = TRUE;\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
CheckSystemThermal (\r
- OUT BOOLEAN *Good\r
+ OUT BOOLEAN *Good\r
)\r
{\r
if (LookupCapsuleUpdatePolicyProtocol ()) {\r
return mCapsuleUpdatePolicy->CheckSystemThermal (mCapsuleUpdatePolicy, Good);\r
}\r
+\r
*Good = TRUE;\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
CheckSystemEnvironment (\r
- OUT BOOLEAN *Good\r
+ OUT BOOLEAN *Good\r
)\r
{\r
if (LookupCapsuleUpdatePolicyProtocol ()) {\r
return mCapsuleUpdatePolicy->CheckSystemEnvironment (mCapsuleUpdatePolicy, Good);\r
}\r
+\r
*Good = TRUE;\r
return EFI_SUCCESS;\r
}\r
if (LookupCapsuleUpdatePolicyProtocol ()) {\r
return mCapsuleUpdatePolicy->IsLowestSupportedVersionCheckRequired (mCapsuleUpdatePolicy);\r
}\r
+\r
return TRUE;\r
}\r
\r
if (LookupCapsuleUpdatePolicyProtocol ()) {\r
return mCapsuleUpdatePolicy->IsLockFmpDeviceAtLockEventGuidRequired (mCapsuleUpdatePolicy);\r
}\r
+\r
return TRUE;\r
}\r
UINTN FmpVersionsCount;\r
BOOLEAN IsSatisfied;\r
\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
- FmpImageInfoBuf = NULL;\r
- DescriptorVer = NULL;\r
- DescriptorSize = NULL;\r
- NumberOfFmpInstance = 0;\r
- FmpVersions = NULL;\r
- FmpVersionsCount = 0;\r
- IsSatisfied = TRUE;\r
- PackageVersionName = NULL;\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
+ FmpImageInfoBuf = NULL;\r
+ DescriptorVer = NULL;\r
+ DescriptorSize = NULL;\r
+ NumberOfFmpInstance = 0;\r
+ FmpVersions = NULL;\r
+ FmpVersionsCount = 0;\r
+ IsSatisfied = TRUE;\r
+ PackageVersionName = NULL;\r
\r
//\r
// Get ImageDescriptors of all FMP instances, and archive them for dependency evaluation.\r
//\r
Status = gBS->LocateHandleBuffer (\r
- ByProtocol,\r
- &gEfiFirmwareManagementProtocolGuid,\r
- NULL,\r
- &NumberOfFmpInstance,\r
- &HandleBuffer\r
- );\r
+ ByProtocol,\r
+ &gEfiFirmwareManagementProtocolGuid,\r
+ NULL,\r
+ &NumberOfFmpInstance,\r
+ &HandleBuffer\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "CheckFmpDependency: Get Firmware Management Protocol failed. (%r)", Status));\r
- IsSatisfied = FALSE;\r
+ IsSatisfied = FALSE;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_FMP_PROTOCOL_NOT_FOUND;\r
goto cleanup;\r
}\r
\r
- FmpImageInfoBuf = AllocateZeroPool (sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR *) * NumberOfFmpInstance);\r
+ FmpImageInfoBuf = AllocateZeroPool (sizeof (EFI_FIRMWARE_IMAGE_DESCRIPTOR *) * NumberOfFmpInstance);\r
if (FmpImageInfoBuf == NULL) {\r
- IsSatisfied = FALSE;\r
+ IsSatisfied = FALSE;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_FMP_INFO_BUFFER_FAILED;\r
goto cleanup;\r
}\r
\r
- DescriptorVer = AllocateZeroPool (sizeof(UINT32) * NumberOfFmpInstance);\r
+ DescriptorVer = AllocateZeroPool (sizeof (UINT32) * NumberOfFmpInstance);\r
if (DescriptorVer == NULL ) {\r
- IsSatisfied = FALSE;\r
+ IsSatisfied = FALSE;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_DESC_VER_BUFFER_FAILED;\r
goto cleanup;\r
}\r
\r
- DescriptorSize = AllocateZeroPool (sizeof(UINTN) * NumberOfFmpInstance);\r
+ DescriptorSize = AllocateZeroPool (sizeof (UINTN) * NumberOfFmpInstance);\r
if (DescriptorSize == NULL ) {\r
- IsSatisfied = FALSE;\r
+ IsSatisfied = FALSE;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_DESC_SIZE_BUFFER_FAILED;\r
goto cleanup;\r
}\r
\r
- FmpVersions = AllocateZeroPool (sizeof(FMP_DEPEX_CHECK_VERSION_DATA) * NumberOfFmpInstance);\r
+ FmpVersions = AllocateZeroPool (sizeof (FMP_DEPEX_CHECK_VERSION_DATA) * NumberOfFmpInstance);\r
if (FmpVersions == NULL) {\r
- IsSatisfied = FALSE;\r
+ IsSatisfied = FALSE;\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_FMP_VER_BUFFER_FAILED;\r
goto cleanup;\r
}\r
\r
- for (Index = 0; Index < NumberOfFmpInstance; Index ++) {\r
+ for (Index = 0; Index < NumberOfFmpInstance; Index++) {\r
Status = gBS->HandleProtocol (\r
HandleBuffer[Index],\r
&gEfiFirmwareManagementProtocolGuid,\r
- (VOID **) &Fmp\r
+ (VOID **)&Fmp\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
continue;\r
}\r
\r
ImageInfoSize = 0;\r
- Status = Fmp->GetImageInfo (\r
- Fmp,\r
- &ImageInfoSize,\r
- NULL,\r
- NULL,\r
- NULL,\r
- NULL,\r
- NULL,\r
- NULL\r
- );\r
+ Status = Fmp->GetImageInfo (\r
+ Fmp,\r
+ &ImageInfoSize,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL\r
+ );\r
if (Status != EFI_BUFFER_TOO_SMALL) {\r
continue;\r
}\r
&PackageVersion, // PackageVersion\r
&PackageVersionName // PackageVersionName\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
FreePool (FmpImageInfoBuf[Index]);\r
FmpImageInfoBuf[Index] = NULL;\r
continue;\r
\r
CopyGuid (&FmpVersions[FmpVersionsCount].ImageTypeId, &FmpImageInfoBuf[Index]->ImageTypeId);\r
FmpVersions[FmpVersionsCount].Version = FmpImageInfoBuf[Index]->Version;\r
- FmpVersionsCount ++;\r
+ FmpVersionsCount++;\r
}\r
\r
//\r
\r
cleanup:\r
if (FmpImageInfoBuf != NULL) {\r
- for (Index = 0; Index < NumberOfFmpInstance; Index ++) {\r
+ for (Index = 0; Index < NumberOfFmpInstance; Index++) {\r
if (FmpImageInfoBuf[Index] != NULL) {\r
FreePool (FmpImageInfoBuf[Index]);\r
}\r
}\r
+\r
FreePool (FmpImageInfoBuf);\r
}\r
\r
@retval NULL\r
\r
**/\r
-EFI_FIRMWARE_IMAGE_DEP*\r
+EFI_FIRMWARE_IMAGE_DEP *\r
EFIAPI\r
GetFmpDependency (\r
OUT UINT32 *DepexSize\r
// Value of stack element\r
//\r
typedef union {\r
- BOOLEAN Boolean;\r
- UINT32 Version;\r
+ BOOLEAN Boolean;\r
+ UINT32 Version;\r
} ELEMENT_VALUE;\r
\r
//\r
// Stack element used to evaluate dependency expressions\r
//\r
typedef struct {\r
- ELEMENT_VALUE Value;\r
- ELEMENT_TYPE Type;\r
+ ELEMENT_VALUE Value;\r
+ ELEMENT_TYPE Type;\r
} DEPEX_ELEMENT;\r
\r
//\r
**/\r
EFI_STATUS\r
Push (\r
- IN UINT32 Value,\r
- IN UINTN Type\r
+ IN UINT32 Value,\r
+ IN UINTN Type\r
)\r
{\r
- EFI_STATUS Status;\r
- DEPEX_ELEMENT Element;\r
+ EFI_STATUS Status;\r
+ DEPEX_ELEMENT Element;\r
\r
//\r
// Check Type\r
//\r
- if (Type != BooleanType && Type != VersionType) {\r
+ if ((Type != BooleanType) && (Type != VersionType)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
}\r
\r
Element.Value.Version = Value;\r
- Element.Type = Type;\r
+ Element.Type = Type;\r
\r
//\r
// Push the item onto the stack\r
DEBUG ((DEBUG_ERROR, "EvaluateDependency: Popped element type is mismatched!\n"));\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
OUT UINT32 *LastAttemptStatus OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 *Iterator;\r
- UINT8 Index;\r
- DEPEX_ELEMENT Element1;\r
- DEPEX_ELEMENT Element2;\r
- GUID ImageTypeId;\r
- UINT32 Version;\r
- UINT32 LocalLastAttemptStatus;\r
+ EFI_STATUS Status;\r
+ UINT8 *Iterator;\r
+ UINT8 Index;\r
+ DEPEX_ELEMENT Element1;\r
+ DEPEX_ELEMENT Element2;\r
+ GUID ImageTypeId;\r
+ UINT32 Version;\r
+ UINT32 LocalLastAttemptStatus;\r
\r
LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;\r
\r
//\r
// Check if parameter is valid.\r
//\r
- if (Dependencies == NULL || DependenciesSize == 0) {\r
+ if ((Dependencies == NULL) || (DependenciesSize == 0)) {\r
return FALSE;\r
}\r
\r
- if (FmpVersions == NULL && FmpVersionsCount > 0) {\r
+ if ((FmpVersions == NULL) && (FmpVersionsCount > 0)) {\r
return FALSE;\r
}\r
\r
//\r
mDepexEvaluationStackPointer = mDepexEvaluationStack;\r
\r
- Iterator = (UINT8 *) Dependencies->Dependencies;\r
- while (Iterator < (UINT8 *) Dependencies->Dependencies + DependenciesSize) {\r
- switch (*Iterator)\r
- {\r
- case EFI_FMP_DEP_PUSH_GUID:\r
- if (Iterator + sizeof (EFI_GUID) >= (UINT8 *) Dependencies->Dependencies + DependenciesSize) {\r
- DEBUG ((DEBUG_ERROR, "EvaluateDependency: GUID extends beyond end of dependency expression!\n"));\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GUID_BEYOND_DEPEX;\r
- goto Error;\r
- }\r
+ Iterator = (UINT8 *)Dependencies->Dependencies;\r
+ while (Iterator < (UINT8 *)Dependencies->Dependencies + DependenciesSize) {\r
+ switch (*Iterator) {\r
+ case EFI_FMP_DEP_PUSH_GUID:\r
+ if (Iterator + sizeof (EFI_GUID) >= (UINT8 *)Dependencies->Dependencies + DependenciesSize) {\r
+ DEBUG ((DEBUG_ERROR, "EvaluateDependency: GUID extends beyond end of dependency expression!\n"));\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GUID_BEYOND_DEPEX;\r
+ goto Error;\r
+ }\r
+\r
+ CopyGuid (&ImageTypeId, (EFI_GUID *)(Iterator + 1));\r
+ Iterator = Iterator + sizeof (EFI_GUID);\r
\r
- CopyGuid (&ImageTypeId, (EFI_GUID *) (Iterator + 1));\r
- Iterator = Iterator + sizeof (EFI_GUID);\r
+ for (Index = 0; Index < FmpVersionsCount; Index++) {\r
+ if (CompareGuid (&FmpVersions[Index].ImageTypeId, &ImageTypeId)) {\r
+ Status = Push (FmpVersions[Index].Version, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
\r
- for (Index = 0; Index < FmpVersionsCount; Index ++) {\r
- if(CompareGuid (&FmpVersions[Index].ImageTypeId, &ImageTypeId)){\r
- Status = Push (FmpVersions[Index].Version, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
+ break;\r
}\r
- break;\r
}\r
- }\r
- if (Index == FmpVersionsCount) {\r
- DEBUG ((DEBUG_ERROR, "EvaluateDependency: %g is not found!\n", &ImageTypeId));\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_FMP_NOT_FOUND;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_PUSH_VERSION:\r
- if (Iterator + sizeof (UINT32) >= (UINT8 *) Dependencies->Dependencies + DependenciesSize ) {\r
- DEBUG ((DEBUG_ERROR, "EvaluateDependency: VERSION extends beyond end of dependency expression!\n"));\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_BEYOND_DEPEX;\r
- goto Error;\r
- }\r
\r
- Version = *(UINT32 *) (Iterator + 1);\r
- Status = Push (Version, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- Iterator = Iterator + sizeof (UINT32);\r
- break;\r
- case EFI_FMP_DEP_VERSION_STR:\r
- Iterator += AsciiStrnLenS ((CHAR8 *) Iterator, DependenciesSize - (Iterator - Dependencies->Dependencies));\r
- if (Iterator == (UINT8 *) Dependencies->Dependencies + DependenciesSize) {\r
- DEBUG ((DEBUG_ERROR, "EvaluateDependency: STRING extends beyond end of dependency expression!\n"));\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_STR_BEYOND_DEPEX;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_AND:\r
- Status = Pop (&Element1, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop (&Element2, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Push (Element1.Value.Boolean & Element2.Value.Boolean, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_OR:\r
- Status = Pop (&Element1, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop(&Element2, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Push (Element1.Value.Boolean | Element2.Value.Boolean, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_NOT:\r
- Status = Pop (&Element1, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Push (!(Element1.Value.Boolean), BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_TRUE:\r
- Status = Push (TRUE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_FALSE:\r
- Status = Push (FALSE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_EQ:\r
- Status = Pop (&Element1, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop (&Element2, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = (Element1.Value.Version == Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_GT:\r
- Status = Pop (&Element1, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop (&Element2, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = (Element1.Value.Version > Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_GTE:\r
- Status = Pop (&Element1, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop (&Element2, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = (Element1.Value.Version >= Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_LT:\r
- Status = Pop (&Element1, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop (&Element2, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus= LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = (Element1.Value.Version < Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_LTE:\r
- Status = Pop (&Element1, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = Pop (&Element2, VersionType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
- goto Error;\r
- }\r
- Status = (Element1.Value.Version <= Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
- goto Error;\r
- }\r
- break;\r
- case EFI_FMP_DEP_END:\r
- Status = Pop (&Element1, BooleanType);\r
- if (EFI_ERROR (Status)) {\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ if (Index == FmpVersionsCount) {\r
+ DEBUG ((DEBUG_ERROR, "EvaluateDependency: %g is not found!\n", &ImageTypeId));\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_FMP_NOT_FOUND;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_PUSH_VERSION:\r
+ if (Iterator + sizeof (UINT32) >= (UINT8 *)Dependencies->Dependencies + DependenciesSize ) {\r
+ DEBUG ((DEBUG_ERROR, "EvaluateDependency: VERSION extends beyond end of dependency expression!\n"));\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_BEYOND_DEPEX;\r
+ goto Error;\r
+ }\r
+\r
+ Version = *(UINT32 *)(Iterator + 1);\r
+ Status = Push (Version, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Iterator = Iterator + sizeof (UINT32);\r
+ break;\r
+ case EFI_FMP_DEP_VERSION_STR:\r
+ Iterator += AsciiStrnLenS ((CHAR8 *)Iterator, DependenciesSize - (Iterator - Dependencies->Dependencies));\r
+ if (Iterator == (UINT8 *)Dependencies->Dependencies + DependenciesSize) {\r
+ DEBUG ((DEBUG_ERROR, "EvaluateDependency: STRING extends beyond end of dependency expression!\n"));\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_STR_BEYOND_DEPEX;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_AND:\r
+ Status = Pop (&Element1, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Push (Element1.Value.Boolean & Element2.Value.Boolean, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_OR:\r
+ Status = Pop (&Element1, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Push (Element1.Value.Boolean | Element2.Value.Boolean, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_NOT:\r
+ Status = Pop (&Element1, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Push (!(Element1.Value.Boolean), BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_TRUE:\r
+ Status = Push (TRUE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_FALSE:\r
+ Status = Push (FALSE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_EQ:\r
+ Status = Pop (&Element1, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = (Element1.Value.Version == Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_GT:\r
+ Status = Pop (&Element1, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = (Element1.Value.Version > Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_GTE:\r
+ Status = Pop (&Element1, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = (Element1.Value.Version >= Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_LT:\r
+ Status = Pop (&Element1, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = (Element1.Value.Version < Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_LTE:\r
+ Status = Pop (&Element1, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = Pop (&Element2, VersionType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ Status = (Element1.Value.Version <= Element2.Value.Version) ? Push (TRUE, BooleanType) : Push (FALSE, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ break;\r
+ case EFI_FMP_DEP_END:\r
+ Status = Pop (&Element1, BooleanType);\r
+ if (EFI_ERROR (Status)) {\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE;\r
+ goto Error;\r
+ }\r
+\r
+ return Element1.Value.Boolean;\r
+ default:\r
+ DEBUG ((DEBUG_ERROR, "EvaluateDependency: Unknown Opcode - %02x!\n", *Iterator));\r
+ LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_UNKNOWN_OPCODE;\r
goto Error;\r
- }\r
- return Element1.Value.Boolean;\r
- default:\r
- DEBUG ((DEBUG_ERROR, "EvaluateDependency: Unknown Opcode - %02x!\n", *Iterator));\r
- LocalLastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_UNKNOWN_OPCODE;\r
- goto Error;\r
}\r
+\r
Iterator++;\r
}\r
\r
UINT8 *Depex;\r
\r
if (DepexSize != NULL) {\r
- *DepexSize = 0;\r
+ *DepexSize = 0;\r
}\r
\r
if (Dependencies == NULL) {\r
\r
Depex = Dependencies->Dependencies;\r
while (Depex < Dependencies->Dependencies + MaxDepexSize) {\r
- switch (*Depex)\r
- {\r
- case EFI_FMP_DEP_PUSH_GUID:\r
- Depex += sizeof (EFI_GUID) + 1;\r
- break;\r
- case EFI_FMP_DEP_PUSH_VERSION:\r
- Depex += sizeof (UINT32) + 1;\r
- break;\r
- case EFI_FMP_DEP_VERSION_STR:\r
- Depex += AsciiStrnLenS ((CHAR8 *) Depex, Dependencies->Dependencies + MaxDepexSize - Depex) + 1;\r
- break;\r
- case EFI_FMP_DEP_AND:\r
- case EFI_FMP_DEP_OR:\r
- case EFI_FMP_DEP_NOT:\r
- case EFI_FMP_DEP_TRUE:\r
- case EFI_FMP_DEP_FALSE:\r
- case EFI_FMP_DEP_EQ:\r
- case EFI_FMP_DEP_GT:\r
- case EFI_FMP_DEP_GTE:\r
- case EFI_FMP_DEP_LT:\r
- case EFI_FMP_DEP_LTE:\r
- Depex += 1;\r
- break;\r
- case EFI_FMP_DEP_END:\r
- Depex += 1;\r
- if (DepexSize != NULL) {\r
- *DepexSize = (UINT32)(Depex - Dependencies->Dependencies);\r
- }\r
- return TRUE;\r
- default:\r
- return FALSE;\r
+ switch (*Depex) {\r
+ case EFI_FMP_DEP_PUSH_GUID:\r
+ Depex += sizeof (EFI_GUID) + 1;\r
+ break;\r
+ case EFI_FMP_DEP_PUSH_VERSION:\r
+ Depex += sizeof (UINT32) + 1;\r
+ break;\r
+ case EFI_FMP_DEP_VERSION_STR:\r
+ Depex += AsciiStrnLenS ((CHAR8 *)Depex, Dependencies->Dependencies + MaxDepexSize - Depex) + 1;\r
+ break;\r
+ case EFI_FMP_DEP_AND:\r
+ case EFI_FMP_DEP_OR:\r
+ case EFI_FMP_DEP_NOT:\r
+ case EFI_FMP_DEP_TRUE:\r
+ case EFI_FMP_DEP_FALSE:\r
+ case EFI_FMP_DEP_EQ:\r
+ case EFI_FMP_DEP_GT:\r
+ case EFI_FMP_DEP_GTE:\r
+ case EFI_FMP_DEP_LT:\r
+ case EFI_FMP_DEP_LTE:\r
+ Depex += 1;\r
+ break;\r
+ case EFI_FMP_DEP_END:\r
+ Depex += 1;\r
+ if (DepexSize != NULL) {\r
+ *DepexSize = (UINT32)(Depex - Dependencies->Dependencies);\r
+ }\r
+\r
+ return TRUE;\r
+ default:\r
+ return FALSE;\r
}\r
}\r
\r
@retval Null\r
\r
**/\r
-EFI_FIRMWARE_IMAGE_DEP*\r
+EFI_FIRMWARE_IMAGE_DEP *\r
EFIAPI\r
GetImageDependency (\r
- IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image,\r
- IN UINTN ImageSize,\r
- OUT UINT32 *DepexSize,\r
- OUT UINT32 *LastAttemptStatus OPTIONAL\r
+ IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image,\r
+ IN UINTN ImageSize,\r
+ OUT UINT32 *DepexSize,\r
+ OUT UINT32 *LastAttemptStatus OPTIONAL\r
)\r
{\r
- EFI_FIRMWARE_IMAGE_DEP *Depex;\r
- UINTN MaxDepexSize;\r
+ EFI_FIRMWARE_IMAGE_DEP *Depex;\r
+ UINTN MaxDepexSize;\r
\r
if (Image == NULL) {\r
return NULL;\r
//\r
// Check to make sure that operation can be safely performed.\r
//\r
- if (((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) < (UINTN)Image || \\r
- ((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) >= (UINTN)Image + ImageSize) {\r
+ if ((((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) < (UINTN)Image) || \\r
+ (((UINTN)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength) >= (UINTN)Image + ImageSize))\r
+ {\r
//\r
// Pointer overflow. Invalid image.\r
//\r
if (LastAttemptStatus != NULL) {\r
*LastAttemptStatus = LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GET_DEPEX_FAILURE;\r
}\r
+\r
return NULL;\r
}\r
\r
- Depex = (EFI_FIRMWARE_IMAGE_DEP*)((UINT8 *)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength);\r
+ Depex = (EFI_FIRMWARE_IMAGE_DEP *)((UINT8 *)Image + sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength);\r
MaxDepexSize = ImageSize - (sizeof (Image->MonotonicCount) + Image->AuthInfo.Hdr.dwLength);\r
\r
//\r
if (Size == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
*Size = 0;\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
FmpDeviceGetAttributes (\r
- OUT UINT64 *Supported,\r
- OUT UINT64 *Setting\r
+ OUT UINT64 *Supported,\r
+ OUT UINT64 *Setting\r
)\r
{\r
- if (Supported == NULL || Setting == NULL) {\r
+ if ((Supported == NULL) || (Setting == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
*Supported = 0;\r
*Setting = 0;\r
return EFI_SUCCESS;\r
if (VersionString == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
*VersionString = NULL;\r
return EFI_UNSUPPORTED;\r
}\r
{\r
UINT32 LastAttemptStatus;\r
\r
- return FmpDeviceSetImageWithStatus (\r
- Image,\r
- ImageSize,\r
- VendorCode,\r
- Progress,\r
- CapsuleFwVersion,\r
- AbortReason,\r
- &LastAttemptStatus\r
- );\r
+ return FmpDeviceSetImageWithStatus (\r
+ Image,\r
+ ImageSize,\r
+ VendorCode,\r
+ Progress,\r
+ CapsuleFwVersion,\r
+ AbortReason,\r
+ &LastAttemptStatus\r
+ );\r
}\r
\r
/**\r
#pragma pack(1)\r
\r
typedef struct {\r
- UINT32 Signature;\r
- UINT32 HeaderSize;\r
- UINT32 FwVersion;\r
- UINT32 LowestSupportedVersion;\r
+ UINT32 Signature;\r
+ UINT32 HeaderSize;\r
+ UINT32 FwVersion;\r
+ UINT32 LowestSupportedVersion;\r
} FMP_PAYLOAD_HEADER;\r
\r
#pragma pack()\r
/// Identifier is used to make sure the data in the header is for this structure\r
/// and version. If the structure changes update the last digit.\r
///\r
-#define FMP_PAYLOAD_HEADER_SIGNATURE SIGNATURE_32 ('M', 'S', 'S', '1')\r
+#define FMP_PAYLOAD_HEADER_SIGNATURE SIGNATURE_32 ('M', 'S', 'S', '1')\r
\r
/**\r
Returns the FMP Payload Header size in bytes.\r
\r
FmpPayloadHeader = NULL;\r
\r
- if (Header == NULL || Size == NULL) {\r
+ if ((Header == NULL) || (Size == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
FmpPayloadHeader = (FMP_PAYLOAD_HEADER *)Header;\r
- if ((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) < (UINTN)FmpPayloadHeader ||\r
- (UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) >= (UINTN)FmpPayloadHeader + FmpPayloadSize ||\r
- FmpPayloadHeader->HeaderSize < sizeof (FMP_PAYLOAD_HEADER)) {\r
+ if (((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) < (UINTN)FmpPayloadHeader) ||\r
+ ((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) >= (UINTN)FmpPayloadHeader + FmpPayloadSize) ||\r
+ (FmpPayloadHeader->HeaderSize < sizeof (FMP_PAYLOAD_HEADER)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
\r
FmpPayloadHeader = NULL;\r
\r
- if (Header == NULL || Version == NULL) {\r
+ if ((Header == NULL) || (Version == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
FmpPayloadHeader = (FMP_PAYLOAD_HEADER *)Header;\r
- if ((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) < (UINTN)FmpPayloadHeader ||\r
- (UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) >= (UINTN)FmpPayloadHeader + FmpPayloadSize ||\r
- FmpPayloadHeader->HeaderSize < sizeof (FMP_PAYLOAD_HEADER)) {\r
+ if (((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) < (UINTN)FmpPayloadHeader) ||\r
+ ((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) >= (UINTN)FmpPayloadHeader + FmpPayloadSize) ||\r
+ (FmpPayloadHeader->HeaderSize < sizeof (FMP_PAYLOAD_HEADER)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
GetFmpPayloadHeaderLowestSupportedVersion (\r
- IN CONST VOID *Header,\r
- IN CONST UINTN FmpPayloadSize,\r
- OUT UINT32 *LowestSupportedVersion\r
+ IN CONST VOID *Header,\r
+ IN CONST UINTN FmpPayloadSize,\r
+ OUT UINT32 *LowestSupportedVersion\r
)\r
{\r
FMP_PAYLOAD_HEADER *FmpPayloadHeader;\r
\r
FmpPayloadHeader = NULL;\r
\r
- if (Header == NULL || LowestSupportedVersion == NULL) {\r
+ if ((Header == NULL) || (LowestSupportedVersion == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
FmpPayloadHeader = (FMP_PAYLOAD_HEADER *)Header;\r
- if ((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) < (UINTN)FmpPayloadHeader ||\r
- (UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) >= (UINTN)FmpPayloadHeader + FmpPayloadSize ||\r
- FmpPayloadHeader->HeaderSize < sizeof (FMP_PAYLOAD_HEADER)) {\r
+ if (((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) < (UINTN)FmpPayloadHeader) ||\r
+ ((UINTN)FmpPayloadHeader + sizeof (FMP_PAYLOAD_HEADER) >= (UINTN)FmpPayloadHeader + FmpPayloadSize) ||\r
+ (FmpPayloadHeader->HeaderSize < sizeof (FMP_PAYLOAD_HEADER)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
/// The value of pre-existing last attempt status codes should never be modified to ensure the values remain\r
/// consistent over time.\r
///\r
-enum LAST_ATTEMPT_STATUS_EXPANDED_ERROR_LIST\r
-{\r
+enum LAST_ATTEMPT_STATUS_EXPANDED_ERROR_LIST {\r
///\r
/// Last attempt status codes used in FmpDxe\r
///\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER = LAST_ATTEMPT_STATUS_DRIVER_MIN_ERROR_CODE_VALUE,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROGRESS_CALLBACK_ERROR ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_POWER_API ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_SYS_THERMAL_API ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_THERMAL ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_SYS_ENV_API ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_SYSTEM_ENV ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER_SIZE ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_ALL_HEADER_SIZE ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER_VERSION ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_NOT_PROVIDED ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_NOT_UPDATABLE ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_CERTIFICATE ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_IMAGE_INDEX ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_KEY_LENGTH ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_KEY_LENGTH_VALUE ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_VERSION_TOO_LOW ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_DEVICE_LOCKED ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_AUTH_FAILURE ,\r
- LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROTOCOL_ARG_MISSING ,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER = LAST_ATTEMPT_STATUS_DRIVER_MIN_ERROR_CODE_VALUE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROGRESS_CALLBACK_ERROR,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_POWER_API,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_SYS_THERMAL_API,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_THERMAL,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_CHECK_SYS_ENV_API,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_SYSTEM_ENV,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER_SIZE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_ALL_HEADER_SIZE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_GET_FMP_HEADER_VERSION,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_NOT_PROVIDED,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_NOT_UPDATABLE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_CERTIFICATE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_IMAGE_INDEX,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_KEY_LENGTH,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_INVALID_KEY_LENGTH_VALUE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_VERSION_TOO_LOW,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_DEVICE_LOCKED,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_IMAGE_AUTH_FAILURE,\r
+ LAST_ATTEMPT_STATUS_DRIVER_ERROR_PROTOCOL_ARG_MISSING,\r
\r
///\r
/// Last attempt status codes used in FmpDependencyLib\r
///\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GET_DEPEX_FAILURE = LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_LIB_MIN_ERROR_CODE_VALUE,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_NO_END_OPCODE ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_UNKNOWN_OPCODE ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GUID_BEYOND_DEPEX ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_BEYOND_DEPEX ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_STR_BEYOND_DEPEX ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_FMP_NOT_FOUND ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE ,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GET_DEPEX_FAILURE = LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_LIB_MIN_ERROR_CODE_VALUE,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_NO_END_OPCODE,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_UNKNOWN_OPCODE,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_GUID_BEYOND_DEPEX,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_BEYOND_DEPEX,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_VERSION_STR_BEYOND_DEPEX,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_FMP_NOT_FOUND,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_PUSH_FAILURE,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_LIB_ERROR_POP_FAILURE,\r
\r
///\r
/// Last attempt status codes used in FmpDependencyCheckLib\r
///\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_FMP_PROTOCOL_NOT_FOUND = LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_CHECK_LIB_MIN_ERROR_CODE_VALUE,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_FMP_INFO_BUFFER_FAILED ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_DESC_VER_BUFFER_FAILED ,\r
- LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_DESC_SIZE_BUFFER_FAILED ,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_FMP_PROTOCOL_NOT_FOUND = LAST_ATTEMPT_STATUS_FMP_DEPENDENCY_CHECK_LIB_MIN_ERROR_CODE_VALUE,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_FMP_INFO_BUFFER_FAILED,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_DESC_VER_BUFFER_FAILED,\r
+ LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_DESC_SIZE_BUFFER_FAILED,\r
LAST_ATTEMPT_STATUS_DEPENDENCY_CHECK_LIB_ERROR_MEM_ALLOC_FMP_VER_BUFFER_FAILED\r
};\r
\r
EFI_STATUS\r
EFIAPI\r
GetFmpPayloadHeaderLowestSupportedVersion (\r
- IN CONST VOID *Header,\r
- IN CONST UINTN FmpPayloadSize,\r
- OUT UINT32 *LowestSupportedVersion\r
+ IN CONST VOID *Header,\r
+ IN CONST UINTN FmpPayloadSize,\r
+ OUT UINT32 *LowestSupportedVersion\r
);\r
\r
#endif\r
0x487784c5, 0x6299, 0x4ba6, { 0xb0, 0x96, 0x5c, 0xc5, 0x27, 0x7c, 0xf7, 0x57 } \\r
}\r
\r
-typedef struct _EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL;\r
+typedef struct _EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL;\r
\r
/**\r
Determine if the system power state supports a capsule update.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_POWER) (\r
+(EFIAPI *EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_POWER)(\r
IN EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL *This,\r
OUT BOOLEAN *Good\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_THERMAL) (\r
+(EFIAPI *EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_THERMAL)(\r
IN EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL *This,\r
OUT BOOLEAN *Good\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_ENVIRONMENT) (\r
+(EFIAPI *EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_ENVIRONMENT)(\r
IN EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL *This,\r
OUT BOOLEAN *Good\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI * EDKII_CAPSULE_UPDATE_POLICY_IS_LOWEST_SUPPORTED_VERSION_CHECK_REQUIRED) (\r
+(EFIAPI *EDKII_CAPSULE_UPDATE_POLICY_IS_LOWEST_SUPPORTED_VERSION_CHECK_REQUIRED)(\r
IN EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL *This\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI * EDKII_CAPSULE_UPDATE_POLICY_IS_FMP_DEVICE_AT_LOCK_EVENT_REQUIRED) (\r
+(EFIAPI *EDKII_CAPSULE_UPDATE_POLICY_IS_FMP_DEVICE_AT_LOCK_EVENT_REQUIRED)(\r
IN EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL *This\r
);\r
\r
/// This protocol provides platform policy services used during a capsule update.\r
///\r
struct _EDKII_CAPSULE_UPDATE_POLICY_PROTOCOL {\r
- EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_POWER CheckSystemPower;\r
- EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_THERMAL CheckSystemThermal;\r
- EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_ENVIRONMENT CheckSystemEnvironment;\r
- EDKII_CAPSULE_UPDATE_POLICY_IS_LOWEST_SUPPORTED_VERSION_CHECK_REQUIRED IsLowestSupportedVersionCheckRequired;\r
- EDKII_CAPSULE_UPDATE_POLICY_IS_FMP_DEVICE_AT_LOCK_EVENT_REQUIRED IsLockFmpDeviceAtLockEventGuidRequired;\r
+ EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_POWER CheckSystemPower;\r
+ EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_THERMAL CheckSystemThermal;\r
+ EDKII_CAPSULE_UPDATE_POLICY_CHECK_SYSTEM_ENVIRONMENT CheckSystemEnvironment;\r
+ EDKII_CAPSULE_UPDATE_POLICY_IS_LOWEST_SUPPORTED_VERSION_CHECK_REQUIRED IsLowestSupportedVersionCheckRequired;\r
+ EDKII_CAPSULE_UPDATE_POLICY_IS_FMP_DEVICE_AT_LOCK_EVENT_REQUIRED IsLockFmpDeviceAtLockEventGuidRequired;\r
};\r
\r
-extern EFI_GUID gEdkiiCapsuleUpdatePolicyProtocolGuid;\r
+extern EFI_GUID gEdkiiCapsuleUpdatePolicyProtocolGuid;\r
\r
#endif\r
#define UNIT_TEST_APP_VERSION "1.0"\r
\r
typedef struct {\r
- UINT8 *Dependencies;\r
- UINTN DependenciesSize;\r
- BOOLEAN ExpectedResult;\r
+ UINT8 *Dependencies;\r
+ UINTN DependenciesSize;\r
+ BOOLEAN ExpectedResult;\r
} BASIC_TEST_CONTEXT;\r
\r
//\r
// Image Type ID of FMP device A\r
//\r
-#define IMAGE_TYPE_ID_1 { 0x97144DFA, 0xEB8E, 0xD14D, {0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42}}\r
+#define IMAGE_TYPE_ID_1 { 0x97144DFA, 0xEB8E, 0xD14D, {0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42}}\r
\r
//\r
// Image Type ID of FMP device B\r
//\r
-#define IMAGE_TYPE_ID_2 { 0xA42A7370, 0x433A, 0x684D, {0x9A, 0xA1, 0xDE, 0x62, 0x23, 0x30, 0x6C, 0xF3}}\r
+#define IMAGE_TYPE_ID_2 { 0xA42A7370, 0x433A, 0x684D, {0x9A, 0xA1, 0xDE, 0x62, 0x23, 0x30, 0x6C, 0xF3}}\r
\r
//\r
// Device A's version is 0x00000002\r
// Device B's version is 0x00000003\r
//\r
-static FMP_DEPEX_CHECK_VERSION_DATA mFmpVersions[] = {\r
- {IMAGE_TYPE_ID_1, 0x00000002},\r
- {IMAGE_TYPE_ID_2, 0x00000003}\r
+static FMP_DEPEX_CHECK_VERSION_DATA mFmpVersions[] = {\r
+ { IMAGE_TYPE_ID_1, 0x00000002 },\r
+ { IMAGE_TYPE_ID_2, 0x00000003 }\r
};\r
\r
// Valid Dependency Expression 1: (Version(A) > 0x00000001) && (Version(B) >= 0x00000003)\r
-static UINT8 mExpression1[] = {\r
+static UINT8 mExpression1[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x01, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0xFA, 0x4D, 0x14, 0x97, 0x8E, 0xEB, 0x4D, 0xD1, 0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42,\r
+ EFI_FMP_DEP_PUSH_GUID, 0xFA, 0x4D, 0x14, 0x97,0x8E, 0xEB, 0x4D, 0xD1, 0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42,\r
EFI_FMP_DEP_GT,\r
EFI_FMP_DEP_PUSH_VERSION, 0x03, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0x70, 0x73, 0x2A, 0xA4, 0x3A, 0x43, 0x4D, 0x68, 0x9A, 0xA1, 0xDE, 0x62, 0x23, 0x30, 0x6C, 0xF3,\r
+ EFI_FMP_DEP_PUSH_GUID, 0x70, 0x73, 0x2A, 0xA4,0x3A, 0x43, 0x4D, 0x68, 0x9A, 0xA1, 0xDE, 0x62, 0x23, 0x30, 0x6C, 0xF3,\r
EFI_FMP_DEP_GTE,\r
EFI_FMP_DEP_AND,\r
EFI_FMP_DEP_END\r
};\r
\r
// Valid Dependency Expression 2: (Version(A) < 0x00000002) || (Version(B) <= 0x00000003)\r
-static UINT8 mExpression2[] = {\r
+static UINT8 mExpression2[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x02, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0xFA, 0x4D, 0x14, 0x97, 0x8E, 0xEB, 0x4D, 0xD1, 0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42,\r
+ EFI_FMP_DEP_PUSH_GUID, 0xFA, 0x4D, 0x14, 0x97,0x8E, 0xEB, 0x4D, 0xD1, 0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42,\r
EFI_FMP_DEP_LT,\r
EFI_FMP_DEP_PUSH_VERSION, 0x03, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0x70, 0x73, 0x2A, 0xA4, 0x3A, 0x43, 0x4D, 0x68, 0x9A, 0xA1, 0xDE, 0x62, 0x23, 0x30, 0x6C, 0xF3,\r
+ EFI_FMP_DEP_PUSH_GUID, 0x70, 0x73, 0x2A, 0xA4,0x3A, 0x43, 0x4D, 0x68, 0x9A, 0xA1, 0xDE, 0x62, 0x23, 0x30, 0x6C, 0xF3,\r
EFI_FMP_DEP_LTE,\r
EFI_FMP_DEP_OR,\r
EFI_FMP_DEP_END\r
};\r
\r
// Valid Dependency Expression 3: !(Version(A) == 0x0000002)\r
-static UINT8 mExpression3[] = {\r
+static UINT8 mExpression3[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x02, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0xFA, 0x4D, 0x14, 0x97, 0x8E, 0xEB, 0x4D, 0xD1, 0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42,\r
+ EFI_FMP_DEP_PUSH_GUID, 0xFA, 0x4D, 0x14, 0x97,0x8E,0xEB, 0x4D, 0xD1, 0x8B, 0x4D, 0x39, 0x88, 0x24, 0x96, 0x56, 0x42,\r
EFI_FMP_DEP_EQ,\r
EFI_FMP_DEP_NOT,\r
EFI_FMP_DEP_END\r
};\r
\r
// Valid Dependency Expression 4: "Test" TRUE && FALSE\r
-static UINT8 mExpression4[] = {\r
+static UINT8 mExpression4[] = {\r
EFI_FMP_DEP_VERSION_STR, 'T', 'e', 's', 't', '\0',\r
EFI_FMP_DEP_TRUE,\r
EFI_FMP_DEP_FALSE,\r
};\r
\r
// Invalid Dependency Expression 1: Invalid Op-code\r
-static UINT8 mExpression5[] = {EFI_FMP_DEP_TRUE, 0xAA, EFI_FMP_DEP_END};\r
+static UINT8 mExpression5[] = { EFI_FMP_DEP_TRUE, 0xAA, EFI_FMP_DEP_END };\r
\r
// Invalid Dependency Expression 2: String doesn't end with '\0'\r
-static UINT8 mExpression6[] = {EFI_FMP_DEP_VERSION_STR, 'T', 'e', 's', 't', EFI_FMP_DEP_TRUE, EFI_FMP_DEP_END};\r
+static UINT8 mExpression6[] = { EFI_FMP_DEP_VERSION_STR, 'T', 'e', 's', 't', EFI_FMP_DEP_TRUE, EFI_FMP_DEP_END };\r
\r
// Invalid Dependency Expression 3: GUID is in invalid size\r
-static UINT8 mExpression7[] = {\r
+static UINT8 mExpression7[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x02, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0xAA, 0xBB, 0xCC, 0xDD,\r
+ EFI_FMP_DEP_PUSH_GUID, 0xAA, 0xBB, 0xCC, 0xDD,\r
EFI_FMP_DEP_GTE,\r
EFI_FMP_DEP_END\r
};\r
\r
// Invalid Dependency Expression 4: Version is in invalid size\r
-static UINT8 mExpression8[] = {\r
+static UINT8 mExpression8[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x02, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0xDA, 0xCB, 0x25, 0xAC, 0x9E, 0xCD, 0x5E, 0xE2, 0x9C, 0x5E, 0x4A, 0x99, 0x35, 0xA7, 0x67, 0x53,\r
+ EFI_FMP_DEP_PUSH_GUID, 0xDA, 0xCB,0x25,0xAC, 0x9E, 0xCD, 0x5E, 0xE2, 0x9C, 0x5E, 0x4A, 0x99, 0x35, 0xA7, 0x67, 0x53,\r
EFI_FMP_DEP_GTE,\r
EFI_FMP_DEP_END\r
};\r
\r
// Invalid Dependency Expression 5: Operand and operator mismatch\r
-static UINT8 mExpression9[] = {EFI_FMP_DEP_TRUE, EFI_FMP_DEP_FALSE, EFI_FMP_DEP_GTE, EFI_FMP_DEP_END};\r
+static UINT8 mExpression9[] = { EFI_FMP_DEP_TRUE, EFI_FMP_DEP_FALSE, EFI_FMP_DEP_GTE, EFI_FMP_DEP_END };\r
\r
// Invalid Dependency Expression 6: GUID is NOT FOUND\r
-static UINT8 mExpression10[] = {\r
+static UINT8 mExpression10[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x02, 0x00, 0x00, 0x00,\r
- EFI_FMP_DEP_PUSH_GUID, 0xDA, 0xCB, 0x25, 0xAC, 0x9E, 0xCD, 0x5E, 0xE2, 0x9C, 0x5E, 0x4A, 0x99, 0x35, 0xA7, 0x67, 0x53,\r
+ EFI_FMP_DEP_PUSH_GUID, 0xDA, 0xCB, 0x25, 0xAC,0x9E,0xCD, 0x5E, 0xE2, 0x9C, 0x5E, 0x4A, 0x99, 0x35, 0xA7, 0x67, 0x53,\r
EFI_FMP_DEP_GT,\r
EFI_FMP_DEP_END\r
};\r
\r
// Invalid Dependency Expression 7: Stack underflow\r
-static UINT8 mExpression11[] = {\r
+static UINT8 mExpression11[] = {\r
EFI_FMP_DEP_PUSH_VERSION, 0x02, 0x00, 0x00, 0x00,\r
EFI_FMP_DEP_GT,\r
EFI_FMP_DEP_END\r
};\r
\r
// ------------------------------------------------Test Depex------Depex Size----------------Expected Result\r
-static BASIC_TEST_CONTEXT mBasicTestTrue1 = {mExpression1, sizeof(mExpression1), TRUE};\r
-static BASIC_TEST_CONTEXT mBasicTestTrue2 = {mExpression2, sizeof(mExpression2), TRUE};\r
-static BASIC_TEST_CONTEXT mBasicTestFalse1 = {mExpression3, sizeof(mExpression3), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestFalse2 = {mExpression4, sizeof(mExpression4), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid1 = {mExpression1, sizeof(mExpression1) - 1, FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid2 = {mExpression5, sizeof(mExpression5), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid3 = {mExpression6, sizeof(mExpression6), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid4 = {mExpression7, sizeof(mExpression7), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid5 = {mExpression8, sizeof(mExpression8), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid6 = {mExpression9, sizeof(mExpression9), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid7 = {mExpression10, sizeof(mExpression10), FALSE};\r
-static BASIC_TEST_CONTEXT mBasicTestInvalid8 = {mExpression11, sizeof(mExpression11), FALSE};\r
+static BASIC_TEST_CONTEXT mBasicTestTrue1 = { mExpression1, sizeof (mExpression1), TRUE };\r
+static BASIC_TEST_CONTEXT mBasicTestTrue2 = { mExpression2, sizeof (mExpression2), TRUE };\r
+static BASIC_TEST_CONTEXT mBasicTestFalse1 = { mExpression3, sizeof (mExpression3), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestFalse2 = { mExpression4, sizeof (mExpression4), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid1 = { mExpression1, sizeof (mExpression1) - 1, FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid2 = { mExpression5, sizeof (mExpression5), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid3 = { mExpression6, sizeof (mExpression6), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid4 = { mExpression7, sizeof (mExpression7), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid5 = { mExpression8, sizeof (mExpression8), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid6 = { mExpression9, sizeof (mExpression9), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid7 = { mExpression10, sizeof (mExpression10), FALSE };\r
+static BASIC_TEST_CONTEXT mBasicTestInvalid8 = { mExpression11, sizeof (mExpression11), FALSE };\r
\r
/**\r
Unit test for EvaluateDependency() API of the FmpDependencyLib.\r
(EFI_FIRMWARE_IMAGE_DEP *)TestContext->Dependencies,\r
TestContext->DependenciesSize,\r
mFmpVersions,\r
- sizeof(mFmpVersions)/sizeof(FMP_DEPEX_CHECK_VERSION_DATA),\r
+ sizeof (mFmpVersions)/sizeof (FMP_DEPEX_CHECK_VERSION_DATA),\r
&LastAttemptStatus\r
);\r
\r
//\r
Status = InitUnitTestFramework (&Fw, UNIT_TEST_APP_NAME, gEfiCallerBaseName, UNIT_TEST_APP_VERSION);\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status = %r\n", Status));\r
- goto EXIT;\r
+ DEBUG ((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status = %r\n", Status));\r
+ goto EXIT;\r
}\r
\r
//\r
**/\r
int\r
main (\r
- int argc,\r
- char *argv[]\r
+ int argc,\r
+ char *argv[]\r
)\r
{\r
return UnitTestingEntry ();\r