// Since this driver will only ever produce one instance of the\r
// protocol you are not required to dynamically allocate the PrivateData.\r
//\r
-SMBIOS_INSTANCE mPrivateData;\r
+SMBIOS_INSTANCE mPrivateData;\r
\r
-UINTN mPreAllocatedPages = 0;\r
-UINTN mPre64BitAllocatedPages = 0;\r
+UINTN mPreAllocatedPages = 0;\r
+UINTN mPre64BitAllocatedPages = 0;\r
\r
//\r
// Chassis for SMBIOS entry point structure that is to be installed into EFI system config table.\r
//\r
-SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure = NULL;\r
-SMBIOS_TABLE_ENTRY_POINT EntryPointStructureData = {\r
+SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure = NULL;\r
+SMBIOS_TABLE_ENTRY_POINT EntryPointStructureData = {\r
//\r
// AnchorString\r
//\r
0\r
};\r
\r
-SMBIOS_TABLE_3_0_ENTRY_POINT *Smbios30EntryPointStructure = NULL;\r
-SMBIOS_TABLE_3_0_ENTRY_POINT Smbios30EntryPointStructureData = {\r
+SMBIOS_TABLE_3_0_ENTRY_POINT *Smbios30EntryPointStructure = NULL;\r
+SMBIOS_TABLE_3_0_ENTRY_POINT Smbios30EntryPointStructureData = {\r
//\r
// AnchorString _SM3_\r
//\r
0\r
};\r
\r
-IS_SMBIOS_TABLE_VALID_ENTRY mIsSmbiosTableValid[] = {\r
- {&gUniversalPayloadSmbios3TableGuid, IsValidSmbios30Table },\r
- {&gUniversalPayloadSmbiosTableGuid, IsValidSmbios20Table }\r
+IS_SMBIOS_TABLE_VALID_ENTRY mIsSmbiosTableValid[] = {\r
+ { &gUniversalPayloadSmbios3TableGuid, IsValidSmbios30Table },\r
+ { &gUniversalPayloadSmbiosTableGuid, IsValidSmbios20Table }\r
};\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
GetSmbiosStructureSize (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN EFI_SMBIOS_TABLE_HEADER *Head,\r
- OUT UINTN *Size,\r
- OUT UINTN *NumberOfStrings\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN EFI_SMBIOS_TABLE_HEADER *Head,\r
+ OUT UINTN *Size,\r
+ OUT UINTN *NumberOfStrings\r
)\r
{\r
UINTN FullSize;\r
UINTN StrLen;\r
UINTN MaxLen;\r
- INT8* CharInStr;\r
+ INT8 *CharInStr;\r
\r
- if (Size == NULL || NumberOfStrings == NULL) {\r
+ if ((Size == NULL) || (NumberOfStrings == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- FullSize = Head->Length;\r
- CharInStr = (INT8*)Head + Head->Length;\r
- *Size = FullSize;\r
+ FullSize = Head->Length;\r
+ CharInStr = (INT8 *)Head + Head->Length;\r
+ *Size = FullSize;\r
*NumberOfStrings = 0;\r
- StrLen = 0;\r
+ StrLen = 0;\r
//\r
// look for the two consecutive zeros, check the string limit by the way.\r
//\r
CharInStr++;\r
}\r
\r
- if (This->MajorVersion < 2 || (This->MajorVersion == 2 && This->MinorVersion < 7)){\r
+ if ((This->MajorVersion < 2) || ((This->MajorVersion == 2) && (This->MinorVersion < 7))) {\r
MaxLen = SMBIOS_STRING_MAX_LENGTH;\r
} else if (This->MajorVersion < 3) {\r
//\r
MaxLen = SMBIOS_3_0_TABLE_MAX_LENGTH;\r
}\r
\r
- for (StrLen = 0 ; StrLen < MaxLen; StrLen++) {\r
+ for (StrLen = 0; StrLen < MaxLen; StrLen++) {\r
if (*(CharInStr+StrLen) == 0) {\r
break;\r
}\r
//\r
// forward the pointer\r
//\r
- CharInStr += StrLen;\r
- *Size += StrLen;\r
+ CharInStr += StrLen;\r
+ *Size += StrLen;\r
*NumberOfStrings += 1;\r
}\r
\r
BOOLEAN\r
EFIAPI\r
CheckSmbiosHandleExistance (\r
- IN LIST_ENTRY *Head,\r
- IN EFI_SMBIOS_HANDLE Handle\r
+ IN LIST_ENTRY *Head,\r
+ IN EFI_SMBIOS_HANDLE Handle\r
)\r
{\r
- LIST_ENTRY *Link;\r
- SMBIOS_HANDLE_ENTRY *HandleEntry;\r
+ LIST_ENTRY *Link;\r
+ SMBIOS_HANDLE_ENTRY *HandleEntry;\r
\r
for (Link = Head->ForwardLink; Link != Head; Link = Link->ForwardLink) {\r
- HandleEntry = SMBIOS_HANDLE_ENTRY_FROM_LINK(Link);\r
+ HandleEntry = SMBIOS_HANDLE_ENTRY_FROM_LINK (Link);\r
if (HandleEntry->SmbiosHandle == Handle) {\r
return TRUE;\r
}\r
VOID\r
EFIAPI\r
GetMaxSmbiosHandle (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN OUT EFI_SMBIOS_HANDLE *MaxHandle\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN OUT EFI_SMBIOS_HANDLE *MaxHandle\r
)\r
{\r
- if (This->MajorVersion == 2 && This->MinorVersion == 0) {\r
+ if ((This->MajorVersion == 2) && (This->MinorVersion == 0)) {\r
*MaxHandle = 0xFFFE;\r
} else {\r
*MaxHandle = 0xFEFF;\r
EFI_STATUS\r
EFIAPI\r
GetAvailableSmbiosHandle (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN OUT EFI_SMBIOS_HANDLE *Handle\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN OUT EFI_SMBIOS_HANDLE *Handle\r
)\r
{\r
- LIST_ENTRY *Head;\r
- SMBIOS_INSTANCE *Private;\r
- EFI_SMBIOS_HANDLE MaxSmbiosHandle;\r
- EFI_SMBIOS_HANDLE AvailableHandle;\r
+ LIST_ENTRY *Head;\r
+ SMBIOS_INSTANCE *Private;\r
+ EFI_SMBIOS_HANDLE MaxSmbiosHandle;\r
+ EFI_SMBIOS_HANDLE AvailableHandle;\r
\r
- GetMaxSmbiosHandle(This, &MaxSmbiosHandle);\r
+ GetMaxSmbiosHandle (This, &MaxSmbiosHandle);\r
\r
Private = SMBIOS_INSTANCE_FROM_THIS (This);\r
- Head = &Private->AllocatedHandleListHead;\r
+ Head = &Private->AllocatedHandleListHead;\r
for (AvailableHandle = 0; AvailableHandle < MaxSmbiosHandle; AvailableHandle++) {\r
- if (!CheckSmbiosHandleExistance(Head, AvailableHandle)) {\r
+ if (!CheckSmbiosHandleExistance (Head, AvailableHandle)) {\r
*Handle = AvailableHandle;\r
return EFI_SUCCESS;\r
}\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
-\r
/**\r
Add an SMBIOS record.\r
\r
IN EFI_SMBIOS_TABLE_HEADER *Record\r
)\r
{\r
- VOID *Raw;\r
- UINTN TotalSize;\r
- UINTN RecordSize;\r
- UINTN StructureSize;\r
- UINTN NumberOfStrings;\r
- EFI_STATUS Status;\r
- LIST_ENTRY *Head;\r
- SMBIOS_INSTANCE *Private;\r
- EFI_SMBIOS_ENTRY *SmbiosEntry;\r
- EFI_SMBIOS_HANDLE MaxSmbiosHandle;\r
- SMBIOS_HANDLE_ENTRY *HandleEntry;\r
- EFI_SMBIOS_RECORD_HEADER *InternalRecord;\r
- BOOLEAN Smbios32BitTable;\r
- BOOLEAN Smbios64BitTable;\r
+ VOID *Raw;\r
+ UINTN TotalSize;\r
+ UINTN RecordSize;\r
+ UINTN StructureSize;\r
+ UINTN NumberOfStrings;\r
+ EFI_STATUS Status;\r
+ LIST_ENTRY *Head;\r
+ SMBIOS_INSTANCE *Private;\r
+ EFI_SMBIOS_ENTRY *SmbiosEntry;\r
+ EFI_SMBIOS_HANDLE MaxSmbiosHandle;\r
+ SMBIOS_HANDLE_ENTRY *HandleEntry;\r
+ EFI_SMBIOS_RECORD_HEADER *InternalRecord;\r
+ BOOLEAN Smbios32BitTable;\r
+ BOOLEAN Smbios64BitTable;\r
\r
if (SmbiosHandle == NULL) {\r
return EFI_INVALID_PARAMETER;\r
// Check whether SmbiosHandle is already in use\r
//\r
Head = &Private->AllocatedHandleListHead;\r
- if (*SmbiosHandle != SMBIOS_HANDLE_PI_RESERVED && CheckSmbiosHandleExistance(Head, *SmbiosHandle)) {\r
+ if ((*SmbiosHandle != SMBIOS_HANDLE_PI_RESERVED) && CheckSmbiosHandleExistance (Head, *SmbiosHandle)) {\r
return EFI_ALREADY_STARTED;\r
}\r
\r
// when SmbiosHandle is 0xFFFE, an available handle will be assigned\r
//\r
if (*SmbiosHandle == SMBIOS_HANDLE_PI_RESERVED) {\r
- Status = GetAvailableSmbiosHandle(This, SmbiosHandle);\r
- if (EFI_ERROR(Status)) {\r
+ Status = GetAvailableSmbiosHandle (This, SmbiosHandle);\r
+ if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
} else {\r
//\r
// Check this handle validity\r
//\r
- GetMaxSmbiosHandle(This, &MaxSmbiosHandle);\r
+ GetMaxSmbiosHandle (This, &MaxSmbiosHandle);\r
if (*SmbiosHandle > MaxSmbiosHandle) {\r
return EFI_INVALID_PARAMETER;\r
}\r
//\r
// Calculate record size and string number\r
//\r
- Status = GetSmbiosStructureSize(This, Record, &StructureSize, &NumberOfStrings);\r
- if (EFI_ERROR(Status)) {\r
+ Status = GetSmbiosStructureSize (This, Record, &StructureSize, &NumberOfStrings);\r
+ if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
Smbios32BitTable = FALSE;\r
Smbios64BitTable = FALSE;\r
if ((This->MajorVersion < 0x3) ||\r
- ((This->MajorVersion >= 0x3) && ((PcdGet32 (PcdSmbiosEntryPointProvideMethod) & BIT0) == BIT0))) {\r
+ ((This->MajorVersion >= 0x3) && ((PcdGet32 (PcdSmbiosEntryPointProvideMethod) & BIT0) == BIT0)))\r
+ {\r
//\r
// For SMBIOS 32-bit table, the length of the entire structure table (including all strings) must be reported\r
// in the Structure Table Length field of the SMBIOS Structure Table Entry Point,\r
// which is a WORD field limited to 65,535 bytes. So the max size of 32-bit table should not exceed 65,535 bytes.\r
//\r
if ((EntryPointStructure != NULL) &&\r
- (EntryPointStructure->TableLength + StructureSize > SMBIOS_TABLE_MAX_LENGTH)) {\r
+ (EntryPointStructure->TableLength + StructureSize > SMBIOS_TABLE_MAX_LENGTH))\r
+ {\r
DEBUG ((DEBUG_INFO, "SmbiosAdd: Total length exceeds max 32-bit table length with type = %d size = 0x%x\n", Record->Type, StructureSize));\r
} else {\r
Smbios32BitTable = TRUE;\r
// is a DWORD field limited to 0xFFFFFFFF bytes. So the max size of 64-bit table should not exceed 0xFFFFFFFF bytes.\r
//\r
if ((Smbios30EntryPointStructure != NULL) &&\r
- (Smbios30EntryPointStructure->TableMaximumSize + StructureSize > SMBIOS_3_0_TABLE_MAX_LENGTH)) {\r
+ (Smbios30EntryPointStructure->TableMaximumSize + StructureSize > SMBIOS_3_0_TABLE_MAX_LENGTH))\r
+ {\r
DEBUG ((DEBUG_INFO, "SmbiosAdd: Total length exceeds max 64-bit table length with type = %d size = 0x%x\n", Record->Type, StructureSize));\r
} else {\r
DEBUG ((DEBUG_INFO, "SmbiosAdd: Smbios type %d with size 0x%x is added to 64-bit table\n", Record->Type, StructureSize));\r
return Status;\r
}\r
\r
- RecordSize = sizeof (EFI_SMBIOS_RECORD_HEADER) + StructureSize;\r
- TotalSize = sizeof (EFI_SMBIOS_ENTRY) + RecordSize;\r
+ RecordSize = sizeof (EFI_SMBIOS_RECORD_HEADER) + StructureSize;\r
+ TotalSize = sizeof (EFI_SMBIOS_ENTRY) + RecordSize;\r
\r
//\r
// Allocate internal buffer\r
EfiReleaseLock (&Private->DataLock);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- HandleEntry = AllocateZeroPool (sizeof(SMBIOS_HANDLE_ENTRY));\r
+\r
+ HandleEntry = AllocateZeroPool (sizeof (SMBIOS_HANDLE_ENTRY));\r
if (HandleEntry == NULL) {\r
EfiReleaseLock (&Private->DataLock);\r
return EFI_OUT_OF_RESOURCES;\r
//\r
// Build Handle Entry and insert into linked list\r
//\r
- HandleEntry->Signature = SMBIOS_HANDLE_ENTRY_SIGNATURE;\r
- HandleEntry->SmbiosHandle = *SmbiosHandle;\r
- InsertTailList(&Private->AllocatedHandleListHead, &HandleEntry->Link);\r
+ HandleEntry->Signature = SMBIOS_HANDLE_ENTRY_SIGNATURE;\r
+ HandleEntry->SmbiosHandle = *SmbiosHandle;\r
+ InsertTailList (&Private->AllocatedHandleListHead, &HandleEntry->Link);\r
\r
- InternalRecord = (EFI_SMBIOS_RECORD_HEADER *) (SmbiosEntry + 1);\r
- Raw = (VOID *) (InternalRecord + 1);\r
+ InternalRecord = (EFI_SMBIOS_RECORD_HEADER *)(SmbiosEntry + 1);\r
+ Raw = (VOID *)(InternalRecord + 1);\r
\r
//\r
// Build internal record Header\r
//\r
- InternalRecord->Version = EFI_SMBIOS_RECORD_HEADER_VERSION;\r
- InternalRecord->HeaderSize = (UINT16) sizeof (EFI_SMBIOS_RECORD_HEADER);\r
- InternalRecord->RecordSize = RecordSize;\r
- InternalRecord->ProducerHandle = ProducerHandle;\r
+ InternalRecord->Version = EFI_SMBIOS_RECORD_HEADER_VERSION;\r
+ InternalRecord->HeaderSize = (UINT16)sizeof (EFI_SMBIOS_RECORD_HEADER);\r
+ InternalRecord->RecordSize = RecordSize;\r
+ InternalRecord->ProducerHandle = ProducerHandle;\r
InternalRecord->NumberOfStrings = NumberOfStrings;\r
//\r
// Insert record into the internal linked list\r
//\r
- SmbiosEntry->Signature = EFI_SMBIOS_ENTRY_SIGNATURE;\r
- SmbiosEntry->RecordHeader = InternalRecord;\r
- SmbiosEntry->RecordSize = TotalSize;\r
+ SmbiosEntry->Signature = EFI_SMBIOS_ENTRY_SIGNATURE;\r
+ SmbiosEntry->RecordHeader = InternalRecord;\r
+ SmbiosEntry->RecordSize = TotalSize;\r
SmbiosEntry->Smbios32BitTable = Smbios32BitTable;\r
SmbiosEntry->Smbios64BitTable = Smbios64BitTable;\r
InsertTailList (&Private->DataListHead, &SmbiosEntry->Link);\r
\r
CopyMem (Raw, Record, StructureSize);\r
- ((EFI_SMBIOS_TABLE_HEADER*)Raw)->Handle = *SmbiosHandle;\r
+ ((EFI_SMBIOS_TABLE_HEADER *)Raw)->Handle = *SmbiosHandle;\r
\r
//\r
// Some UEFI drivers (such as network) need some information in SMBIOS table.\r
EFI_STATUS\r
EFIAPI\r
SmbiosUpdateString (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN EFI_SMBIOS_HANDLE *SmbiosHandle,\r
- IN UINTN *StringNumber,\r
- IN CHAR8 *String\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN EFI_SMBIOS_HANDLE *SmbiosHandle,\r
+ IN UINTN *StringNumber,\r
+ IN CHAR8 *String\r
)\r
{\r
UINTN InputStrLen;\r
//\r
// Check args validity\r
//\r
- GetMaxSmbiosHandle(This, &MaxSmbiosHandle);\r
+ GetMaxSmbiosHandle (This, &MaxSmbiosHandle);\r
\r
if (*SmbiosHandle > MaxSmbiosHandle) {\r
return EFI_INVALID_PARAMETER;\r
return EFI_NOT_FOUND;\r
}\r
\r
- InputStrLen = AsciiStrLen(String);\r
+ InputStrLen = AsciiStrLen (String);\r
\r
- if (This->MajorVersion < 2 || (This->MajorVersion == 2 && This->MinorVersion < 7)) {\r
+ if ((This->MajorVersion < 2) || ((This->MajorVersion == 2) && (This->MinorVersion < 7))) {\r
if (InputStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
return EFI_UNSUPPORTED;\r
}\r
\r
Head = &Private->DataListHead;\r
for (Link = Head->ForwardLink; Link != Head; Link = Link->ForwardLink) {\r
- SmbiosEntry = SMBIOS_ENTRY_FROM_LINK(Link);\r
- Record = (EFI_SMBIOS_TABLE_HEADER*)(SmbiosEntry->RecordHeader + 1);\r
+ SmbiosEntry = SMBIOS_ENTRY_FROM_LINK (Link);\r
+ Record = (EFI_SMBIOS_TABLE_HEADER *)(SmbiosEntry->RecordHeader + 1);\r
\r
if (Record->Handle == *SmbiosHandle) {\r
//\r
EfiReleaseLock (&Private->DataLock);\r
return EFI_NOT_FOUND;\r
}\r
+\r
//\r
// Point to unformed string section\r
//\r
- StrStart = (CHAR8 *) Record + Record->Length;\r
+ StrStart = (CHAR8 *)Record + Record->Length;\r
\r
for (StrIndex = 1, TargetStrOffset = 0; StrIndex < *StringNumber; StrStart++, TargetStrOffset++) {\r
//\r
//\r
// String section ends in double-null (0000h)\r
//\r
- if (*StrStart == 0 && *(StrStart + 1) == 0) {\r
+ if ((*StrStart == 0) && (*(StrStart + 1) == 0)) {\r
EfiReleaseLock (&Private->DataLock);\r
return EFI_NOT_FOUND;\r
}\r
//\r
// Now we get the string target\r
//\r
- TargetStrLen = AsciiStrLen(StrStart);\r
+ TargetStrLen = AsciiStrLen (StrStart);\r
if (InputStrLen == TargetStrLen) {\r
- AsciiStrCpyS(StrStart, TargetStrLen + 1, String);\r
+ AsciiStrCpyS (StrStart, TargetStrLen + 1, String);\r
//\r
// Some UEFI drivers (such as network) need some information in SMBIOS table.\r
// Here we create SMBIOS table and publish it in\r
SmbiosEntry->Smbios32BitTable = FALSE;\r
SmbiosEntry->Smbios64BitTable = FALSE;\r
if ((This->MajorVersion < 0x3) ||\r
- ((This->MajorVersion >= 0x3) && ((PcdGet32 (PcdSmbiosEntryPointProvideMethod) & BIT0) == BIT0))) {\r
+ ((This->MajorVersion >= 0x3) && ((PcdGet32 (PcdSmbiosEntryPointProvideMethod) & BIT0) == BIT0)))\r
+ {\r
//\r
// 32-bit table is produced, check the valid length.\r
//\r
if ((EntryPointStructure != NULL) &&\r
- (EntryPointStructure->TableLength + InputStrLen - TargetStrLen > SMBIOS_TABLE_MAX_LENGTH)) {\r
+ (EntryPointStructure->TableLength + InputStrLen - TargetStrLen > SMBIOS_TABLE_MAX_LENGTH))\r
+ {\r
//\r
// The length of the entire structure table (including all strings) must be reported\r
// in the Structure Table Length field of the SMBIOS Structure Table Entry Point,\r
// 64-bit table is produced, check the valid length.\r
//\r
if ((Smbios30EntryPointStructure != NULL) &&\r
- (Smbios30EntryPointStructure->TableMaximumSize + InputStrLen - TargetStrLen > SMBIOS_3_0_TABLE_MAX_LENGTH)) {\r
+ (Smbios30EntryPointStructure->TableMaximumSize + InputStrLen - TargetStrLen > SMBIOS_3_0_TABLE_MAX_LENGTH))\r
+ {\r
DEBUG ((DEBUG_INFO, "SmbiosUpdateString: Total length exceeds max 64-bit table length\n"));\r
} else {\r
DEBUG ((DEBUG_INFO, "SmbiosUpdateString: New smbios record add to 64-bit table\n"));\r
// Original string buffer size is not exactly match input string length.\r
// Re-allocate buffer is needed.\r
//\r
- NewEntrySize = SmbiosEntry->RecordSize + InputStrLen - TargetStrLen;\r
+ NewEntrySize = SmbiosEntry->RecordSize + InputStrLen - TargetStrLen;\r
ResizedSmbiosEntry = AllocateZeroPool (NewEntrySize);\r
\r
if (ResizedSmbiosEntry == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- InternalRecord = (EFI_SMBIOS_RECORD_HEADER *) (ResizedSmbiosEntry + 1);\r
- Raw = (VOID *) (InternalRecord + 1);\r
+ InternalRecord = (EFI_SMBIOS_RECORD_HEADER *)(ResizedSmbiosEntry + 1);\r
+ Raw = (VOID *)(InternalRecord + 1);\r
\r
//\r
// Build internal record Header\r
//\r
- InternalRecord->Version = EFI_SMBIOS_RECORD_HEADER_VERSION;\r
- InternalRecord->HeaderSize = (UINT16) sizeof (EFI_SMBIOS_RECORD_HEADER);\r
- InternalRecord->RecordSize = SmbiosEntry->RecordHeader->RecordSize + InputStrLen - TargetStrLen;\r
- InternalRecord->ProducerHandle = SmbiosEntry->RecordHeader->ProducerHandle;\r
+ InternalRecord->Version = EFI_SMBIOS_RECORD_HEADER_VERSION;\r
+ InternalRecord->HeaderSize = (UINT16)sizeof (EFI_SMBIOS_RECORD_HEADER);\r
+ InternalRecord->RecordSize = SmbiosEntry->RecordHeader->RecordSize + InputStrLen - TargetStrLen;\r
+ InternalRecord->ProducerHandle = SmbiosEntry->RecordHeader->ProducerHandle;\r
InternalRecord->NumberOfStrings = SmbiosEntry->RecordHeader->NumberOfStrings;\r
\r
//\r
// Copy SMBIOS structure and optional strings.\r
//\r
CopyMem (Raw, SmbiosEntry->RecordHeader + 1, Record->Length + TargetStrOffset);\r
- CopyMem ((VOID*)((UINTN)Raw + Record->Length + TargetStrOffset), String, InputStrLen + 1);\r
- CopyMem ((CHAR8*)((UINTN)Raw + Record->Length + TargetStrOffset + InputStrLen + 1),\r
- (CHAR8*)Record + Record->Length + TargetStrOffset + TargetStrLen + 1,\r
- SmbiosEntry->RecordHeader->RecordSize - sizeof (EFI_SMBIOS_RECORD_HEADER) - Record->Length - TargetStrOffset - TargetStrLen - 1);\r
+ CopyMem ((VOID *)((UINTN)Raw + Record->Length + TargetStrOffset), String, InputStrLen + 1);\r
+ CopyMem (\r
+ (CHAR8 *)((UINTN)Raw + Record->Length + TargetStrOffset + InputStrLen + 1),\r
+ (CHAR8 *)Record + Record->Length + TargetStrOffset + TargetStrLen + 1,\r
+ SmbiosEntry->RecordHeader->RecordSize - sizeof (EFI_SMBIOS_RECORD_HEADER) - Record->Length - TargetStrOffset - TargetStrLen - 1\r
+ );\r
\r
//\r
// Insert new record\r
//\r
- ResizedSmbiosEntry->Signature = EFI_SMBIOS_ENTRY_SIGNATURE;\r
- ResizedSmbiosEntry->RecordHeader = InternalRecord;\r
- ResizedSmbiosEntry->RecordSize = NewEntrySize;\r
+ ResizedSmbiosEntry->Signature = EFI_SMBIOS_ENTRY_SIGNATURE;\r
+ ResizedSmbiosEntry->RecordHeader = InternalRecord;\r
+ ResizedSmbiosEntry->RecordSize = NewEntrySize;\r
ResizedSmbiosEntry->Smbios32BitTable = SmbiosEntry->Smbios32BitTable;\r
ResizedSmbiosEntry->Smbios64BitTable = SmbiosEntry->Smbios64BitTable;\r
InsertTailList (Link->ForwardLink, &ResizedSmbiosEntry->Link);\r
//\r
// Remove old record\r
//\r
- RemoveEntryList(Link);\r
- FreePool(SmbiosEntry);\r
+ RemoveEntryList (Link);\r
+ FreePool (SmbiosEntry);\r
//\r
// Some UEFI drivers (such as network) need some information in SMBIOS table.\r
// Here we create SMBIOS table and publish it in\r
EFI_STATUS\r
EFIAPI\r
SmbiosRemove (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN EFI_SMBIOS_HANDLE SmbiosHandle\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN EFI_SMBIOS_HANDLE SmbiosHandle\r
)\r
{\r
- LIST_ENTRY *Link;\r
- LIST_ENTRY *Head;\r
- EFI_STATUS Status;\r
- EFI_SMBIOS_HANDLE MaxSmbiosHandle;\r
- SMBIOS_INSTANCE *Private;\r
- EFI_SMBIOS_ENTRY *SmbiosEntry;\r
- SMBIOS_HANDLE_ENTRY *HandleEntry;\r
- EFI_SMBIOS_TABLE_HEADER *Record;\r
+ LIST_ENTRY *Link;\r
+ LIST_ENTRY *Head;\r
+ EFI_STATUS Status;\r
+ EFI_SMBIOS_HANDLE MaxSmbiosHandle;\r
+ SMBIOS_INSTANCE *Private;\r
+ EFI_SMBIOS_ENTRY *SmbiosEntry;\r
+ SMBIOS_HANDLE_ENTRY *HandleEntry;\r
+ EFI_SMBIOS_TABLE_HEADER *Record;\r
\r
//\r
// Check args validity\r
//\r
- GetMaxSmbiosHandle(This, &MaxSmbiosHandle);\r
+ GetMaxSmbiosHandle (This, &MaxSmbiosHandle);\r
\r
if (SmbiosHandle > MaxSmbiosHandle) {\r
return EFI_INVALID_PARAMETER;\r
\r
Head = &Private->DataListHead;\r
for (Link = Head->ForwardLink; Link != Head; Link = Link->ForwardLink) {\r
- SmbiosEntry = SMBIOS_ENTRY_FROM_LINK(Link);\r
- Record = (EFI_SMBIOS_TABLE_HEADER*)(SmbiosEntry->RecordHeader + 1);\r
+ SmbiosEntry = SMBIOS_ENTRY_FROM_LINK (Link);\r
+ Record = (EFI_SMBIOS_TABLE_HEADER *)(SmbiosEntry->RecordHeader + 1);\r
if (Record->Handle == SmbiosHandle) {\r
//\r
// Remove specified smobios record from DataList\r
//\r
- RemoveEntryList(Link);\r
+ RemoveEntryList (Link);\r
//\r
// Remove this handle from AllocatedHandleList\r
//\r
Head = &Private->AllocatedHandleListHead;\r
for (Link = Head->ForwardLink; Link != Head; Link = Link->ForwardLink) {\r
- HandleEntry = SMBIOS_HANDLE_ENTRY_FROM_LINK(Link);\r
+ HandleEntry = SMBIOS_HANDLE_ENTRY_FROM_LINK (Link);\r
if (HandleEntry->SmbiosHandle == SmbiosHandle) {\r
- RemoveEntryList(Link);\r
- FreePool(HandleEntry);\r
+ RemoveEntryList (Link);\r
+ FreePool (HandleEntry);\r
break;\r
}\r
}\r
+\r
//\r
// Some UEFI drivers (such as network) need some information in SMBIOS table.\r
// Here we create SMBIOS table and publish it in\r
if (SmbiosEntry->Smbios32BitTable) {\r
DEBUG ((DEBUG_INFO, "SmbiosRemove: remove from 32-bit table\n"));\r
}\r
+\r
if (SmbiosEntry->Smbios64BitTable) {\r
DEBUG ((DEBUG_INFO, "SmbiosRemove: remove from 64-bit table\n"));\r
}\r
+\r
//\r
// Update the whole SMBIOS table again based on which table the removed SMBIOS record is in.\r
//\r
SmbiosTableConstruction (SmbiosEntry->Smbios32BitTable, SmbiosEntry->Smbios64BitTable);\r
- FreePool(SmbiosEntry);\r
+ FreePool (SmbiosEntry);\r
EfiReleaseLock (&Private->DataLock);\r
return EFI_SUCCESS;\r
}\r
//\r
EfiReleaseLock (&Private->DataLock);\r
return EFI_INVALID_PARAMETER;\r
-\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
SmbiosGetNext (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN OUT EFI_SMBIOS_HANDLE *SmbiosHandle,\r
- IN EFI_SMBIOS_TYPE *Type OPTIONAL,\r
- OUT EFI_SMBIOS_TABLE_HEADER **Record,\r
- OUT EFI_HANDLE *ProducerHandle OPTIONAL\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN OUT EFI_SMBIOS_HANDLE *SmbiosHandle,\r
+ IN EFI_SMBIOS_TYPE *Type OPTIONAL,\r
+ OUT EFI_SMBIOS_TABLE_HEADER **Record,\r
+ OUT EFI_HANDLE *ProducerHandle OPTIONAL\r
)\r
{\r
BOOLEAN StartPointFound;\r
}\r
\r
StartPointFound = FALSE;\r
- Private = SMBIOS_INSTANCE_FROM_THIS (This);\r
- Head = &Private->DataListHead;\r
+ Private = SMBIOS_INSTANCE_FROM_THIS (This);\r
+ Head = &Private->DataListHead;\r
for (Link = Head->ForwardLink; Link != Head; Link = Link->ForwardLink) {\r
- SmbiosEntry = SMBIOS_ENTRY_FROM_LINK(Link);\r
- SmbiosTableHeader = (EFI_SMBIOS_TABLE_HEADER*)(SmbiosEntry->RecordHeader + 1);\r
+ SmbiosEntry = SMBIOS_ENTRY_FROM_LINK (Link);\r
+ SmbiosTableHeader = (EFI_SMBIOS_TABLE_HEADER *)(SmbiosEntry->RecordHeader + 1);\r
\r
//\r
// If SmbiosHandle is 0xFFFE, the first matched SMBIOS record handle will be returned\r
}\r
\r
*SmbiosHandle = SmbiosTableHeader->Handle;\r
- *Record =SmbiosTableHeader;\r
+ *Record = SmbiosTableHeader;\r
if (ProducerHandle != NULL) {\r
*ProducerHandle = SmbiosEntry->RecordHeader->ProducerHandle;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
}\r
\r
*SmbiosHandle = SmbiosTableHeader->Handle;\r
- *Record = SmbiosTableHeader;\r
+ *Record = SmbiosTableHeader;\r
if (ProducerHandle != NULL) {\r
*ProducerHandle = SmbiosEntry->RecordHeader->ProducerHandle;\r
}\r
\r
*SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;\r
return EFI_NOT_FOUND;\r
-\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
GetNextSmbiosRecord (\r
- IN CONST EFI_SMBIOS_PROTOCOL *This,\r
- IN OUT EFI_SMBIOS_ENTRY **CurrentSmbiosEntry,\r
- OUT EFI_SMBIOS_TABLE_HEADER **Record\r
+ IN CONST EFI_SMBIOS_PROTOCOL *This,\r
+ IN OUT EFI_SMBIOS_ENTRY **CurrentSmbiosEntry,\r
+ OUT EFI_SMBIOS_TABLE_HEADER **Record\r
)\r
{\r
LIST_ENTRY *Link;\r
Head = &(*CurrentSmbiosEntry)->Link;\r
}\r
\r
- Link = Head->ForwardLink;\r
+ Link = Head->ForwardLink;\r
\r
if (Link == &Private->DataListHead) {\r
//\r
return EFI_NOT_FOUND;\r
}\r
\r
- SmbiosEntry = SMBIOS_ENTRY_FROM_LINK(Link);\r
- SmbiosTableHeader = (EFI_SMBIOS_TABLE_HEADER*)(SmbiosEntry->RecordHeader + 1);\r
- *Record = SmbiosTableHeader;\r
+ SmbiosEntry = SMBIOS_ENTRY_FROM_LINK (Link);\r
+ SmbiosTableHeader = (EFI_SMBIOS_TABLE_HEADER *)(SmbiosEntry->RecordHeader + 1);\r
+ *Record = SmbiosTableHeader;\r
*CurrentSmbiosEntry = SmbiosEntry;\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
SmbiosCreateTable (\r
- OUT VOID **TableEntryPointStructure\r
+ OUT VOID **TableEntryPointStructure\r
)\r
{\r
UINT8 *BufferPointer;\r
EFI_SMBIOS_TABLE_END_STRUCTURE EndStructure;\r
EFI_SMBIOS_ENTRY *CurrentSmbiosEntry;\r
\r
- Status = EFI_SUCCESS;\r
- BufferPointer = NULL;\r
+ Status = EFI_SUCCESS;\r
+ BufferPointer = NULL;\r
\r
if (EntryPointStructure == NULL) {\r
//\r
// Allocate memory (below 4GB).\r
//\r
DEBUG ((DEBUG_INFO, "SmbiosCreateTable: Initialize 32-bit entry point structure\n"));\r
- EntryPointStructureData.MajorVersion = mPrivateData.Smbios.MajorVersion;\r
- EntryPointStructureData.MinorVersion = mPrivateData.Smbios.MinorVersion;\r
- EntryPointStructureData.SmbiosBcdRevision = (UINT8) ((PcdGet16 (PcdSmbiosVersion) >> 4) & 0xf0) | (UINT8) (PcdGet16 (PcdSmbiosVersion) & 0x0f);\r
- PhysicalAddress = 0xffffffff;\r
- Status = gBS->AllocatePages (\r
- AllocateMaxAddress,\r
- EfiRuntimeServicesData,\r
- EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_ENTRY_POINT)),\r
- &PhysicalAddress\r
- );\r
+ EntryPointStructureData.MajorVersion = mPrivateData.Smbios.MajorVersion;\r
+ EntryPointStructureData.MinorVersion = mPrivateData.Smbios.MinorVersion;\r
+ EntryPointStructureData.SmbiosBcdRevision = (UINT8)((PcdGet16 (PcdSmbiosVersion) >> 4) & 0xf0) | (UINT8)(PcdGet16 (PcdSmbiosVersion) & 0x0f);\r
+ PhysicalAddress = 0xffffffff;\r
+ Status = gBS->AllocatePages (\r
+ AllocateMaxAddress,\r
+ EfiRuntimeServicesData,\r
+ EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_ENTRY_POINT)),\r
+ &PhysicalAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "SmbiosCreateTable () could not allocate EntryPointStructure < 4GB\n"));\r
Status = gBS->AllocatePages (\r
EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_ENTRY_POINT)),\r
&PhysicalAddress\r
);\r
- if (EFI_ERROR (Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
}\r
\r
- EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) (UINTN) PhysicalAddress;\r
+ EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)(UINTN)PhysicalAddress;\r
\r
CopyMem (\r
EntryPointStructure,\r
Status = GetNextSmbiosRecord (SmbiosProtocol, &CurrentSmbiosEntry, &SmbiosRecord);\r
\r
if ((Status == EFI_SUCCESS) && (CurrentSmbiosEntry->Smbios32BitTable)) {\r
- GetSmbiosStructureSize(SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
+ GetSmbiosStructureSize (SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
//\r
// Record NumberOfSmbiosStructures, TableLength and MaxStructureSize\r
//\r
EntryPointStructure->NumberOfSmbiosStructures++;\r
- EntryPointStructure->TableLength = (UINT16) (EntryPointStructure->TableLength + RecordSize);\r
+ EntryPointStructure->TableLength = (UINT16)(EntryPointStructure->TableLength + RecordSize);\r
if (RecordSize > EntryPointStructure->MaxStructureSize) {\r
- EntryPointStructure->MaxStructureSize = (UINT16) RecordSize;\r
+ EntryPointStructure->MaxStructureSize = (UINT16)RecordSize;\r
}\r
}\r
- } while (!EFI_ERROR(Status));\r
+ } while (!EFI_ERROR (Status));\r
\r
//\r
// Create End-Of-Table structure\r
//\r
- GetMaxSmbiosHandle(SmbiosProtocol, &SmbiosHandle);\r
- EndStructure.Header.Type = SMBIOS_TYPE_END_OF_TABLE;\r
- EndStructure.Header.Length = (UINT8) sizeof (EFI_SMBIOS_TABLE_HEADER);\r
+ GetMaxSmbiosHandle (SmbiosProtocol, &SmbiosHandle);\r
+ EndStructure.Header.Type = SMBIOS_TYPE_END_OF_TABLE;\r
+ EndStructure.Header.Length = (UINT8)sizeof (EFI_SMBIOS_TABLE_HEADER);\r
EndStructure.Header.Handle = SmbiosHandle;\r
- EndStructure.Tailing[0] = 0;\r
- EndStructure.Tailing[1] = 0;\r
+ EndStructure.Tailing[0] = 0;\r
+ EndStructure.Tailing[1] = 0;\r
EntryPointStructure->NumberOfSmbiosStructures++;\r
- EntryPointStructure->TableLength = (UINT16) (EntryPointStructure->TableLength + sizeof (EndStructure));\r
+ EntryPointStructure->TableLength = (UINT16)(EntryPointStructure->TableLength + sizeof (EndStructure));\r
if (sizeof (EndStructure) > EntryPointStructure->MaxStructureSize) {\r
- EntryPointStructure->MaxStructureSize = (UINT16) sizeof (EndStructure);\r
+ EntryPointStructure->MaxStructureSize = (UINT16)sizeof (EndStructure);\r
}\r
\r
- if (EFI_SIZE_TO_PAGES ((UINT32) EntryPointStructure->TableLength) > mPreAllocatedPages) {\r
+ if (EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength) > mPreAllocatedPages) {\r
//\r
// If new SMBIOS table size exceeds the previous allocated page,\r
// it is time to re-allocate memory (below 4GB).\r
//\r
- DEBUG ((DEBUG_INFO, "%a() re-allocate SMBIOS 32-bit table\n",\r
- __FUNCTION__));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a() re-allocate SMBIOS 32-bit table\n",\r
+ __FUNCTION__\r
+ ));\r
if (EntryPointStructure->TableAddress != 0) {\r
//\r
// Free the previous allocated page\r
//\r
FreePages (\r
- (VOID*)(UINTN)EntryPointStructure->TableAddress,\r
- mPreAllocatedPages\r
- );\r
+ (VOID *)(UINTN)EntryPointStructure->TableAddress,\r
+ mPreAllocatedPages\r
+ );\r
EntryPointStructure->TableAddress = 0;\r
- mPreAllocatedPages = 0;\r
+ mPreAllocatedPages = 0;\r
}\r
\r
PhysicalAddress = 0xffffffff;\r
- Status = gBS->AllocatePages (\r
- AllocateMaxAddress,\r
- EfiRuntimeServicesData,\r
- EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength),\r
- &PhysicalAddress\r
- );\r
+ Status = gBS->AllocatePages (\r
+ AllocateMaxAddress,\r
+ EfiRuntimeServicesData,\r
+ EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength),\r
+ &PhysicalAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "SmbiosCreateTable() could not allocate SMBIOS table < 4GB\n"));\r
EntryPointStructure->TableAddress = 0;\r
return EFI_OUT_OF_RESOURCES;\r
} else {\r
- EntryPointStructure->TableAddress = (UINT32) PhysicalAddress;\r
- mPreAllocatedPages = EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength);\r
+ EntryPointStructure->TableAddress = (UINT32)PhysicalAddress;\r
+ mPreAllocatedPages = EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength);\r
}\r
}\r
\r
// Assemble the tables\r
//\r
ASSERT (EntryPointStructure->TableAddress != 0);\r
- BufferPointer = (UINT8 *) (UINTN) EntryPointStructure->TableAddress;\r
+ BufferPointer = (UINT8 *)(UINTN)EntryPointStructure->TableAddress;\r
CurrentSmbiosEntry = NULL;\r
do {\r
Status = GetNextSmbiosRecord (SmbiosProtocol, &CurrentSmbiosEntry, &SmbiosRecord);\r
\r
if ((Status == EFI_SUCCESS) && (CurrentSmbiosEntry->Smbios32BitTable)) {\r
- GetSmbiosStructureSize(SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
+ GetSmbiosStructureSize (SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
CopyMem (BufferPointer, SmbiosRecord, RecordSize);\r
BufferPointer = BufferPointer + RecordSize;\r
}\r
- } while (!EFI_ERROR(Status));\r
+ } while (!EFI_ERROR (Status));\r
\r
//\r
// Assemble End-Of-Table structure\r
//\r
// Fixup checksums in the Entry Point Structure\r
//\r
- EntryPointStructure->IntermediateChecksum = 0;\r
+ EntryPointStructure->IntermediateChecksum = 0;\r
EntryPointStructure->EntryPointStructureChecksum = 0;\r
\r
EntryPointStructure->IntermediateChecksum =\r
- CalculateCheckSum8 ((UINT8 *) EntryPointStructure + 0x10, EntryPointStructure->EntryPointLength - 0x10);\r
+ CalculateCheckSum8 ((UINT8 *)EntryPointStructure + 0x10, EntryPointStructure->EntryPointLength - 0x10);\r
EntryPointStructure->EntryPointStructureChecksum =\r
- CalculateCheckSum8 ((UINT8 *) EntryPointStructure, EntryPointStructure->EntryPointLength);\r
+ CalculateCheckSum8 ((UINT8 *)EntryPointStructure, EntryPointStructure->EntryPointLength);\r
\r
//\r
// Returns the pointer\r
EFI_STATUS\r
EFIAPI\r
SmbiosCreate64BitTable (\r
- OUT VOID **TableEntryPointStructure\r
+ OUT VOID **TableEntryPointStructure\r
)\r
{\r
UINT8 *BufferPointer;\r
EFI_SMBIOS_TABLE_END_STRUCTURE EndStructure;\r
EFI_SMBIOS_ENTRY *CurrentSmbiosEntry;\r
\r
- Status = EFI_SUCCESS;\r
- BufferPointer = NULL;\r
+ Status = EFI_SUCCESS;\r
+ BufferPointer = NULL;\r
\r
if (Smbios30EntryPointStructure == NULL) {\r
//\r
// Allocate memory at any address.\r
//\r
DEBUG ((DEBUG_INFO, "SmbiosCreateTable: Initialize 64-bit entry point structure\n"));\r
- Smbios30EntryPointStructureData.MajorVersion = mPrivateData.Smbios.MajorVersion;\r
- Smbios30EntryPointStructureData.MinorVersion = mPrivateData.Smbios.MinorVersion;\r
- Smbios30EntryPointStructureData.DocRev = PcdGet8 (PcdSmbiosDocRev);\r
- Status = gBS->AllocatePages (\r
- AllocateAnyPages,\r
- EfiRuntimeServicesData,\r
- EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_3_0_ENTRY_POINT)),\r
- &PhysicalAddress\r
- );\r
+ Smbios30EntryPointStructureData.MajorVersion = mPrivateData.Smbios.MajorVersion;\r
+ Smbios30EntryPointStructureData.MinorVersion = mPrivateData.Smbios.MinorVersion;\r
+ Smbios30EntryPointStructureData.DocRev = PcdGet8 (PcdSmbiosDocRev);\r
+ Status = gBS->AllocatePages (\r
+ AllocateAnyPages,\r
+ EfiRuntimeServicesData,\r
+ EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_3_0_ENTRY_POINT)),\r
+ &PhysicalAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "SmbiosCreate64BitTable() could not allocate Smbios30EntryPointStructure\n"));\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- Smbios30EntryPointStructure = (SMBIOS_TABLE_3_0_ENTRY_POINT *) (UINTN) PhysicalAddress;\r
+ Smbios30EntryPointStructure = (SMBIOS_TABLE_3_0_ENTRY_POINT *)(UINTN)PhysicalAddress;\r
\r
CopyMem (\r
Smbios30EntryPointStructure,\r
//\r
// Get Smbios protocol to traverse SMBIOS records.\r
//\r
- SmbiosProtocol = &mPrivateData.Smbios;\r
+ SmbiosProtocol = &mPrivateData.Smbios;\r
Smbios30EntryPointStructure->TableMaximumSize = 0;\r
\r
//\r
Status = GetNextSmbiosRecord (SmbiosProtocol, &CurrentSmbiosEntry, &SmbiosRecord);\r
\r
if ((Status == EFI_SUCCESS) && (CurrentSmbiosEntry->Smbios64BitTable)) {\r
- GetSmbiosStructureSize(SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
+ GetSmbiosStructureSize (SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
//\r
// Record TableMaximumSize\r
//\r
- Smbios30EntryPointStructure->TableMaximumSize = (UINT32) (Smbios30EntryPointStructure->TableMaximumSize + RecordSize);\r
+ Smbios30EntryPointStructure->TableMaximumSize = (UINT32)(Smbios30EntryPointStructure->TableMaximumSize + RecordSize);\r
}\r
- } while (!EFI_ERROR(Status));\r
+ } while (!EFI_ERROR (Status));\r
\r
//\r
// Create End-Of-Table structure\r
//\r
- GetMaxSmbiosHandle(SmbiosProtocol, &SmbiosHandle);\r
- EndStructure.Header.Type = SMBIOS_TYPE_END_OF_TABLE;\r
- EndStructure.Header.Length = (UINT8) sizeof (EFI_SMBIOS_TABLE_HEADER);\r
- EndStructure.Header.Handle = SmbiosHandle;\r
- EndStructure.Tailing[0] = 0;\r
- EndStructure.Tailing[1] = 0;\r
- Smbios30EntryPointStructure->TableMaximumSize = (UINT32) (Smbios30EntryPointStructure->TableMaximumSize + sizeof (EndStructure));\r
+ GetMaxSmbiosHandle (SmbiosProtocol, &SmbiosHandle);\r
+ EndStructure.Header.Type = SMBIOS_TYPE_END_OF_TABLE;\r
+ EndStructure.Header.Length = (UINT8)sizeof (EFI_SMBIOS_TABLE_HEADER);\r
+ EndStructure.Header.Handle = SmbiosHandle;\r
+ EndStructure.Tailing[0] = 0;\r
+ EndStructure.Tailing[1] = 0;\r
+ Smbios30EntryPointStructure->TableMaximumSize = (UINT32)(Smbios30EntryPointStructure->TableMaximumSize + sizeof (EndStructure));\r
\r
if (EFI_SIZE_TO_PAGES (Smbios30EntryPointStructure->TableMaximumSize) > mPre64BitAllocatedPages) {\r
//\r
// If new SMBIOS table size exceeds the previous allocated page,\r
// it is time to re-allocate memory at anywhere.\r
//\r
- DEBUG ((DEBUG_INFO, "%a() re-allocate SMBIOS 64-bit table\n",\r
- __FUNCTION__));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a() re-allocate SMBIOS 64-bit table\n",\r
+ __FUNCTION__\r
+ ));\r
if (Smbios30EntryPointStructure->TableAddress != 0) {\r
//\r
// Free the previous allocated page\r
//\r
FreePages (\r
- (VOID*)(UINTN)Smbios30EntryPointStructure->TableAddress,\r
- mPre64BitAllocatedPages\r
- );\r
+ (VOID *)(UINTN)Smbios30EntryPointStructure->TableAddress,\r
+ mPre64BitAllocatedPages\r
+ );\r
Smbios30EntryPointStructure->TableAddress = 0;\r
- mPre64BitAllocatedPages = 0;\r
+ mPre64BitAllocatedPages = 0;\r
}\r
\r
Status = gBS->AllocatePages (\r
return EFI_OUT_OF_RESOURCES;\r
} else {\r
Smbios30EntryPointStructure->TableAddress = PhysicalAddress;\r
- mPre64BitAllocatedPages = EFI_SIZE_TO_PAGES (Smbios30EntryPointStructure->TableMaximumSize);\r
+ mPre64BitAllocatedPages = EFI_SIZE_TO_PAGES (Smbios30EntryPointStructure->TableMaximumSize);\r
}\r
}\r
\r
// Assemble the tables\r
//\r
ASSERT (Smbios30EntryPointStructure->TableAddress != 0);\r
- BufferPointer = (UINT8 *) (UINTN) Smbios30EntryPointStructure->TableAddress;\r
+ BufferPointer = (UINT8 *)(UINTN)Smbios30EntryPointStructure->TableAddress;\r
CurrentSmbiosEntry = NULL;\r
do {\r
Status = GetNextSmbiosRecord (SmbiosProtocol, &CurrentSmbiosEntry, &SmbiosRecord);\r
//\r
// This record can be added to 64-bit table\r
//\r
- GetSmbiosStructureSize(SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
+ GetSmbiosStructureSize (SmbiosProtocol, SmbiosRecord, &RecordSize, &NumOfStr);\r
CopyMem (BufferPointer, SmbiosRecord, RecordSize);\r
BufferPointer = BufferPointer + RecordSize;\r
}\r
- } while (!EFI_ERROR(Status));\r
+ } while (!EFI_ERROR (Status));\r
\r
//\r
// Assemble End-Of-Table structure\r
//\r
Smbios30EntryPointStructure->EntryPointStructureChecksum = 0;\r
Smbios30EntryPointStructure->EntryPointStructureChecksum =\r
- CalculateCheckSum8 ((UINT8 *) Smbios30EntryPointStructure, Smbios30EntryPointStructure->EntryPointLength);\r
+ CalculateCheckSum8 ((UINT8 *)Smbios30EntryPointStructure, Smbios30EntryPointStructure->EntryPointLength);\r
\r
//\r
// Returns the pointer\r
VOID\r
EFIAPI\r
SmbiosTableConstruction (\r
- BOOLEAN Smbios32BitTable,\r
- BOOLEAN Smbios64BitTable\r
+ BOOLEAN Smbios32BitTable,\r
+ BOOLEAN Smbios64BitTable\r
)\r
{\r
UINT8 *Eps;\r
EFI_STATUS Status;\r
\r
if (Smbios32BitTable) {\r
- Status = SmbiosCreateTable ((VOID **) &Eps);\r
+ Status = SmbiosCreateTable ((VOID **)&Eps);\r
if (!EFI_ERROR (Status)) {\r
gBS->InstallConfigurationTable (&gEfiSmbiosTableGuid, Eps);\r
}\r
}\r
\r
if (Smbios64BitTable) {\r
- Status = SmbiosCreate64BitTable ((VOID **) &Eps64Bit);\r
+ Status = SmbiosCreate64BitTable ((VOID **)&Eps64Bit);\r
if (!EFI_ERROR (Status)) {\r
gBS->InstallConfigurationTable (&gEfiSmbios3TableGuid, Eps64Bit);\r
}\r
STATIC\r
BOOLEAN\r
IsValidSmbios20Table (\r
- IN VOID *TableEntry,\r
- OUT VOID **TableAddress,\r
- OUT UINTN *TableMaximumSize\r
+ IN VOID *TableEntry,\r
+ OUT VOID **TableAddress,\r
+ OUT UINTN *TableMaximumSize\r
)\r
{\r
- UINT8 Checksum;\r
- SMBIOS_TABLE_ENTRY_POINT *SmbiosTable;\r
- SmbiosTable = (SMBIOS_TABLE_ENTRY_POINT *) TableEntry;\r
+ UINT8 Checksum;\r
+ SMBIOS_TABLE_ENTRY_POINT *SmbiosTable;\r
+\r
+ SmbiosTable = (SMBIOS_TABLE_ENTRY_POINT *)TableEntry;\r
\r
if (CompareMem (SmbiosTable->AnchorString, "_SM_", 4) != 0) {\r
return FALSE;\r
// However, it was incorrectly stated in version 2.1 of smbios specification.\r
// Therefore, 0x1F and 0x1E are both accepted.\r
//\r
- if (SmbiosTable->EntryPointLength != 0x1E && SmbiosTable->EntryPointLength != sizeof (SMBIOS_TABLE_ENTRY_POINT)) {\r
+ if ((SmbiosTable->EntryPointLength != 0x1E) && (SmbiosTable->EntryPointLength != sizeof (SMBIOS_TABLE_ENTRY_POINT))) {\r
return FALSE;\r
}\r
\r
// The whole struct check sum should be zero\r
//\r
Checksum = CalculateSum8 (\r
- (UINT8 *) SmbiosTable,\r
+ (UINT8 *)SmbiosTable,\r
SmbiosTable->EntryPointLength\r
);\r
if (Checksum != 0) {\r
// The Intermediate Entry Point Structure check sum should be zero.\r
//\r
Checksum = CalculateSum8 (\r
- (UINT8 *) SmbiosTable + OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString),\r
+ (UINT8 *)SmbiosTable + OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString),\r
SmbiosTable->EntryPointLength - OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString)\r
);\r
if (Checksum != 0) {\r
return FALSE;\r
}\r
\r
- *TableAddress = (VOID *) (UINTN) SmbiosTable->TableAddress;\r
+ *TableAddress = (VOID *)(UINTN)SmbiosTable->TableAddress;\r
*TableMaximumSize = SmbiosTable->TableLength;\r
return TRUE;\r
}\r
STATIC\r
BOOLEAN\r
IsValidSmbios30Table (\r
- IN VOID *TableEntry,\r
- OUT VOID **TableAddress,\r
- OUT UINTN *TableMaximumSize\r
+ IN VOID *TableEntry,\r
+ OUT VOID **TableAddress,\r
+ OUT UINTN *TableMaximumSize\r
)\r
{\r
- UINT8 Checksum;\r
- SMBIOS_TABLE_3_0_ENTRY_POINT *SmbiosTable;\r
- SmbiosTable = (SMBIOS_TABLE_3_0_ENTRY_POINT *) TableEntry;\r
+ UINT8 Checksum;\r
+ SMBIOS_TABLE_3_0_ENTRY_POINT *SmbiosTable;\r
+\r
+ SmbiosTable = (SMBIOS_TABLE_3_0_ENTRY_POINT *)TableEntry;\r
\r
if (CompareMem (SmbiosTable->AnchorString, "_SM3_", 5) != 0) {\r
return FALSE;\r
}\r
+\r
if (SmbiosTable->EntryPointLength < sizeof (SMBIOS_TABLE_3_0_ENTRY_POINT)) {\r
return FALSE;\r
}\r
+\r
if (SmbiosTable->MajorVersion < 3) {\r
return FALSE;\r
}\r
// The whole struct check sum should be zero\r
//\r
Checksum = CalculateSum8 (\r
- (UINT8 *) SmbiosTable,\r
+ (UINT8 *)SmbiosTable,\r
SmbiosTable->EntryPointLength\r
);\r
if (Checksum != 0) {\r
return FALSE;\r
}\r
\r
- *TableAddress = (VOID *) (UINTN) SmbiosTable->TableAddress;\r
+ *TableAddress = (VOID *)(UINTN)SmbiosTable->TableAddress;\r
*TableMaximumSize = SmbiosTable->TableMaximumSize;\r
return TRUE;\r
}\r
STATIC\r
EFI_STATUS\r
ParseAndAddExistingSmbiosTable (\r
- IN EFI_HANDLE ImageHandle,\r
- IN SMBIOS_STRUCTURE_POINTER Smbios,\r
- IN UINTN Length\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN SMBIOS_STRUCTURE_POINTER Smbios,\r
+ IN UINTN Length\r
)\r
{\r
- EFI_STATUS Status;\r
- CHAR8 *String;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_STRUCTURE_POINTER SmbiosEnd;\r
+ EFI_STATUS Status;\r
+ CHAR8 *String;\r
+ EFI_SMBIOS_HANDLE SmbiosHandle;\r
+ SMBIOS_STRUCTURE_POINTER SmbiosEnd;\r
\r
SmbiosEnd.Raw = Smbios.Raw + Length;\r
\r
- if (Smbios.Raw >= SmbiosEnd.Raw || Smbios.Raw == NULL) {\r
+ if ((Smbios.Raw >= SmbiosEnd.Raw) || (Smbios.Raw == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Make sure not to access memory beyond SmbiosEnd\r
//\r
- if (Smbios.Raw + sizeof (SMBIOS_STRUCTURE) > SmbiosEnd.Raw ||\r
- Smbios.Raw + sizeof (SMBIOS_STRUCTURE) < Smbios.Raw) {\r
+ if ((Smbios.Raw + sizeof (SMBIOS_STRUCTURE) > SmbiosEnd.Raw) ||\r
+ (Smbios.Raw + sizeof (SMBIOS_STRUCTURE) < Smbios.Raw))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
//\r
// Check for end marker\r
//\r
if (Smbios.Hdr->Type == SMBIOS_TYPE_END_OF_TABLE) {\r
break;\r
}\r
+\r
//\r
// Make sure not to access memory beyond SmbiosEnd\r
// Each structure shall be terminated by a double-null (0000h).\r
//\r
- if (Smbios.Raw + Smbios.Hdr->Length + 2 * sizeof (UINT8) > SmbiosEnd.Raw ||\r
- Smbios.Raw + Smbios.Hdr->Length + 2 * sizeof (UINT8) < Smbios.Raw) {\r
+ if ((Smbios.Raw + Smbios.Hdr->Length + 2 * sizeof (UINT8) > SmbiosEnd.Raw) ||\r
+ (Smbios.Raw + Smbios.Hdr->Length + 2 * sizeof (UINT8) < Smbios.Raw))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
//\r
// Install the table\r
//\r
SmbiosHandle = Smbios.Hdr->Handle;\r
- Status = SmbiosAdd (\r
- &mPrivateData.Smbios,\r
- ImageHandle,\r
- &SmbiosHandle,\r
- Smbios.Hdr\r
- );\r
+ Status = SmbiosAdd (\r
+ &mPrivateData.Smbios,\r
+ ImageHandle,\r
+ &SmbiosHandle,\r
+ Smbios.Hdr\r
+ );\r
\r
ASSERT_EFI_ERROR (Status);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Go to the next SMBIOS structure. Each SMBIOS structure may include 2 parts:\r
// 1. Formatted section; 2. Unformatted string section. So, 2 steps are needed\r
//\r
// Step 1: Skip over formatted section.\r
//\r
- String = (CHAR8 *) (Smbios.Raw + Smbios.Hdr->Length);\r
+ String = (CHAR8 *)(Smbios.Raw + Smbios.Hdr->Length);\r
\r
//\r
// Step 2: Skip over unformatted string section.\r
// is terminated with an additional NULL(00h) BYTE.\r
//\r
for ( ; *String != 0; String++) {\r
- if ((UINTN) String >= (UINTN) SmbiosEnd.Raw - sizeof (UINT8)) {\r
+ if ((UINTN)String >= (UINTN)SmbiosEnd.Raw - sizeof (UINT8)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
}\r
\r
- if (*(UINT8 *) ++String == 0) {\r
+ if (*(UINT8 *)++String == 0) {\r
//\r
// Pointer to the next SMBIOS structure.\r
//\r
- Smbios.Raw = (UINT8 *) ++String;\r
+ Smbios.Raw = (UINT8 *)++String;\r
break;\r
}\r
} while (TRUE);\r
**/\r
EFI_STATUS\r
RetrieveSmbiosFromHob (\r
- IN EFI_HANDLE ImageHandle\r
+ IN EFI_HANDLE ImageHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN Index;\r
- SMBIOS_STRUCTURE_POINTER Smbios;\r
- EFI_HOB_GUID_TYPE *GuidHob;\r
- UNIVERSAL_PAYLOAD_SMBIOS_TABLE *SmBiosTableAdress;\r
- UNIVERSAL_PAYLOAD_GENERIC_HEADER *GenericHeader;\r
- VOID *TableAddress;\r
- UINTN TableMaximumSize;\r
+ EFI_STATUS Status;\r
+ UINTN Index;\r
+ SMBIOS_STRUCTURE_POINTER Smbios;\r
+ EFI_HOB_GUID_TYPE *GuidHob;\r
+ UNIVERSAL_PAYLOAD_SMBIOS_TABLE *SmBiosTableAdress;\r
+ UNIVERSAL_PAYLOAD_GENERIC_HEADER *GenericHeader;\r
+ VOID *TableAddress;\r
+ UINTN TableMaximumSize;\r
\r
Status = EFI_NOT_FOUND;\r
\r
if (GuidHob == NULL) {\r
continue;\r
}\r
- GenericHeader = (UNIVERSAL_PAYLOAD_GENERIC_HEADER *) GET_GUID_HOB_DATA (GuidHob);\r
+\r
+ GenericHeader = (UNIVERSAL_PAYLOAD_GENERIC_HEADER *)GET_GUID_HOB_DATA (GuidHob);\r
if ((sizeof (UNIVERSAL_PAYLOAD_GENERIC_HEADER) <= GET_GUID_HOB_DATA_SIZE (GuidHob)) && (GenericHeader->Length <= GET_GUID_HOB_DATA_SIZE (GuidHob))) {\r
if (GenericHeader->Revision == UNIVERSAL_PAYLOAD_SMBIOS_TABLE_REVISION) {\r
//\r
// UNIVERSAL_PAYLOAD_SMBIOS_TABLE structure is used when Revision equals to UNIVERSAL_PAYLOAD_SMBIOS_TABLE_REVISION\r
//\r
- SmBiosTableAdress = (UNIVERSAL_PAYLOAD_SMBIOS_TABLE *) GET_GUID_HOB_DATA (GuidHob);\r
+ SmBiosTableAdress = (UNIVERSAL_PAYLOAD_SMBIOS_TABLE *)GET_GUID_HOB_DATA (GuidHob);\r
if (GenericHeader->Length >= UNIVERSAL_PAYLOAD_SIZEOF_THROUGH_FIELD (UNIVERSAL_PAYLOAD_SMBIOS_TABLE, SmBiosEntryPoint)) {\r
- if (mIsSmbiosTableValid[Index].IsValid ((VOID *) (UINTN )SmBiosTableAdress->SmBiosEntryPoint, &TableAddress, &TableMaximumSize)) {\r
+ if (mIsSmbiosTableValid[Index].IsValid ((VOID *)(UINTN)SmBiosTableAdress->SmBiosEntryPoint, &TableAddress, &TableMaximumSize)) {\r
Smbios.Raw = TableAddress;\r
- Status = ParseAndAddExistingSmbiosTable (ImageHandle, Smbios, TableMaximumSize);\r
+ Status = ParseAndAddExistingSmbiosTable (ImageHandle, Smbios, TableMaximumSize);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "RetrieveSmbiosFromHob: Failed to parse preinstalled tables from Guid Hob\n"));\r
Status = EFI_UNSUPPORTED;\r
}\r
}\r
}\r
+\r
return Status;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
SmbiosDriverEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- mPrivateData.Signature = SMBIOS_INSTANCE_SIGNATURE;\r
- mPrivateData.Smbios.Add = SmbiosAdd;\r
- mPrivateData.Smbios.UpdateString = SmbiosUpdateString;\r
- mPrivateData.Smbios.Remove = SmbiosRemove;\r
- mPrivateData.Smbios.GetNext = SmbiosGetNext;\r
- mPrivateData.Smbios.MajorVersion = (UINT8) (PcdGet16 (PcdSmbiosVersion) >> 8);\r
- mPrivateData.Smbios.MinorVersion = (UINT8) (PcdGet16 (PcdSmbiosVersion) & 0x00ff);\r
+ mPrivateData.Signature = SMBIOS_INSTANCE_SIGNATURE;\r
+ mPrivateData.Smbios.Add = SmbiosAdd;\r
+ mPrivateData.Smbios.UpdateString = SmbiosUpdateString;\r
+ mPrivateData.Smbios.Remove = SmbiosRemove;\r
+ mPrivateData.Smbios.GetNext = SmbiosGetNext;\r
+ mPrivateData.Smbios.MajorVersion = (UINT8)(PcdGet16 (PcdSmbiosVersion) >> 8);\r
+ mPrivateData.Smbios.MinorVersion = (UINT8)(PcdGet16 (PcdSmbiosVersion) & 0x00ff);\r
\r
InitializeListHead (&mPrivateData.DataListHead);\r
InitializeListHead (&mPrivateData.AllocatedHandleListHead);\r
// Make a new handle and install the protocol\r
//\r
mPrivateData.Handle = NULL;\r
- Status = gBS->InstallProtocolInterface (\r
- &mPrivateData.Handle,\r
- &gEfiSmbiosProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &mPrivateData.Smbios\r
- );\r
+ Status = gBS->InstallProtocolInterface (\r
+ &mPrivateData.Handle,\r
+ &gEfiSmbiosProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ &mPrivateData.Smbios\r
+ );\r
\r
RetrieveSmbiosFromHob (ImageHandle);\r
return Status;\r