]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix the bugs for DatahubGen module
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 30 Apr 2008 01:48:23 +0000 (01:48 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 30 Apr 2008 01:48:23 +0000 (01:48 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5151 6f19259b-4bc3-4df7-8a09-765794883524

DuetPkg/DataHubGenDxe/DataHubGen.c
DuetPkg/DataHubGenDxe/DataHubGen.h
DuetPkg/DataHubGenDxe/DataHubGen.inf

index 4ff92c4d1f1a55ed390a108123cf0a8079f0af7a..dcb42bb96b7a817b5439b321ac4c0e995b31807c 100644 (file)
@@ -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,18 @@ 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 = 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
@@ -344,19 +336,12 @@ DataHubGenEntrypoint (
     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
-                  (VOID**)&gHii\r
-                  );\r
-#endif\r
+\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
index d45f212a7ad80fcb0b2eb5b3a238eff9c4e22b10..4d1eb61b35a4100553bc474a6a344100ece0f851 100644 (file)
@@ -30,6 +30,7 @@ Abstract:
 \r
 #include <Protocol/Datahub.h>\r
 #include <Protocol/FrameworkHii.h>\r
+#include <Protocol/HiiDatabase.h>\r
 \r
 #include <Library/BaseLib.h>\r
 #include <Library/UefiLib.h>\r
index 58ff185b395e9994603326efaddbe0440e9db6f8..6a4056605b7663e1c4c69b2bcd65235d53fec154 100644 (file)
@@ -59,5 +59,8 @@
   gEfiMemoryProducerGuid\r
   gEfiHiiProtocolGuid\r
 \r
+[Protocols]\r
+  gEfiHiiDatabaseProtocolGuid\r
+\r
 [Depex]\r
-  gEfiDataHubProtocolGuid AND gEfiHiiProtocolGuid
\ No newline at end of file
+  gEfiDataHubProtocolGuid AND gEfiHiiDatabaseProtocolGuid
\ No newline at end of file