]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/DataHubGenDxe/DataHubGen.c
Remove Template stuff and teach people with BeagleBoard
[mirror_edk2.git] / DuetPkg / DataHubGenDxe / DataHubGen.c
index 5d38505e13f6ec0162bc245f11833717d751bf7a..5d1354a71d6bb9c422c04c9d9fb58e44175f8bd3 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2006 - 2007, Intel Corporation                                                         \r
+Copyright (c) 2006 - 2010, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -18,8 +18,8 @@ Abstract:
 **/\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
@@ -30,26 +30,17 @@ GetSmbiosTablesFromHob (
   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 = GetFirstGuidHob (&gEfiSmbiosTableGuid);\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
@@ -99,11 +90,12 @@ InstallProcessorDataHub (
   Status = gDataHub->LogData (\r
                        gDataHub,\r
                        &gEfiProcessorSubClassGuid,\r
-                       &gEfiMiscProducerGuid,\r
+                       &gEfiCallerIdGuid,\r
                        EFI_DATA_RECORD_CLASS_DATA,\r
                        &DataRecord,\r
                        sizeof (DataRecord.DataRecordHeader) + sizeof (DataRecord.VariableRecord.ProcessorCoreFrequency)\r
                        );\r
+  ASSERT_EFI_ERROR (Status);\r
   //\r
   // Record Type 3\r
   //\r
@@ -112,9 +104,8 @@ InstallProcessorDataHub (
   ASSERT (UString != NULL);\r
   AsciiStrToUnicodeStr (AString, UString);\r
 \r
-  Status = HiiLibNewString (gStringHandle, &Token, UString);\r
-\r
-  if (EFI_ERROR (Status)) {\r
+  Token = HiiSetString (gStringHandle, 0, UString, NULL);\r
+  if (Token == 0) {\r
     gBS->FreePool (UString);\r
     return ;\r
   }\r
@@ -126,12 +117,12 @@ InstallProcessorDataHub (
   Status = gDataHub->LogData (\r
                        gDataHub,\r
                        &gEfiProcessorSubClassGuid,\r
-                       &gEfiMiscProducerGuid,\r
+                       &gEfiCallerIdGuid,\r
                        EFI_DATA_RECORD_CLASS_DATA,\r
                        &DataRecord,\r
                        sizeof (DataRecord.DataRecordHeader) + sizeof (DataRecord.VariableRecord.ProcessorVersion)\r
                        );\r
-\r
+  ASSERT_EFI_ERROR (Status);\r
   return ;\r
 }\r
 \r
@@ -156,7 +147,6 @@ InstallMemoryDataHub (
   IN VOID                  *Smbios\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
   SMBIOS_STRUCTURE_POINTER          SmbiosTable;\r
   EFI_MEMORY_SUBCLASS_DRIVER_DATA   DataRecord;\r
 \r
@@ -181,15 +171,15 @@ InstallMemoryDataHub (
   DataRecord.Record.ArrayStartAddress.MemoryArrayStartAddress = LShiftU64(SmbiosTable.Type19->StartingAddress, 10);\r
   DataRecord.Record.ArrayStartAddress.MemoryArrayEndAddress = LShiftU64((UINT64) SmbiosTable.Type19->EndingAddress + 1, 10) - 1;\r
   \r
-  DataRecord.Record.ArrayStartAddress.PhysicalMemoryArrayLink.ProducerName = gEfiMemoryProducerGuid;\r
+  CopyGuid (&DataRecord.Record.ArrayStartAddress.PhysicalMemoryArrayLink.ProducerName, &gEfiCallerIdGuid);\r
   DataRecord.Record.ArrayStartAddress.PhysicalMemoryArrayLink.Instance = 0;\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
+                       &gEfiCallerIdGuid,\r
                        EFI_DATA_RECORD_CLASS_DATA,\r
                        &DataRecord,\r
                        sizeof (DataRecord.Header) + sizeof (DataRecord.Record.ArrayStartAddress)\r
@@ -241,9 +231,8 @@ InstallMiscDataHub (
   CopyMem (UString, FIRMWARE_BIOS_VERSIONE, sizeof(FIRMWARE_BIOS_VERSIONE));\r
   AsciiStrToUnicodeStr (AString, UString + sizeof(FIRMWARE_BIOS_VERSIONE) / sizeof(CHAR16) - 1);\r
 \r
-  Status = HiiLibNewString (gStringHandle, &Token, UString);\r
-\r
-  if (EFI_ERROR (Status)) {\r
+  Token = HiiSetString (gStringHandle, 0, UString, NULL);\r
+  if (Token == 0) {\r
     gBS->FreePool (UString);\r
     return ;\r
   }\r
@@ -266,11 +255,12 @@ InstallMiscDataHub (
   Status = gDataHub->LogData (\r
                        gDataHub,\r
                        &gEfiMiscSubClassGuid,\r
-                       &gEfiMiscProducerGuid,\r
+                       &gEfiCallerIdGuid,\r
                        EFI_DATA_RECORD_CLASS_DATA,\r
                        &DataRecord,\r
                        sizeof (DataRecord.Header) + sizeof (DataRecord.Record.MiscBiosVendor)\r
                        );\r
+  ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
   // System information (TYPE 1)\r
@@ -290,9 +280,8 @@ InstallMiscDataHub (
   CopyMem (UString, FIRMWARE_PRODUCT_NAME, sizeof(FIRMWARE_PRODUCT_NAME));\r
   AsciiStrToUnicodeStr (AString, UString + sizeof(FIRMWARE_PRODUCT_NAME) / sizeof(CHAR16) - 1);\r
 \r
-  Status = HiiLibNewString (gStringHandle, &Token, UString);\r
-\r
-  if (EFI_ERROR (Status)) {\r
+  Token = HiiSetString (gStringHandle, 0, UString, NULL);\r
+  if (Token == 0) {\r
     gBS->FreePool (UString);\r
     return ;\r
   }\r
@@ -304,18 +293,19 @@ InstallMiscDataHub (
   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 = gDataHub->LogData (\r
                        gDataHub,\r
                        &gEfiMiscSubClassGuid,\r
-                       &gEfiMiscProducerGuid,\r
+                       &gEfiCallerIdGuid,\r
                        EFI_DATA_RECORD_CLASS_DATA,\r
                        &DataRecord,\r
                        sizeof (DataRecord.Header) + sizeof (DataRecord.Record.MiscSystemManufacturer)\r
                        );\r
+  ASSERT_EFI_ERROR (Status);\r
 \r
   return ;\r
 }\r
@@ -338,30 +328,29 @@ DataHubGenEntrypoint (
   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
   \r
-  HiiLibAddPackages (1, &gEfiMiscProducerGuid, NULL, &gStringHandle, DataHubGenDxeStrings);\r
+  gStringHandle = HiiAddPackages (\r
+                    &gEfiCallerIdGuid,\r
+                    NULL,\r
+                    DataHubGenDxeStrings,\r
+                    NULL\r
+                    );\r
+  ASSERT (gStringHandle != NULL);\r
 \r
   InstallProcessorDataHub (Smbios);\r
   InstallCacheDataHub     (Smbios);\r