-/*++\r
+/** @file\r
\r
Copyright (c) 2006 - 2007, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
\r
Abstract:\r
\r
---*/\r
+**/\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
}\r
\r
-EFI_STATUS\r
-PrepareHiiPackage (\r
- VOID\r
- )\r
-{\r
- EFI_HII_PACKAGES *PackageList;\r
- EFI_STATUS Status;\r
-\r
- PackageList = PreparePackages (1, &gEfiMiscProducerGuid, DataHubGenDxeStrings);\r
- Status = gHii->NewPack (gHii, PackageList, &gStringHandle);\r
-\r
- return Status;\r
-}\r
-\r
EFI_SUBCLASS_TYPE1_HEADER mCpuDataRecordHeader = {\r
EFI_PROCESSOR_SUBCLASS_VERSION, // Version\r
sizeof (EFI_SUBCLASS_TYPE1_HEADER), // Header Size\r
ASSERT (UString != NULL);\r
AsciiStrToUnicodeStr (AString, UString);\r
\r
- Token = 0;\r
- Status = gHii->NewString (gHii, NULL, gStringHandle, &Token, UString);\r
+ Status = HiiLibNewString (gStringHandle, &Token, UString);\r
\r
if (EFI_ERROR (Status)) {\r
gBS->FreePool (UString);\r
CopyMem (UString, FIRMWARE_BIOS_VERSIONE, sizeof(FIRMWARE_BIOS_VERSIONE));\r
AsciiStrToUnicodeStr (AString, UString + sizeof(FIRMWARE_BIOS_VERSIONE) / sizeof(CHAR16) - 1);\r
\r
- Token = 0;\r
- Status = gHii->NewString (gHii, NULL, gStringHandle, &Token, UString);\r
+ Status = HiiLibNewString (gStringHandle, &Token, UString);\r
\r
if (EFI_ERROR (Status)) {\r
gBS->FreePool (UString);\r
CopyMem (UString, FIRMWARE_PRODUCT_NAME, sizeof(FIRMWARE_PRODUCT_NAME));\r
AsciiStrToUnicodeStr (AString, UString + sizeof(FIRMWARE_PRODUCT_NAME) / sizeof(CHAR16) - 1);\r
\r
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
- Status = IfrLibNewString (gStringHandle, &Token, UString);\r
-#else\r
- Token = 0;\r
- Status = gHii->NewString (gHii, NULL, gStringHandle, &Token, UString);\r
-#endif\r
+ Status = HiiLibNewString (gStringHandle, &Token, UString);\r
+\r
if (EFI_ERROR (Status)) {\r
gBS->FreePool (UString);\r
return ;\r
EFI_STATUS Status;\r
VOID *Smbios;\r
\r
-\r
Smbios = GetSmbiosTablesFromHob ();\r
if (Smbios == NULL) {\r
return EFI_NOT_FOUND;\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
);\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
-\r
- PrepareHiiPackage ();\r
+ \r
+ HiiLibAddPackages (1, &gEfiMiscProducerGuid, NULL, &gStringHandle, DataHubGenDxeStrings);\r
\r
InstallProcessorDataHub (Smbios);\r
InstallCacheDataHub (Smbios);\r