**/\r
\r
#include "DataHubGen.h"\r
+EFI_HII_DATABASE_PROTOCOL *gHiiDatabase;\r
\r
-EFI_HII_PROTOCOL *gHii;\r
extern UINT8 DataHubGenDxeStrings[];\r
\r
EFI_DATA_HUB_PROTOCOL *gDataHub;\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HOB_HANDOFF_INFO_TABLE *HobList;\r
EFI_PHYSICAL_ADDRESS *Table;\r
-\r
+ EFI_PEI_HOB_POINTERS GuidHob;\r
//\r
// Get Hob List\r
//\r
- \r
- Status = EfiGetSystemConfigurationTable (&gEfiHobListGuid, (VOID *) &HobList);\r
- if (EFI_ERROR (Status)) {\r
- return NULL;\r
- }\r
-\r
- //\r
- // If there is a SMBIOS table in the HOB add it to the EFI System table\r
- //\r
- Table = GetNextGuidHob (&gEfiSmbiosTableGuid, &HobList);\r
-\r
- if (!EFI_ERROR (Status)) {\r
- return (VOID *)(UINTN)*Table;\r
+ GuidHob.Raw = GetHobList ();\r
+ GuidHob.Raw = GetNextGuidHob (&gEfiSmbiosTableGuid, GuidHob.Raw);\r
+ if (GuidHob.Raw != NULL) {\r
+ Table = GET_GUID_HOB_DATA (GuidHob.Guid);\r
+ if (Table != NULL) {\r
+ return (VOID *)(UINTN)*Table;\r
+ }\r
}\r
\r
return NULL;\r
IN VOID *Smbios\r
)\r
{\r
- EFI_STATUS Status;\r
SMBIOS_STRUCTURE_POINTER SmbiosTable;\r
EFI_MEMORY_SUBCLASS_DRIVER_DATA DataRecord;\r
\r
DataRecord.Record.ArrayStartAddress.PhysicalMemoryArrayLink.SubInstance = EFI_SUBCLASS_INSTANCE_NON_APPLICABLE;\r
DataRecord.Record.ArrayStartAddress.MemoryArrayPartitionWidth = (UINT16)(SmbiosTable.Type19->PartitionWidth); \r
\r
- Status = gDataHub->LogData (\r
+ gDataHub->LogData (\r
gDataHub,\r
&gEfiMemorySubClassGuid,\r
&gEfiMiscProducerGuid,\r
DataRecord.Record.MiscSystemManufacturer.SystemVersion = 0;\r
DataRecord.Record.MiscSystemManufacturer.SystemSerialNumber = 0;\r
// DataRecord.Record.MiscSystemManufacturer.SystemUuid = {0};\r
- DataRecord.Record.MiscSystemManufacturer.SystemWakeupType = 0;\r
+ DataRecord.Record.MiscSystemManufacturer.SystemWakeupType = EfiSystemWakeupTypeReserved;\r
DataRecord.Record.MiscSystemManufacturer.SystemSKUNumber = 0;\r
DataRecord.Record.MiscSystemManufacturer.SystemFamily = 0;\r
\r
Status = gBS->LocateProtocol (\r
&gEfiDataHubProtocolGuid,\r
NULL,\r
- &gDataHub\r
+ (VOID**)&gDataHub\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
Status = gBS->LocateProtocol (\r
&gEfiHiiDatabaseProtocolGuid,\r
NULL,\r
- &gHiiDatabase\r
+ (VOID**)&gHiiDatabase\r
);\r
-#else\r
- Status = gBS->LocateProtocol (\r
- &gEfiHiiProtocolGuid,\r
- NULL,\r
- &gHii\r
- );\r
-#endif\r
+\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r