MdeModulePkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
committed by
mergify[bot]
parent
7c7184e201
commit
1436aea4d5
@@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
#include "VarCheckHii.h"
|
||||
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 mVarCheckHiiHex[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 mVarCheckHiiHex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
|
||||
|
||||
/**
|
||||
Dump some hexadecimal data.
|
||||
@@ -21,21 +21,21 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 mVarCheckHiiHex[] = {'0', '1', '2', '3
|
||||
**/
|
||||
VOID
|
||||
VarCheckHiiInternalDumpHex (
|
||||
IN UINTN Indent,
|
||||
IN UINTN Offset,
|
||||
IN UINTN DataSize,
|
||||
IN VOID *UserData
|
||||
IN UINTN Indent,
|
||||
IN UINTN Offset,
|
||||
IN UINTN DataSize,
|
||||
IN VOID *UserData
|
||||
)
|
||||
{
|
||||
UINT8 *Data;
|
||||
UINT8 *Data;
|
||||
|
||||
CHAR8 Val[50];
|
||||
CHAR8 Val[50];
|
||||
|
||||
CHAR8 Str[20];
|
||||
CHAR8 Str[20];
|
||||
|
||||
UINT8 TempByte;
|
||||
UINTN Size;
|
||||
UINTN Index;
|
||||
UINT8 TempByte;
|
||||
UINTN Size;
|
||||
UINTN Index;
|
||||
|
||||
Data = UserData;
|
||||
while (DataSize != 0) {
|
||||
@@ -45,19 +45,19 @@ VarCheckHiiInternalDumpHex (
|
||||
}
|
||||
|
||||
for (Index = 0; Index < Size; Index += 1) {
|
||||
TempByte = Data[Index];
|
||||
Val[Index * 3 + 0] = mVarCheckHiiHex[TempByte >> 4];
|
||||
Val[Index * 3 + 1] = mVarCheckHiiHex[TempByte & 0xF];
|
||||
Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' ');
|
||||
Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte);
|
||||
TempByte = Data[Index];
|
||||
Val[Index * 3 + 0] = mVarCheckHiiHex[TempByte >> 4];
|
||||
Val[Index * 3 + 1] = mVarCheckHiiHex[TempByte & 0xF];
|
||||
Val[Index * 3 + 2] = (CHAR8)((Index == 7) ? '-' : ' ');
|
||||
Str[Index] = (CHAR8)((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte);
|
||||
}
|
||||
|
||||
Val[Index * 3] = 0;
|
||||
Str[Index] = 0;
|
||||
DEBUG ((DEBUG_INFO , "%*a%08X: %-48a *%a*\r\n", Indent, "", Offset, Val, Str));
|
||||
Val[Index * 3] = 0;
|
||||
Str[Index] = 0;
|
||||
DEBUG ((DEBUG_INFO, "%*a%08X: %-48a *%a*\r\n", Indent, "", Offset, Val, Str));
|
||||
|
||||
Data += Size;
|
||||
Offset += Size;
|
||||
Data += Size;
|
||||
Offset += Size;
|
||||
DataSize -= Size;
|
||||
}
|
||||
}
|
||||
@@ -80,35 +80,35 @@ VarCheckHiiQuestion (
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
UINT64 OneData;
|
||||
UINT64 Minimum;
|
||||
UINT64 Maximum;
|
||||
UINT64 OneValue;
|
||||
UINT8 *Ptr;
|
||||
UINT8 Index;
|
||||
UINT8 MaxContainers;
|
||||
UINT8 StartBit;
|
||||
UINT8 EndBit;
|
||||
UINT8 TotalBits;
|
||||
UINT16 VarOffsetByteLevel;
|
||||
UINT8 StorageWidthByteLevel;
|
||||
UINT64 OneData;
|
||||
UINT64 Minimum;
|
||||
UINT64 Maximum;
|
||||
UINT64 OneValue;
|
||||
UINT8 *Ptr;
|
||||
UINT8 Index;
|
||||
UINT8 MaxContainers;
|
||||
UINT8 StartBit;
|
||||
UINT8 EndBit;
|
||||
UINT8 TotalBits;
|
||||
UINT16 VarOffsetByteLevel;
|
||||
UINT8 StorageWidthByteLevel;
|
||||
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
VarOffsetByteLevel = HiiQuestion->VarOffset / 8;
|
||||
TotalBits = HiiQuestion->VarOffset % 8 + HiiQuestion->StorageWidth;
|
||||
StorageWidthByteLevel = (TotalBits % 8 == 0 ? TotalBits / 8: TotalBits / 8 + 1);
|
||||
StorageWidthByteLevel = (TotalBits % 8 == 0 ? TotalBits / 8 : TotalBits / 8 + 1);
|
||||
} else {
|
||||
VarOffsetByteLevel = HiiQuestion->VarOffset;
|
||||
StorageWidthByteLevel = HiiQuestion->StorageWidth;
|
||||
}
|
||||
|
||||
if (((UINT32) VarOffsetByteLevel + StorageWidthByteLevel) > DataSize) {
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiQuestion fail: (VarOffset(0x%04x) + StorageWidth(0x%02x)) > Size(0x%x)\n", VarOffsetByteLevel, StorageWidthByteLevel, DataSize));
|
||||
if (((UINT32)VarOffsetByteLevel + StorageWidthByteLevel) > DataSize) {
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiQuestion fail: (VarOffset(0x%04x) + StorageWidth(0x%02x)) > Size(0x%x)\n", VarOffsetByteLevel, StorageWidthByteLevel, DataSize));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
OneData = 0;
|
||||
CopyMem (&OneData, (UINT8 *) Data + VarOffsetByteLevel, StorageWidthByteLevel);
|
||||
CopyMem (&OneData, (UINT8 *)Data + VarOffsetByteLevel, StorageWidthByteLevel);
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
//
|
||||
// Get the value from the bit field.
|
||||
@@ -120,8 +120,8 @@ VarCheckHiiQuestion (
|
||||
|
||||
switch (HiiQuestion->OpCode) {
|
||||
case EFI_IFR_ONE_OF_OP:
|
||||
Ptr = (UINT8 *) ((VAR_CHECK_HII_QUESTION_ONEOF *) HiiQuestion + 1);
|
||||
while ((UINTN) Ptr < (UINTN) HiiQuestion + HiiQuestion->Length) {
|
||||
Ptr = (UINT8 *)((VAR_CHECK_HII_QUESTION_ONEOF *)HiiQuestion + 1);
|
||||
while ((UINTN)Ptr < (UINTN)HiiQuestion + HiiQuestion->Length) {
|
||||
OneValue = 0;
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
//
|
||||
@@ -131,40 +131,49 @@ VarCheckHiiQuestion (
|
||||
} else {
|
||||
CopyMem (&OneValue, Ptr, HiiQuestion->StorageWidth);
|
||||
}
|
||||
|
||||
if (OneData == OneValue) {
|
||||
//
|
||||
// Match
|
||||
//
|
||||
break;
|
||||
}
|
||||
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
Ptr += sizeof (UINT32);
|
||||
} else {
|
||||
Ptr += HiiQuestion->StorageWidth;
|
||||
}
|
||||
}
|
||||
if ((UINTN) Ptr >= ((UINTN) HiiQuestion + HiiQuestion->Length)) {
|
||||
|
||||
if ((UINTN)Ptr >= ((UINTN)HiiQuestion + HiiQuestion->Length)) {
|
||||
//
|
||||
// No match
|
||||
//
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiQuestion fail: OneOf mismatch (0x%lx)\n", OneData));
|
||||
DEBUG_CODE (VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *) HiiQuestion););
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiQuestion fail: OneOf mismatch (0x%lx)\n", OneData));
|
||||
DEBUG_CODE (
|
||||
VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *)HiiQuestion);
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case EFI_IFR_CHECKBOX_OP:
|
||||
if ((OneData != 0) && (OneData != 1)) {
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiQuestion fail: CheckBox mismatch (0x%lx)\n", OneData));
|
||||
DEBUG_CODE (VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *) HiiQuestion););
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiQuestion fail: CheckBox mismatch (0x%lx)\n", OneData));
|
||||
DEBUG_CODE (
|
||||
VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *)HiiQuestion);
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case EFI_IFR_NUMERIC_OP:
|
||||
Minimum = 0;
|
||||
Maximum = 0;
|
||||
Ptr = (UINT8 *) ((VAR_CHECK_HII_QUESTION_NUMERIC *) HiiQuestion + 1);
|
||||
Ptr = (UINT8 *)((VAR_CHECK_HII_QUESTION_NUMERIC *)HiiQuestion + 1);
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
//
|
||||
// For Numeric stored in bit field, the value of Maximum/Minimum are saved as UINT32 type.
|
||||
@@ -184,21 +193,25 @@ VarCheckHiiQuestion (
|
||||
// No need to check Step, because it is ONLY for UI.
|
||||
//
|
||||
if ((OneData < Minimum) || (OneData > Maximum)) {
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiQuestion fail: Numeric mismatch (0x%lx)\n", OneData));
|
||||
DEBUG_CODE (VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *) HiiQuestion););
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiQuestion fail: Numeric mismatch (0x%lx)\n", OneData));
|
||||
DEBUG_CODE (
|
||||
VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *)HiiQuestion);
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case EFI_IFR_ORDERED_LIST_OP:
|
||||
MaxContainers = ((VAR_CHECK_HII_QUESTION_ORDEREDLIST *) HiiQuestion)->MaxContainers;
|
||||
if (((UINT32) HiiQuestion->VarOffset + HiiQuestion->StorageWidth * MaxContainers) > DataSize) {
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiQuestion fail: (VarOffset(0x%04x) + StorageWidth(0x%02x) * MaxContainers(0x%02x)) > Size(0x%x)\n", HiiQuestion->VarOffset, HiiQuestion->StorageWidth, MaxContainers, DataSize));
|
||||
MaxContainers = ((VAR_CHECK_HII_QUESTION_ORDEREDLIST *)HiiQuestion)->MaxContainers;
|
||||
if (((UINT32)HiiQuestion->VarOffset + HiiQuestion->StorageWidth * MaxContainers) > DataSize) {
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiQuestion fail: (VarOffset(0x%04x) + StorageWidth(0x%02x) * MaxContainers(0x%02x)) > Size(0x%x)\n", HiiQuestion->VarOffset, HiiQuestion->StorageWidth, MaxContainers, DataSize));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (Index = 0; Index < MaxContainers; Index++) {
|
||||
OneData = 0;
|
||||
CopyMem (&OneData, (UINT8 *) Data + HiiQuestion->VarOffset + HiiQuestion->StorageWidth * Index, HiiQuestion->StorageWidth);
|
||||
CopyMem (&OneData, (UINT8 *)Data + HiiQuestion->VarOffset + HiiQuestion->StorageWidth * Index, HiiQuestion->StorageWidth);
|
||||
if (OneData == 0) {
|
||||
//
|
||||
// The value of 0 is used to determine if a particular "slot" in the array is empty.
|
||||
@@ -206,8 +219,8 @@ VarCheckHiiQuestion (
|
||||
continue;
|
||||
}
|
||||
|
||||
Ptr = (UINT8 *) ((VAR_CHECK_HII_QUESTION_ORDEREDLIST *) HiiQuestion + 1);
|
||||
while ((UINTN) Ptr < ((UINTN) HiiQuestion + HiiQuestion->Length)) {
|
||||
Ptr = (UINT8 *)((VAR_CHECK_HII_QUESTION_ORDEREDLIST *)HiiQuestion + 1);
|
||||
while ((UINTN)Ptr < ((UINTN)HiiQuestion + HiiQuestion->Length)) {
|
||||
OneValue = 0;
|
||||
CopyMem (&OneValue, Ptr, HiiQuestion->StorageWidth);
|
||||
if (OneData == OneValue) {
|
||||
@@ -216,18 +229,25 @@ VarCheckHiiQuestion (
|
||||
//
|
||||
break;
|
||||
}
|
||||
|
||||
Ptr += HiiQuestion->StorageWidth;
|
||||
}
|
||||
if ((UINTN) Ptr >= ((UINTN) HiiQuestion + HiiQuestion->Length)) {
|
||||
|
||||
if ((UINTN)Ptr >= ((UINTN)HiiQuestion + HiiQuestion->Length)) {
|
||||
//
|
||||
// No match
|
||||
//
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiQuestion fail: OrderedList mismatch\n"));
|
||||
DEBUG_CODE (VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->StorageWidth * MaxContainers, (UINT8 *) Data + HiiQuestion->VarOffset););
|
||||
DEBUG_CODE (VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *) HiiQuestion););
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiQuestion fail: OrderedList mismatch\n"));
|
||||
DEBUG_CODE (
|
||||
VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->StorageWidth * MaxContainers, (UINT8 *)Data + HiiQuestion->VarOffset);
|
||||
);
|
||||
DEBUG_CODE (
|
||||
VarCheckHiiInternalDumpHex (2, 0, HiiQuestion->Length, (UINT8 *)HiiQuestion);
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -238,8 +258,8 @@ VarCheckHiiQuestion (
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
VAR_CHECK_HII_VARIABLE_HEADER *mVarCheckHiiBin = NULL;
|
||||
UINTN mVarCheckHiiBinSize = 0;
|
||||
VAR_CHECK_HII_VARIABLE_HEADER *mVarCheckHiiBin = NULL;
|
||||
UINTN mVarCheckHiiBinSize = 0;
|
||||
|
||||
/**
|
||||
SetVariable check handler HII.
|
||||
@@ -257,15 +277,15 @@ UINTN mVarCheckHiiBinSize = 0;
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SetVariableCheckHandlerHii (
|
||||
IN CHAR16 *VariableName,
|
||||
IN EFI_GUID *VendorGuid,
|
||||
IN UINT32 Attributes,
|
||||
IN UINTN DataSize,
|
||||
IN VOID *Data
|
||||
IN CHAR16 *VariableName,
|
||||
IN EFI_GUID *VendorGuid,
|
||||
IN UINT32 Attributes,
|
||||
IN UINTN DataSize,
|
||||
IN VOID *Data
|
||||
)
|
||||
{
|
||||
VAR_CHECK_HII_VARIABLE_HEADER *HiiVariable;
|
||||
VAR_CHECK_HII_QUESTION_HEADER *HiiQuestion;
|
||||
VAR_CHECK_HII_VARIABLE_HEADER *HiiVariable;
|
||||
VAR_CHECK_HII_QUESTION_HEADER *HiiQuestion;
|
||||
|
||||
if (mVarCheckHiiBin == NULL) {
|
||||
return EFI_SUCCESS;
|
||||
@@ -281,14 +301,15 @@ SetVariableCheckHandlerHii (
|
||||
//
|
||||
// For Hii Variable header align.
|
||||
//
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *) HEADER_ALIGN (mVarCheckHiiBin);
|
||||
while ((UINTN) HiiVariable < ((UINTN) mVarCheckHiiBin + mVarCheckHiiBinSize)) {
|
||||
if ((StrCmp ((CHAR16 *) (HiiVariable + 1), VariableName) == 0) &&
|
||||
(CompareGuid (&HiiVariable->Guid, VendorGuid))) {
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *)HEADER_ALIGN (mVarCheckHiiBin);
|
||||
while ((UINTN)HiiVariable < ((UINTN)mVarCheckHiiBin + mVarCheckHiiBinSize)) {
|
||||
if ((StrCmp ((CHAR16 *)(HiiVariable + 1), VariableName) == 0) &&
|
||||
(CompareGuid (&HiiVariable->Guid, VendorGuid)))
|
||||
{
|
||||
//
|
||||
// Found the Hii Variable that could be used to do check.
|
||||
//
|
||||
DEBUG ((DEBUG_INFO , "VarCheckHiiVariable - %s:%g with Attributes = 0x%08x Size = 0x%x\n", VariableName, VendorGuid, Attributes, DataSize));
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiVariable - %s:%g with Attributes = 0x%08x Size = 0x%x\n", VariableName, VendorGuid, Attributes, DataSize));
|
||||
if (HiiVariable->Attributes != Attributes) {
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiVariable fail for Attributes - 0x%08x\n", HiiVariable->Attributes));
|
||||
return EFI_SECURITY_VIOLATION;
|
||||
@@ -308,24 +329,26 @@ SetVariableCheckHandlerHii (
|
||||
// Do the check.
|
||||
// For Hii Question header align.
|
||||
//
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *) HEADER_ALIGN (((UINTN) HiiVariable + HiiVariable->HeaderLength));
|
||||
while ((UINTN) HiiQuestion < ((UINTN) HiiVariable + HiiVariable->Length)) {
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *)HEADER_ALIGN (((UINTN)HiiVariable + HiiVariable->HeaderLength));
|
||||
while ((UINTN)HiiQuestion < ((UINTN)HiiVariable + HiiVariable->Length)) {
|
||||
if (!VarCheckHiiQuestion (HiiQuestion, Data, DataSize)) {
|
||||
return EFI_SECURITY_VIOLATION;
|
||||
}
|
||||
|
||||
//
|
||||
// For Hii Question header align.
|
||||
//
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *) HEADER_ALIGN (((UINTN) HiiQuestion + HiiQuestion->Length));
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *)HEADER_ALIGN (((UINTN)HiiQuestion + HiiQuestion->Length));
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_INFO, "VarCheckHiiVariable - ALL CHECK PASS!\n"));
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
//
|
||||
// For Hii Variable header align.
|
||||
//
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *) HEADER_ALIGN (((UINTN) HiiVariable + HiiVariable->Length));
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *)HEADER_ALIGN (((UINTN)HiiVariable + HiiVariable->Length));
|
||||
}
|
||||
|
||||
// Not found, so pass.
|
||||
@@ -333,12 +356,12 @@ SetVariableCheckHandlerHii (
|
||||
}
|
||||
|
||||
#ifdef DUMP_VAR_CHECK_HII
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED VAR_CHECK_HII_OPCODE_STRING mHiiOpCodeStringTable[] = {
|
||||
{EFI_IFR_VARSTORE_EFI_OP, "EfiVarStore"},
|
||||
{EFI_IFR_ONE_OF_OP, "OneOf"},
|
||||
{EFI_IFR_CHECKBOX_OP, "CheckBox"},
|
||||
{EFI_IFR_NUMERIC_OP, "Numeric"},
|
||||
{EFI_IFR_ORDERED_LIST_OP, "OrderedList"},
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED VAR_CHECK_HII_OPCODE_STRING mHiiOpCodeStringTable[] = {
|
||||
{ EFI_IFR_VARSTORE_EFI_OP, "EfiVarStore" },
|
||||
{ EFI_IFR_ONE_OF_OP, "OneOf" },
|
||||
{ EFI_IFR_CHECKBOX_OP, "CheckBox" },
|
||||
{ EFI_IFR_NUMERIC_OP, "Numeric" },
|
||||
{ EFI_IFR_ORDERED_LIST_OP, "OrderedList" },
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -354,7 +377,8 @@ HiiOpCodeToStr (
|
||||
IN UINT8 HiiOpCode
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINTN Index;
|
||||
|
||||
for (Index = 0; Index < ARRAY_SIZE (mHiiOpCodeStringTable); Index++) {
|
||||
if (mHiiOpCodeStringTable[Index].HiiOpCode == HiiOpCode) {
|
||||
return mHiiOpCodeStringTable[Index].HiiOpCodeStr;
|
||||
@@ -375,21 +399,21 @@ DumpHiiQuestion (
|
||||
IN VAR_CHECK_HII_QUESTION_HEADER *HiiQuestion
|
||||
)
|
||||
{
|
||||
UINT64 Minimum;
|
||||
UINT64 Maximum;
|
||||
UINT64 OneValue;
|
||||
UINT8 *Ptr;
|
||||
UINT64 Minimum;
|
||||
UINT64 Maximum;
|
||||
UINT64 OneValue;
|
||||
UINT8 *Ptr;
|
||||
|
||||
DEBUG ((DEBUG_INFO, " VAR_CHECK_HII_QUESTION_HEADER\n"));
|
||||
DEBUG ((DEBUG_INFO, " OpCode - 0x%02x (%a) (%a)\n", HiiQuestion->OpCode, HiiOpCodeToStr (HiiQuestion->OpCode), (HiiQuestion->BitFieldStore? "bit level": "byte level")));
|
||||
DEBUG ((DEBUG_INFO, " OpCode - 0x%02x (%a) (%a)\n", HiiQuestion->OpCode, HiiOpCodeToStr (HiiQuestion->OpCode), (HiiQuestion->BitFieldStore ? "bit level" : "byte level")));
|
||||
DEBUG ((DEBUG_INFO, " Length - 0x%02x\n", HiiQuestion->Length));
|
||||
DEBUG ((DEBUG_INFO, " VarOffset - 0x%04x (%a)\n", HiiQuestion->VarOffset, (HiiQuestion->BitFieldStore? "bit level": "byte level")));
|
||||
DEBUG ((DEBUG_INFO, " StorageWidth - 0x%02x (%a)\n", HiiQuestion->StorageWidth, (HiiQuestion->BitFieldStore? "bit level": "byte level")));
|
||||
DEBUG ((DEBUG_INFO, " VarOffset - 0x%04x (%a)\n", HiiQuestion->VarOffset, (HiiQuestion->BitFieldStore ? "bit level" : "byte level")));
|
||||
DEBUG ((DEBUG_INFO, " StorageWidth - 0x%02x (%a)\n", HiiQuestion->StorageWidth, (HiiQuestion->BitFieldStore ? "bit level" : "byte level")));
|
||||
|
||||
switch (HiiQuestion->OpCode) {
|
||||
case EFI_IFR_ONE_OF_OP:
|
||||
Ptr = (UINT8 *) ((VAR_CHECK_HII_QUESTION_ONEOF *) HiiQuestion + 1);
|
||||
while ((UINTN) Ptr < ((UINTN) HiiQuestion + HiiQuestion->Length)) {
|
||||
Ptr = (UINT8 *)((VAR_CHECK_HII_QUESTION_ONEOF *)HiiQuestion + 1);
|
||||
while ((UINTN)Ptr < ((UINTN)HiiQuestion + HiiQuestion->Length)) {
|
||||
OneValue = 0;
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
//
|
||||
@@ -417,12 +441,14 @@ DumpHiiQuestion (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
Ptr += sizeof (UINT32);
|
||||
} else {
|
||||
Ptr += HiiQuestion->StorageWidth;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case EFI_IFR_CHECKBOX_OP:
|
||||
@@ -431,8 +457,8 @@ DumpHiiQuestion (
|
||||
case EFI_IFR_NUMERIC_OP:
|
||||
Minimum = 0;
|
||||
Maximum = 0;
|
||||
Ptr = (UINT8 *) ((VAR_CHECK_HII_QUESTION_NUMERIC *) HiiQuestion + 1);
|
||||
if(HiiQuestion->BitFieldStore) {
|
||||
Ptr = (UINT8 *)((VAR_CHECK_HII_QUESTION_NUMERIC *)HiiQuestion + 1);
|
||||
if (HiiQuestion->BitFieldStore) {
|
||||
//
|
||||
// For Numeric stored in bit field, the value of Maximum/Minimum are saved as UINT32 type.
|
||||
//
|
||||
@@ -471,12 +497,13 @@ DumpHiiQuestion (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case EFI_IFR_ORDERED_LIST_OP:
|
||||
DEBUG ((DEBUG_INFO, " MaxContainers - 0x%02x\n", ((VAR_CHECK_HII_QUESTION_ORDEREDLIST *) HiiQuestion)->MaxContainers));
|
||||
Ptr = (UINT8 *) ((VAR_CHECK_HII_QUESTION_ORDEREDLIST *) HiiQuestion + 1);
|
||||
while ((UINTN) Ptr < ((UINTN) HiiQuestion + HiiQuestion->Length)) {
|
||||
DEBUG ((DEBUG_INFO, " MaxContainers - 0x%02x\n", ((VAR_CHECK_HII_QUESTION_ORDEREDLIST *)HiiQuestion)->MaxContainers));
|
||||
Ptr = (UINT8 *)((VAR_CHECK_HII_QUESTION_ORDEREDLIST *)HiiQuestion + 1);
|
||||
while ((UINTN)Ptr < ((UINTN)HiiQuestion + HiiQuestion->Length)) {
|
||||
OneValue = 0;
|
||||
CopyMem (&OneValue, Ptr, HiiQuestion->StorageWidth);
|
||||
switch (HiiQuestion->StorageWidth) {
|
||||
@@ -496,8 +523,10 @@ DumpHiiQuestion (
|
||||
ASSERT (FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
Ptr += HiiQuestion->StorageWidth;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -517,7 +546,7 @@ DumpHiiVariable (
|
||||
IN VAR_CHECK_HII_VARIABLE_HEADER *HiiVariable
|
||||
)
|
||||
{
|
||||
VAR_CHECK_HII_QUESTION_HEADER *HiiQuestion;
|
||||
VAR_CHECK_HII_QUESTION_HEADER *HiiQuestion;
|
||||
|
||||
DEBUG ((DEBUG_INFO, "VAR_CHECK_HII_VARIABLE_HEADER\n"));
|
||||
DEBUG ((DEBUG_INFO, " Revision - 0x%04x\n", HiiVariable->Revision));
|
||||
@@ -532,8 +561,8 @@ DumpHiiVariable (
|
||||
//
|
||||
// For Hii Question header align.
|
||||
//
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *) HEADER_ALIGN (((UINTN) HiiVariable + HiiVariable->HeaderLength));
|
||||
while ((UINTN) HiiQuestion < ((UINTN) HiiVariable + HiiVariable->Length)) {
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *)HEADER_ALIGN (((UINTN)HiiVariable + HiiVariable->HeaderLength));
|
||||
while ((UINTN)HiiQuestion < ((UINTN)HiiVariable + HiiVariable->Length)) {
|
||||
//
|
||||
// Dump Hii Question related to the Hii Variable.
|
||||
//
|
||||
@@ -541,7 +570,7 @@ DumpHiiVariable (
|
||||
//
|
||||
// For Hii Question header align.
|
||||
//
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *) HEADER_ALIGN (((UINTN) HiiQuestion + HiiQuestion->Length));
|
||||
HiiQuestion = (VAR_CHECK_HII_QUESTION_HEADER *)HEADER_ALIGN (((UINTN)HiiQuestion + HiiQuestion->Length));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -558,22 +587,23 @@ DumpVarCheckHii (
|
||||
IN UINTN VarCheckHiiBinSize
|
||||
)
|
||||
{
|
||||
VAR_CHECK_HII_VARIABLE_HEADER *HiiVariable;
|
||||
VAR_CHECK_HII_VARIABLE_HEADER *HiiVariable;
|
||||
|
||||
DEBUG ((DEBUG_INFO, "DumpVarCheckHii\n"));
|
||||
|
||||
//
|
||||
// For Hii Variable header align.
|
||||
//
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *) HEADER_ALIGN (VarCheckHiiBin);
|
||||
while ((UINTN) HiiVariable < ((UINTN) VarCheckHiiBin + VarCheckHiiBinSize)) {
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *)HEADER_ALIGN (VarCheckHiiBin);
|
||||
while ((UINTN)HiiVariable < ((UINTN)VarCheckHiiBin + VarCheckHiiBinSize)) {
|
||||
DumpHiiVariable (HiiVariable);
|
||||
//
|
||||
// For Hii Variable header align.
|
||||
//
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *) HEADER_ALIGN (((UINTN) HiiVariable + HiiVariable->Length));
|
||||
HiiVariable = (VAR_CHECK_HII_VARIABLE_HEADER *)HEADER_ALIGN (((UINTN)HiiVariable + HiiVariable->Length));
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -588,14 +618,13 @@ DumpVarCheckHii (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
VarCheckHiiLibNullClassConstructor (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
VarCheckLibRegisterEndOfDxeCallback (VarCheckHiiGen);
|
||||
VarCheckLibRegisterAddressPointer ((VOID **) &mVarCheckHiiBin);
|
||||
VarCheckLibRegisterAddressPointer ((VOID **)&mVarCheckHiiBin);
|
||||
VarCheckLibRegisterSetVariableCheckHandler (SetVariableCheckHandlerHii);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user