From 33bb6326576a3f4f722b60d8a8d996af882009d1 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Mon, 31 Aug 2009 14:14:44 +0000 Subject: [PATCH] Update BdsDxe to use HiiLib and UefiHiiServicesLib APIs to eliminate the symbol collision. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9210 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/BdsDxe/Bds.h | 3 +- .../Universal/BdsDxe/BdsDxe.inf | 4 +- .../Universal/BdsDxe/FrontPage.c | 50 +------------------ .../Universal/BdsDxe/FrontPage.h | 5 +- 4 files changed, 6 insertions(+), 56 deletions(-) diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h b/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h index d4539d47ba..70df151a7d 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h @@ -1,7 +1,7 @@ /** @file Head file for BDS Architectural Protocol implementation -Copyright (c) 2004 - 2008, Intel Corporation.
+Copyright (c) 2004 - 2009, Intel Corporation.
All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -61,6 +61,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include #include #include diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf index 2bd1bfb997..1e6ba5fbea 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf @@ -109,6 +109,7 @@ PlatformBdsLib CapsuleLib PcdLib + UefiHiiServicesLib [Guids] gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option) @@ -137,19 +138,16 @@ gEfiIfrTianoGuid ## CONSUMES ## GUID (Extended IFR Guid Opcode) [Protocols] - gEfiHiiStringProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiSimpleFileSystemProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiLoadFileProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiBdsArchProtocolGuid # PROTOCOL ALWAYS_PRODUCES gEfiDataHubProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiGenericMemTestProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiLegacyBiosProtocolGuid # PROTOCOL ALWAYS_CONSUMES - gEfiHiiDatabaseProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiUgaDrawProtocolGuid |PcdUgaConsumeSupport # PROTOCOL SOMETIMES_CONSUMES gEfiBlockIoProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiGraphicsOutputProtocolGuid # PROTOCOL SOMETIMES_CONSUMES gEfiSimpleTextInputExProtocolGuid # PROTOCOL ALWAYS_CONSUMES - gEfiHiiConfigRoutingProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiHiiConfigAccessProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiFormBrowser2ProtocolGuid # PROTOCOL ALWAYS_CONSUMES gEfiSerialIoProtocolGuid # PROTOCOL ALWAYS_CONSUMES diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c index 55fce979f7..37be6ff976 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c @@ -21,10 +21,7 @@ EFI_GUID mFrontPageGuid = FRONT_PAGE_FORMSET_GUID; BOOLEAN gConnectAllHappened = FALSE; UINTN gCallbackKey; -EFI_HII_DATABASE_PROTOCOL *gHiiDatabase; -EFI_HII_STRING_PROTOCOL *gHiiString; EFI_FORM_BROWSER2_PROTOCOL *gFormBrowser2; -EFI_HII_CONFIG_ROUTING_PROTOCOL *gHiiConfigRouting; FRONT_PAGE_CALLBACK_DATA gFrontPagePrivate = { FRONT_PAGE_CALLBACK_DATA_SIGNATURE, @@ -306,7 +303,6 @@ InitializeFrontPage ( CHAR8 *BestLanguage; UINTN OptionCount; CHAR16 *StringBuffer; - UINTN BufferSize; EFI_HII_HANDLE HiiHandle; VOID *OptionsOpCodeHandle; VOID *StartOpCodeHandle; @@ -331,26 +327,11 @@ InitializeFrontPage ( // // Locate Hii relative protocols // - Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID **) &gHiiDatabase); - if (EFI_ERROR (Status)) { - return Status; - } - - Status = gBS->LocateProtocol (&gEfiHiiStringProtocolGuid, NULL, (VOID **) &gHiiString); - if (EFI_ERROR (Status)) { - return Status; - } - Status = gBS->LocateProtocol (&gEfiFormBrowser2ProtocolGuid, NULL, (VOID **) &gFormBrowser2); if (EFI_ERROR (Status)) { return Status; } - Status = gBS->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid, NULL, (VOID **) &gHiiConfigRouting); - if (EFI_ERROR (Status)) { - return Status; - } - // // Install Device Path Protocol and Config Access protocol to driver handle // @@ -454,35 +435,8 @@ InitializeFrontPage ( GetNextLanguage (&LangCode, Lang); if (FirstFlag) { - // - // Get Language Name from String Package. The StringId of Printable Language - // Name is always 1 which is generated by StringGather Tool. - // - BufferSize = 0x100; - StringBuffer = AllocatePool (BufferSize); - Status = gHiiString->GetString ( - gHiiString, - Lang, - HiiHandle, - PRINTABLE_LANGUAGE_NAME_STRING_ID, - StringBuffer, - &BufferSize, - NULL - ); - if (Status == EFI_BUFFER_TOO_SMALL) { - FreePool (StringBuffer); - StringBuffer = AllocatePool (BufferSize); - Status = gHiiString->GetString ( - gHiiString, - Lang, - HiiHandle, - PRINTABLE_LANGUAGE_NAME_STRING_ID, - StringBuffer, - &BufferSize, - NULL - ); - } - ASSERT_EFI_ERROR (Status); + StringBuffer = HiiGetString (HiiHandle, PRINTABLE_LANGUAGE_NAME_STRING_ID, Lang); + ASSERT_EFI_ERROR (StringBuffer != NULL); // // Save the string Id for each language diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.h b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.h index 52f8ec5f66..7ec67932fe 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.h +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.h @@ -1,7 +1,7 @@ /** @file FrontPage routines to handle the callbacks and browser calls -Copyright (c) 2004 - 2008, Intel Corporation.
+Copyright (c) 2004 - 2009, Intel Corporation.
All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -26,10 +26,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // extern UINT8 FrontPageVfrBin[]; -extern EFI_HII_DATABASE_PROTOCOL *gHiiDatabase; -extern EFI_HII_STRING_PROTOCOL *gHiiString; extern EFI_FORM_BROWSER2_PROTOCOL *gFormBrowser2; -extern EFI_HII_CONFIG_ROUTING_PROTOCOL *gHiiConfigRouting; extern UINTN gCallbackKey; extern BOOLEAN gConnectAllHappened; -- 2.39.2