]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Move library class GenericBdsLib and PlatformBdsLib to IntelFrameworkModulePkg
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 24 Feb 2009 15:52:09 +0000 (15:52 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 24 Feb 2009 15:52:09 +0000 (15:52 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7655 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Application/PlatOverMngr/PlatOverMngr.c
MdeModulePkg/Application/PlatOverMngr/PlatOverMngr.inf
MdeModulePkg/Include/Library/GenericBdsLib.h [deleted file]
MdeModulePkg/Include/Library/PlatformBdsLib.h [deleted file]
MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
MdeModulePkg/MdeModulePkg.dec
MdeModulePkg/MdeModulePkg.dsc

index 3711a9193e8edd2473ebfa206e466d682fe6dc10..c46ff8d4c03105541c6fab07b7c1d90365df4b12 100644 (file)
@@ -36,6 +36,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/ComponentName2.h>\r
 #include <Protocol/ComponentName.h>\r
 #include <Protocol/DriverBinding.h>\r
+#include <Protocol/DevicePathToText.h>\r
 #include <Guid/GlobalVariable.h>\r
 \r
 #include <Library/BaseLib.h>\r
@@ -52,7 +53,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/DevicePathLib.h>\r
-#include <Library/GenericBdsLib.h>\r
 #include "PlatOverMngr.h"\r
 \r
 #define EFI_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('C', 'l', 'b', 'k')\r
@@ -94,6 +94,22 @@ UINTN                        mLastSavedDriverImageNum;
 CHAR8                        mLanguage[RFC_3066_ENTRY_SIZE];\r
 UINT16                       mCurrentPage;\r
 \r
+/**\r
+  Converting a given device to an unicode string. \r
+  \r
+  This function will dependent on gEfiDevicePathToTextProtocolGuid, if protocol\r
+  does not installed, then return unknown device path L"?" directly.\r
+  \r
+  @param    DevPath     Given device path instance\r
+  \r
+  @return   Converted string from given device path.\r
+  @retval   L"?"  Can not locate gEfiDevicePathToTextProtocolGuid protocol for converting.\r
+**/\r
+CHAR16 *\r
+DevicePathToStr (\r
+  IN EFI_DEVICE_PATH_PROTOCOL     *DevPath\r
+  );\r
+\r
 /**\r
   Do string convertion for the ComponentName supported language. It do\r
   the convertion just for english language code from RFC 3066 to ISO 639-2.\r
@@ -1439,3 +1455,46 @@ Finish:
 \r
   return Status;\r
 }\r
+\r
+/**\r
+  Converting a given device to an unicode string. \r
+  \r
+  This function will dependent on gEfiDevicePathToTextProtocolGuid, if protocol\r
+  does not installed, then return unknown device path L"?" directly.\r
+  \r
+  @param    DevPath     Given device path instance\r
+  \r
+  @return   Converted string from given device path.\r
+  @retval   L"?"  Can not locate gEfiDevicePathToTextProtocolGuid protocol for converting.\r
+**/\r
+CHAR16 *\r
+DevicePathToStr (\r
+  IN EFI_DEVICE_PATH_PROTOCOL     *DevPath\r
+  )\r
+{\r
+  EFI_STATUS                       Status;\r
+  EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevPathToText;\r
+  CHAR16                           *ToText;\r
+  \r
+  if (DevPath == NULL) {\r
+    return L"";\r
+  }\r
+    \r
+  Status = gBS->LocateProtocol (\r
+                  &gEfiDevicePathToTextProtocolGuid,\r
+                  NULL,\r
+                  (VOID **) &DevPathToText\r
+                  );\r
+  if (!EFI_ERROR (Status)) {\r
+    ToText = DevPathToText->ConvertDevicePathToText (\r
+                              DevPath,\r
+                              FALSE,\r
+                              TRUE\r
+                              );\r
+    ASSERT (ToText != NULL);\r
+    return ToText;\r
+  }\r
+\r
+  return L"?";\r
+}\r
+  
\ No newline at end of file
index e8e3487b3e7b849e369fdd9f7154b90cd96469e1..f867ba33502abd92b65fbbf35ce8ee5d0833e341 100644 (file)
@@ -64,7 +64,6 @@
   MemoryAllocationLib\r
   UefiRuntimeServicesTableLib\r
   DevicePathLib\r
-  GenericBdsLib\r
   \r
 [Guids]\r
   gEfiGlobalVariableGuid                        ## CONSUMED ## Variable:L"PlatformLang" this variable specifies the platform supported language string (RFC 3066 format)\r
@@ -85,4 +84,4 @@
   gEfiFormBrowser2ProtocolGuid                  ## CONSUMED\r
   gEfiHiiConfigRoutingProtocolGuid              ## CONSUMED\r
   gEfiHiiConfigAccessProtocolGuid               ## PRODUCED\r
-  
\ No newline at end of file
+  gEfiDevicePathToTextProtocolGuid              ## CONSUMED
\ No newline at end of file
diff --git a/MdeModulePkg/Include/Library/GenericBdsLib.h b/MdeModulePkg/Include/Library/GenericBdsLib.h
deleted file mode 100644 (file)
index a57fe6c..0000000
+++ /dev/null
@@ -1,1106 +0,0 @@
-/** @file\r
-  Generic BDS library definition, include the data structure and function.\r
-\r
-Copyright (c) 2004 - 2008, Intel Corporation. <BR>\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
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _GENERIC_BDS_LIB_H_\r
-#define _GENERIC_BDS_LIB_H_\r
-\r
-#include <Protocol/HiiDatabase.h>\r
-#include <IndustryStandard/PeImage.h>\r
-\r
-\r
-extern EFI_HANDLE mBdsImageHandle;\r
-\r
-//\r
-// Constants which are variable names used to access variables\r
-//\r
-#define VAR_LEGACY_DEV_ORDER L"LegacyDevOrder"\r
-\r
-//\r
-// Data structures and defines\r
-//\r
-#define FRONT_PAGE_QUESTION_ID  0x0000\r
-#define FRONT_PAGE_DATA_WIDTH   0x01\r
-\r
-//\r
-// ConnectType\r
-//\r
-#define CONSOLE_OUT 0x00000001\r
-#define STD_ERROR   0x00000002\r
-#define CONSOLE_IN  0x00000004\r
-#define CONSOLE_ALL (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)\r
-\r
-//\r
-// Load Option Attributes defined in EFI Specification\r
-//\r
-#define LOAD_OPTION_ACTIVE              0x00000001\r
-#define LOAD_OPTION_FORCE_RECONNECT     0x00000002\r
-\r
-#define LOAD_OPTION_HIDDEN              0x00000008\r
-#define LOAD_OPTION_CATEGORY            0x00001F00\r
-\r
-#define LOAD_OPTION_CATEGORY_BOOT       0x00000000\r
-#define LOAD_OPTION_CATEGORY_APP        0x00000100\r
-\r
-#define EFI_BOOT_OPTION_SUPPORT_KEY     0x00000001\r
-#define EFI_BOOT_OPTION_SUPPORT_APP     0x00000002\r
-\r
-#define IS_LOAD_OPTION_TYPE(_c, _Mask)  (BOOLEAN) (((_c) & (_Mask)) != 0)\r
-\r
-//\r
-// Define Maxmim characters that will be accepted\r
-//\r
-#define MAX_CHAR            480\r
-#define MAX_CHAR_SIZE       (MAX_CHAR * 2)\r
-\r
-#define MIN_ALIGNMENT_SIZE  4\r
-#define ALIGN_SIZE(a)       ((a % MIN_ALIGNMENT_SIZE) ? MIN_ALIGNMENT_SIZE - (a % MIN_ALIGNMENT_SIZE) : 0)\r
-\r
-//\r
-// Define maximum characters for boot option variable "BootXXXX"\r
-//\r
-#define BOOT_OPTION_MAX_CHAR 10\r
-\r
-//\r
-// This data structure is the part of BDS_CONNECT_ENTRY that we can hard code.\r
-//\r
-#define BDS_LOAD_OPTION_SIGNATURE SIGNATURE_32 ('B', 'd', 'C', 'O')\r
-\r
-typedef struct {\r
-\r
-  UINTN                     Signature;\r
-  LIST_ENTRY                Link;\r
-\r
-  EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
-\r
-  CHAR16                    *OptionName;\r
-  UINTN                     OptionNumber;\r
-  UINT16                    BootCurrent;\r
-  UINT32                    Attribute;\r
-  CHAR16                    *Description;\r
-  VOID                      *LoadOptions;\r
-  UINT32                    LoadOptionsSize;\r
-  CHAR16                    *StatusString;\r
-\r
-} BDS_COMMON_OPTION;\r
-\r
-typedef struct {\r
-  EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
-  UINTN                     ConnectType;\r
-} BDS_CONSOLE_CONNECT_ENTRY;\r
-\r
-//\r
-// Lib Functions\r
-//\r
-\r
-//\r
-// Bds boot related lib functions\r
-//\r
-/**\r
-  Boot from the UEFI spec defined "BootNext" variable.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibBootNext (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Process the boot option follow the UEFI specification and\r
-  special treat the legacy boot option with BBS_DEVICE_PATH.\r
-\r
-  @param  Option                 The boot option need to be processed\r
-  @param  DevicePath             The device path which describe where to load the\r
-                                 boot image or the legcy BBS device path to boot\r
-                                 the legacy OS\r
-  @param  ExitDataSize           The size of exit data.\r
-  @param  ExitData               Data returned when Boot image failed.\r
-\r
-  @retval EFI_SUCCESS            Boot from the input boot option successfully.\r
-  @retval EFI_NOT_FOUND          If the Device Path is not found in the system\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibBootViaBootOption (\r
-  IN  BDS_COMMON_OPTION             * Option,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL      * DevicePath,\r
-  OUT UINTN                         *ExitDataSize,\r
-  OUT CHAR16                        **ExitData OPTIONAL\r
-  );\r
-\r
-\r
-/**\r
-  This function will enumerate all possible boot device in the system,\r
-  it will only excute once of every boot.\r
-\r
-  @param  BdsBootOptionList      The header of the link list which indexed all\r
-                                 current boot options\r
-\r
-  @retval EFI_SUCCESS            Finished all the boot device enumerate and create\r
-                                 the boot option base on that boot device\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibEnumerateAllBootOption (\r
-  IN OUT LIST_ENTRY          *BdsBootOptionList\r
-  );\r
-\r
-/**\r
-  Build the boot option with the handle parsed in\r
-\r
-  @param  Handle                 The handle which present the device path to create\r
-                                 boot option\r
-  @param  BdsBootOptionList      The header of the link list which indexed all\r
-                                 current boot options\r
-  @param  String                 The description of the boot option.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibBuildOptionFromHandle (\r
-  IN  EFI_HANDLE                 Handle,\r
-  IN  LIST_ENTRY                 *BdsBootOptionList,\r
-  IN  CHAR16                     *String\r
-  );\r
-\r
-\r
-/**\r
-  Build the on flash shell boot option with the handle parsed in.\r
-\r
-  @param  Handle                 The handle which present the device path to create\r
-                                 on flash shell boot option\r
-  @param  BdsBootOptionList      The header of the link list which indexed all\r
-                                 current boot options\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibBuildOptionFromShell (\r
-  IN EFI_HANDLE                  Handle,\r
-  IN OUT LIST_ENTRY              *BdsBootOptionList\r
-  );\r
-\r
-//\r
-// Bds misc lib functions\r
-//\r
-/**\r
-  Return the default value for system Timeout variable.\r
-\r
-  @return Timeout value.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-BdsLibGetTimeout (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Get boot mode by looking up configuration table and parsing HOB list\r
-\r
-  @param  BootMode              Boot mode from PEI handoff HOB.\r
-\r
-  @retval EFI_SUCCESS           Successfully get boot mode\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibGetBootMode (\r
-  OUT EFI_BOOT_MODE       *BootMode\r
-  );\r
-\r
-\r
-/**\r
-  The function will go through the driver optoin link list, load and start\r
-  every driver the driver optoin device path point to.\r
-\r
-  @param  BdsDriverLists        The header of the current driver option link list\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibLoadDrivers (\r
-  IN LIST_ENTRY                   *BdsDriverLists\r
-  );\r
-\r
-\r
-/**\r
-  Process BootOrder, or DriverOrder variables, by calling\r
-  BdsLibVariableToOption () for each UINT16 in the variables.\r
-\r
-  @param  BdsCommonOptionList   The header of the option list base on variable\r
-                                VariableName\r
-  @param  VariableName          EFI Variable name indicate the BootOrder or\r
-                                DriverOrder\r
-\r
-  @retval EFI_SUCCESS           Success create the boot option or driver option\r
-                                list\r
-  @retval EFI_OUT_OF_RESOURCES  Failed to get the boot option or driver option list\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibBuildOptionFromVar (\r
-  IN  LIST_ENTRY                      *BdsCommonOptionList,\r
-  IN  CHAR16                          *VariableName\r
-  );\r
-\r
-/**\r
-  Read the EFI variable (VendorGuid/Name) and return a dynamically allocated\r
-  buffer, and the size of the buffer. If failure return NULL.\r
-\r
-  @param  Name                  String part of EFI variable name\r
-  @param  VendorGuid            GUID part of EFI variable name\r
-  @param  VariableSize          Returns the size of the EFI variable that was read\r
-\r
-  @return                       Dynamically allocated memory that contains a copy of the EFI variable\r
-                                Caller is responsible freeing the buffer.\r
-  @retval NULL                  Variable was not read\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-BdsLibGetVariableAndSize (\r
-  IN  CHAR16              *Name,\r
-  IN  EFI_GUID            *VendorGuid,\r
-  OUT UINTN               *VariableSize\r
-  );\r
-\r
-\r
-/**\r
-  This function prints a series of strings.\r
-\r
-  @param  ConOut                Pointer to EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
-  @param  ...                   A variable argument list containing series of\r
-                                strings, the last string must be NULL.\r
-\r
-  @retval EFI_SUCCESS           Success print out the string using ConOut.\r
-  @retval EFI_STATUS            Return the status of the ConOut->OutputString ().\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibOutputStrings (\r
-  IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL   *ConOut,\r
-  ...\r
-  );\r
-\r
-/**\r
-  Build the boot#### or driver#### option from the VariableName, the\r
-  build boot#### or driver#### will also be linked to BdsCommonOptionList.\r
-\r
-  @param  BdsCommonOptionList   The header of the boot#### or driver#### option\r
-                                link list\r
-  @param  VariableName          EFI Variable name indicate if it is boot#### or\r
-                                driver####\r
-\r
-  @retval BDS_COMMON_OPTION     Get the option just been created\r
-  @retval NULL                  Failed to get the new option\r
-\r
-**/\r
-BDS_COMMON_OPTION *\r
-EFIAPI\r
-BdsLibVariableToOption (\r
-  IN OUT LIST_ENTRY                   *BdsCommonOptionList,\r
-  IN  CHAR16                          *VariableName\r
-  );\r
-\r
-/**\r
-  This function will register the new boot#### or driver#### option base on\r
-  the VariableName. The new registered boot#### or driver#### will be linked\r
-  to BdsOptionList and also update to the VariableName. After the boot#### or\r
-  driver#### updated, the BootOrder or DriverOrder will also be updated.\r
-\r
-  @param  BdsOptionList         The header of the boot#### or driver#### link list\r
-  @param  DevicePath            The device path which the boot#### or driver####\r
-                                option present\r
-  @param  String                The description of the boot#### or driver####\r
-  @param  VariableName          Indicate if the boot#### or driver#### option\r
-\r
-  @retval EFI_SUCCESS           The boot#### or driver#### have been success\r
-                                registered\r
-  @retval EFI_STATUS            Return the status of gRT->SetVariable ().\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibRegisterNewOption (\r
-  IN  LIST_ENTRY                     *BdsOptionList,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL       *DevicePath,\r
-  IN  CHAR16                         *String,\r
-  IN  CHAR16                         *VariableName\r
-  );\r
-\r
-//\r
-// Bds connect or disconnect driver lib funcion\r
-//\r
-/**\r
-  Connects all drivers to all controllers.\r
-  This function make sure all the current system driver will manage\r
-  the correspoinding controllers if have. And at the same time, make\r
-  sure all the system controllers have driver to manage it if have.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibConnectAllDriversToAllControllers (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  This function will connect all the system driver to controller\r
-  first, and then special connect the default console, this make\r
-  sure all the system controller available and the platform default\r
-  console connected.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibConnectAll (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  This function will create all handles associate with every device\r
-  path node. If the handle associate with one device path node can not\r
-  be created success, then still give one chance to do the dispatch,\r
-  which load the missing drivers if possible.\r
-\r
-  @param  DevicePathToConnect   The device path which will be connected, it can be\r
-                                a multi-instance device path\r
-\r
-  @retval EFI_SUCCESS           All handles associate with every device path  node\r
-                                have been created\r
-  @retval EFI_OUT_OF_RESOURCES  There is no resource to create new handles\r
-  @retval EFI_NOT_FOUND         Create the handle associate with one device  path\r
-                                node failed\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibConnectDevicePath (\r
-  IN EFI_DEVICE_PATH_PROTOCOL  *DevicePathToConnect\r
-  );\r
-\r
-/**\r
-  This function will connect all current system handles recursively. The\r
-  connection will finish until every handle's child handle created if it have.\r
-\r
-  @retval EFI_SUCCESS           All handles and it's child handle have been\r
-                                connected\r
-  @retval EFI_STATUS            Return the status of gBS->LocateHandleBuffer().\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibConnectAllEfi (\r
-  VOID\r
-  );\r
-\r
-\r
-/**\r
-  This function will disconnect all current system handles. The disconnection\r
-  will finish until every handle have been disconnected.\r
-\r
-  @retval EFI_SUCCESS           All handles have been disconnected\r
-  @retval EFI_STATUS            Return the status of gBS->LocateHandleBuffer().\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibDisconnectAllEfi (\r
-  VOID\r
-  );\r
-\r
-//\r
-// Bds console related lib functions\r
-//\r
-/**\r
-  This function will search every simpletxt devive in current system,\r
-  and make every simpletxt device as pertantial console device.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibConnectAllConsoles (\r
-  VOID\r
-  );\r
-\r
-\r
-/**\r
-  This function will connect console device base on the console\r
-  device variable ConIn, ConOut and ErrOut.\r
-\r
-  @retval EFI_SUCCESS              At least one of the ConIn and ConOut device have\r
-                                   been connected success.\r
-  @retval EFI_STATUS               Return the status of BdsLibConnectConsoleVariable ().\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibConnectAllDefaultConsoles (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  This function update console variable based on ConVarName, it can\r
-  add or remove one specific console device path from the variable\r
-\r
-  @param  ConVarName               Console related variable name, ConIn, ConOut,\r
-                                   ErrOut.\r
-  @param  CustomizedConDevicePath  The console device path which will be added to\r
-                                   the console variable ConVarName, this parameter\r
-                                   can not be multi-instance.\r
-  @param  ExclusiveDevicePath      The console device path which will be removed\r
-                                   from the console variable ConVarName, this\r
-                                   parameter can not be multi-instance.\r
-\r
-  @retval EFI_UNSUPPORTED          The added device path is same to the removed one.\r
-  @retval EFI_SUCCESS              Success add or remove the device path from  the\r
-                                   console variable.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibUpdateConsoleVariable (\r
-  IN  CHAR16                    *ConVarName,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL  *CustomizedConDevicePath,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL  *ExclusiveDevicePath\r
-  );\r
-\r
-/**\r
-  Connect the console device base on the variable ConVarName, if\r
-  device path of the ConVarName is multi-instance device path, if\r
-  anyone of the instances is connected success, then this function\r
-  will return success.\r
-\r
-  @param  ConVarName               Console related variable name, ConIn, ConOut,\r
-                                   ErrOut.\r
-\r
-  @retval EFI_NOT_FOUND            There is not any console devices connected\r
-                                   success\r
-  @retval EFI_SUCCESS              Success connect any one instance of the console\r
-                                   device path base on the variable ConVarName.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibConnectConsoleVariable (\r
-  IN  CHAR16                 *ConVarName\r
-  );\r
-\r
-//\r
-// Bds device path related lib functions\r
-//\r
-/**\r
-  Delete the instance in Multi which matches partly with Single instance\r
-\r
-  @param  Multi                 A pointer to a multi-instance device path data\r
-                                structure.\r
-  @param  Single                A pointer to a single-instance device path data\r
-                                structure.\r
-\r
-  @return This function will remove the device path instances in Multi which partly\r
-          match with the Single, and return the result device path. If there is no\r
-          remaining device path as a result, this function will return NULL.\r
-\r
-**/\r
-EFI_DEVICE_PATH_PROTOCOL *\r
-EFIAPI\r
-BdsLibDelPartMatchInstance (\r
-  IN     EFI_DEVICE_PATH_PROTOCOL  *Multi,\r
-  IN     EFI_DEVICE_PATH_PROTOCOL  *Single\r
-  );\r
-\r
-/**\r
-  Function compares a device path data structure to that of all the nodes of a\r
-  second device path instance.\r
-\r
-  @param  Multi                 A pointer to a multi-instance device path data\r
-                                structure.\r
-  @param  Single                A pointer to a single-instance device path data\r
-                                structure.\r
-\r
-  @retval TRUE                  If the Single device path is contained within Multi device path.\r
-  @retval FALSE                 The Single device path is not match within Multi device path.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-BdsLibMatchDevicePaths (\r
-  IN  EFI_DEVICE_PATH_PROTOCOL  *Multi,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL  *Single\r
-  );\r
-\r
-/**\r
-  This function converts an input device structure to a Unicode string.\r
-\r
-  @param DevPath                  A pointer to the device path structure.\r
-\r
-  @return A new allocated Unicode string that represents the device path.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-DevicePathToStr (\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *DevPath\r
-  );\r
-\r
-\r
-//\r
-// Internal definitions\r
-//\r
-typedef struct {\r
-  CHAR16  *str;\r
-  UINTN   len;\r
-  UINTN   maxlen;\r
-} POOL_PRINT;\r
-\r
-typedef struct {\r
-  UINT8 Type;\r
-  UINT8 SubType;\r
-  VOID (*Function) (POOL_PRINT *, VOID *);\r
-} DEVICE_PATH_STRING_TABLE;\r
-\r
-extern EFI_GUID mEfiDevicePathMessagingUartFlowControlGuid;\r
-\r
-typedef struct {\r
-  EFI_DEVICE_PATH_PROTOCOL  Header;\r
-  EFI_GUID                  Guid;\r
-  UINT8                     VendorDefinedData[1];\r
-} VENDOR_DEVICE_PATH_WITH_DATA;\r
-\r
-\r
-extern EFI_GUID mEfiDevicePathMessagingSASGuid;\r
-\r
-typedef struct {\r
-  EFI_DEVICE_PATH_PROTOCOL  Header;\r
-  UINT16                    NetworkProtocol;\r
-  UINT16                    LoginOption;\r
-  UINT64                    Lun;\r
-  UINT16                    TargetPortalGroupTag;\r
-  CHAR16                    iSCSITargetName[1];\r
-} ISCSI_DEVICE_PATH_WITH_NAME;\r
-\r
-\r
-//\r
-// Notes: EFI 64 shadow all option rom\r
-//\r
-#if defined (MDE_CPU_IPF)\r
-#define EFI64_SHADOW_ALL_LEGACY_ROM() ShadowAllOptionRom ();\r
-#else\r
-#define EFI64_SHADOW_ALL_LEGACY_ROM()\r
-#endif\r
-\r
-/**\r
-  Shadow all Legacy OptionRom. \r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-ShadowAllOptionRom (\r
-  VOID\r
-  );\r
-\r
-//\r
-// BBS support macros and functions\r
-//\r
-\r
-#if defined(MDE_CPU_IA32) || defined(MDE_CPU_X64)\r
-#define REFRESH_LEGACY_BOOT_OPTIONS \\r
-        BdsDeleteAllInvalidLegacyBootOptions ();\\r
-        BdsAddNonExistingLegacyBootOptions (); \\r
-        BdsUpdateLegacyDevOrder ()\r
-#else\r
-#define REFRESH_LEGACY_BOOT_OPTIONS\r
-#endif\r
-\r
-/**\r
-  Delete all the invalid legacy boot options.\r
-\r
-  @retval EFI_SUCCESS             All invalide legacy boot options are deleted.\r
-  @retval EFI_OUT_OF_RESOURCES    Fail to allocate necessary memory.\r
-  @retval EFI_NOT_FOUND           Fail to retrive variable of boot order.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsDeleteAllInvalidLegacyBootOptions (\r
-  VOID\r
-  );\r
-\r
-/**\r
-\r
-  Add the legacy boot options from BBS table if they do not exist.\r
-\r
-  @retval EFI_SUCCESS       The boot options are added successfully \r
-                            or they are already in boot options.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsAddNonExistingLegacyBootOptions (\r
-  VOID\r
-  );\r
-\r
-/**\r
-\r
-  Add the legacy boot devices from BBS table into \r
-  the legacy device boot order.\r
-\r
-  @retval EFI_SUCCESS       The boot devices are added successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsUpdateLegacyDevOrder (\r
-  VOID\r
-  );\r
-\r
-/**\r
-\r
-  Set the boot priority for BBS entries based on boot option entry and boot order.\r
-\r
-  @param  Entry             The boot option is to be checked for refresh BBS table.\r
-  \r
-  @retval EFI_SUCCESS       The boot priority for BBS entries is refreshed successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsRefreshBbsTableForBoot (\r
-  IN BDS_COMMON_OPTION        *Entry\r
-  );\r
-\r
-/**\r
-\r
-  Delete boot option specified by OptionNumber and adjust the boot order.\r
-\r
-  @param  OptionNumber      The boot option to be deleted.\r
-  @param  BootOrder         Boot order list to be adjusted by remove this boot option.\r
-  @param  BootOrderSize     The size of Boot order list will be modified.\r
-  \r
-  @retval EFI_SUCCESS       The boot option is deleted successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsDeleteBootOption (\r
-  IN UINTN                       OptionNumber,\r
-  IN OUT UINT16                  *BootOrder,\r
-  IN OUT UINTN                   *BootOrderSize\r
-  );\r
-\r
-//\r
-//The interface functions relate with Setup Browser Reset Reminder feature\r
-//\r
-/**\r
-  Enable the setup browser reset reminder feature.\r
-  This routine is used in platform tip. If the platform policy need the feature, use the routine to enable it.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-EnableResetReminderFeature (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Disable the setup browser reset reminder feature.\r
-  This routine is used in platform tip. If the platform policy do not want the feature, use the routine to disable it.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-DisableResetReminderFeature (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Record the info that  a reset is required.\r
-  A  module boolean variable is used to record whether a reset is required.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-EnableResetRequired (\r
-  VOID\r
-  );\r
-\r
-\r
-/**\r
-  Record the info that  no reset is required.\r
-  A  module boolean variable is used to record whether a reset is required.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-DisableResetRequired (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Check whether platform policy enable the reset reminder feature. The default is enabled.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsResetReminderFeatureEnable (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Check if  user changed any option setting which needs a system reset to be effective.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsResetRequired (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Check whether a reset is needed, and finish the reset reminder feature.\r
-  If a reset is needed, Popup a menu to notice user, and finish the feature\r
-  according to the user selection.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetupResetReminder (\r
-  VOID\r
-  );\r
-\r
-\r
-/**\r
-  Get the headers (dos, image, optional header) from an image\r
-\r
-  @param  Device                SimpleFileSystem device handle\r
-  @param  FileName              File name for the image\r
-  @param  DosHeader             Pointer to dos header\r
-  @param  Hdr                   The buffer in which to return the PE32, PE32+, or TE header.\r
-\r
-  @retval EFI_SUCCESS           Successfully get the machine type.\r
-  @retval EFI_NOT_FOUND         The file is not found.\r
-  @retval EFI_LOAD_ERROR        File is not a valid image file.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibGetImageHeader (\r
-  IN  EFI_HANDLE                  Device,\r
-  IN  CHAR16                      *FileName,\r
-  OUT EFI_IMAGE_DOS_HEADER        *DosHeader,\r
-  OUT EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION   Hdr\r
-  );\r
-\r
-//\r
-// Define the boot type which to classify the boot option type\r
-// Different boot option type could have different boot behavior\r
-// Use their device path node (Type + SubType) as type value\r
-// The boot type here can be added according to requirement\r
-//\r
-//\r
-// ACPI boot type. For ACPI device, cannot use sub-type to distinguish device, so hardcode their value\r
-//\r
-#define  BDS_EFI_ACPI_FLOPPY_BOOT         0x0201\r
-//\r
-// Message boot type\r
-// If a device path of boot option only point to a message node, the boot option is message boot type\r
-//\r
-#define  BDS_EFI_MESSAGE_ATAPI_BOOT       0x0301 // Type 03; Sub-Type 01\r
-#define  BDS_EFI_MESSAGE_SCSI_BOOT        0x0302 // Type 03; Sub-Type 02\r
-#define  BDS_EFI_MESSAGE_USB_DEVICE_BOOT  0x0305 // Type 03; Sub-Type 05\r
-#define  BDS_EFI_MESSAGE_MISC_BOOT        0x03FF\r
-//\r
-// Media boot type\r
-// If a device path of boot option contain a media node, the boot option is media boot type\r
-//\r
-#define  BDS_EFI_MEDIA_HD_BOOT            0x0401 // Type 04; Sub-Type 01\r
-#define  BDS_EFI_MEDIA_CDROM_BOOT         0x0402 // Type 04; Sub-Type 02\r
-//\r
-// BBS boot type\r
-// If a device path of boot option contain a BBS node, the boot option is BBS boot type\r
-//\r
-#define  BDS_LEGACY_BBS_BOOT              0x0501 //  Type 05; Sub-Type 01\r
-\r
-#define  BDS_EFI_UNSUPPORT                0xFFFF\r
-\r
-//\r
-// USB host controller Programming Interface.\r
-//\r
-#define  PCI_CLASSC_PI_UHCI               0x00\r
-#define  PCI_CLASSC_PI_EHCI               0x20\r
-\r
-/**\r
-  Check whether there is a instance in BlockIoDevicePath, which contain multi device path\r
-  instances, has the same partition node with HardDriveDevicePath device path\r
-\r
-  @param  BlockIoDevicePath      Multi device path instances which need to check\r
-  @param  HardDriveDevicePath    A device path which starts with a hard drive media\r
-                                 device path.\r
-\r
-  @retval TRUE                   There is a matched device path instance.\r
-  @retval FALSE                  There is no matched device path instance.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-MatchPartitionDevicePathNode (\r
-  IN  EFI_DEVICE_PATH_PROTOCOL   *BlockIoDevicePath,\r
-  IN  HARDDRIVE_DEVICE_PATH      *HardDriveDevicePath\r
-  );\r
-\r
-\r
-/**\r
-  Expand a device path that starts with a hard drive media device path node to be a\r
-  full device path that includes the full hardware path to the device. We need\r
-  to do this so it can be booted. As an optimizaiton the front match (the part point\r
-  to the partition node. E.g. ACPI() /PCI()/ATA()/Partition() ) is saved in a variable\r
-  so a connect all is not required on every boot. All successful history device path\r
-  which point to partition node (the front part) will be saved.\r
-\r
-  @param  HardDriveDevicePath    EFI Device Path to boot, if it starts with a hard\r
-                                 drive media device path.\r
-  @return A Pointer to the full device path or NULL if a valid Hard Drive devic path\r
-          cannot be found.\r
-\r
-**/\r
-EFI_DEVICE_PATH_PROTOCOL *\r
-EFIAPI\r
-BdsExpandPartitionPartialDevicePathToFull (\r
-  IN  HARDDRIVE_DEVICE_PATH      *HardDriveDevicePath\r
-  );\r
-  \r
-/**\r
-  Return the bootable media handle.\r
-  First, check the device is connected\r
-  Second, check whether the device path point to a device which support SimpleFileSystemProtocol,\r
-  Third, detect the the default boot file in the Media, and return the removable Media handle.\r
-\r
-  @param  DevicePath             Device Path to a  bootable device\r
-\r
-  @retval NULL                   The media on the DevicePath is not bootable\r
-\r
-**/\r
-EFI_HANDLE\r
-EFIAPI\r
-BdsLibGetBootableHandle (\r
-  IN  EFI_DEVICE_PATH_PROTOCOL      *DevicePath\r
-  );\r
-  \r
-\r
-/**\r
-  Check whether the Device path in a boot option point to a valide bootable device,\r
-  And if CheckMedia is true, check the device is ready to boot now.\r
-\r
-  @param  DevPath     the Device path in a boot option\r
-  @param  CheckMedia  if true, check the device is ready to boot now.\r
-\r
-  @retval TRUE        the Device path  is valide\r
-  @retval FALSE       the Device path  is invalide .\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-BdsLibIsValidEFIBootOptDevicePath (\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *DevPath,\r
-  IN BOOLEAN                      CheckMedia\r
-  );\r
-  \r
-/**\r
-  For a bootable Device path, return its boot type.\r
-\r
-  @param  DevicePath                      The bootable device Path to check\r
-\r
-  @retval BDS_EFI_MEDIA_HD_BOOT           If the device path contains any media deviec path node, it is media boot type\r
-                                          For the floppy node, handle it as media node\r
-  @retval BDS_EFI_MEDIA_CDROM_BOOT        If the device path contains any media deviec path node, it is media boot type\r
-                                          For the floppy node, handle it as media node\r
-  @retval BDS_EFI_ACPI_FLOPPY_BOOT        If the device path contains any media deviec path node, it is media boot type\r
-                                          For the floppy node, handle it as media node\r
-  @retval BDS_EFI_MESSAGE_ATAPI_BOOT      If the device path not contains any media deviec path node,  and\r
-                                          its last device path node point to a message device path node, it is\r
-  \r
-  @retval BDS_EFI_MESSAGE_SCSI_BOOT       If the device path not contains any media deviec path node,  and\r
-                                          its last device path node point to a message device path node, it is\r
-  @retval BDS_EFI_MESSAGE_USB_DEVICE_BOOT If the device path not contains any media deviec path node,  and\r
-                                          its last device path node point to a message device path node, it is\r
-  @retval BDS_EFI_MESSAGE_MISC_BOOT       If the device path not contains any media deviec path node,  and\r
-                                          its last device path node point to a message device path node, it is\r
-  @retval BDS_LEGACY_BBS_BOOT             Legacy boot type\r
-  @retval BDS_EFI_UNSUPPORT               An EFI Removable BlockIO device path not point to a media and message devie,   \r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-BdsGetBootTypeFromDevicePath (\r
-  IN  EFI_DEVICE_PATH_PROTOCOL     *DevicePath\r
-  );\r
-\r
-\r
-/**\r
-  This routine register a function to adjust the different type memory page number\r
-  just before booting and save the updated info into the variable for next boot to use.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BdsLibSaveMemoryTypeInformation (\r
-  VOID\r
-  );\r
-  \r
-\r
-/**\r
-  According to a file guild, check a Fv file device path is valid. If it is invalid,\r
-  try to return the valid device path.\r
-  FV address maybe changes for memory layout adjust from time to time, use this funciton\r
-  could promise the Fv file device path is right.\r
-\r
-  @param  DevicePath             on input, the Fv file device path need to check on\r
-                                 output, the updated valid Fv file device path\r
-  @param  FileGuid               the Fv file guild\r
-\r
-  @retval EFI_INVALID_PARAMETER  the input DevicePath or FileGuid is invalid\r
-                                 parameter\r
-  @retval EFI_UNSUPPORTED        the input DevicePath does not contain Fv file\r
-                                 guild at all\r
-  @retval EFI_ALREADY_STARTED    the input DevicePath has pointed to Fv file, it is\r
-                                 valid\r
-  @retval EFI_SUCCESS            has successfully updated the invalid DevicePath,\r
-                                 and return the updated device path in DevicePath\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibUpdateFvFileDevicePath (\r
-  IN  OUT EFI_DEVICE_PATH_PROTOCOL      ** DevicePath,\r
-  IN  EFI_GUID                          *FileGuid\r
-  );\r
-\r
-\r
-/**\r
-  Connect the specific Usb device which match the short form device path,\r
-  and whose bus is determined by Host Controller (Uhci or Ehci)\r
-\r
-  @param  HostControllerPI      Uhci (0x00) or Ehci (0x20) or Both uhci and ehci\r
-                                (0xFF)\r
-  @param  RemainingDevicePath   a short-form device path that starts with the first\r
-                                element being a USB WWID or a USB Class device\r
-                                path\r
-\r
-  @retval EFI_SUCCESS           The specific Usb device is connected successfully.\r
-  @retval EFI_INVALID_PARAMETER Invalid HostControllerPi (not 0x00, 0x20 or 0xFF) \r
-                                or RemainingDevicePath is not the USB class device path.\r
-  @retval EFI_NOT_FOUND         The device specified by device path is not found.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-BdsLibConnectUsbDevByShortFormDP(\r
-  IN UINT8                      HostControllerPI,\r
-  IN EFI_DEVICE_PATH_PROTOCOL   *RemainingDevicePath\r
-  );\r
-  \r
-\r
-//\r
-// The implementation of this function is provided by Platform code.\r
-//\r
-/**\r
-  Convert Vendor device path to device name.\r
-\r
-  @param  Str      The buffer store device name\r
-  @param  DevPath  Pointer to vendor device path\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-DevPathVendor (\r
-  IN OUT POOL_PRINT       *Str,\r
-  IN VOID                 *DevPath\r
-  );\r
-\r
-/**\r
-  Concatenates a formatted unicode string to allocated pool.\r
-  The caller must free the resulting buffer.\r
-\r
-  @param  Str      Tracks the allocated pool, size in use, and amount of pool allocated.\r
-  @param  fmt      The format string\r
-  @param  ...      The data will be printed.\r
-\r
-  @return Allocated buffer with the formatted string printed in it.\r
-          The caller must free the allocated buffer.\r
-          The buffer allocation is not packed.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-CatPrint (\r
-  IN OUT POOL_PRINT   *Str,\r
-  IN CHAR16           *fmt,\r
-  ...\r
-  );\r
-\r
-/**\r
-  Use Console Control to turn off UGA based Simple Text Out consoles from going\r
-  to the UGA device. Put up LogoFile on every UGA device that is a console\r
-\r
-  @param[in]  LogoFile   File name of logo to display on the center of the screen.\r
-\r
-  @retval EFI_SUCCESS     ConsoleControl has been flipped to graphics and logo displayed.\r
-  @retval EFI_UNSUPPORTED Logo not found\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EnableQuietBoot (\r
-  IN  EFI_GUID  *LogoFile\r
-  );\r
-\r
-\r
-/**\r
-  Use Console Control to turn on UGA based Simple Text Out consoles. The UGA \r
-  Simple Text Out screens will now be synced up with all non UGA output devices\r
-\r
-  @retval EFI_SUCCESS     UGA devices are back in text mode and synced up.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-DisableQuietBoot (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Use Console Control Protocol to lock the Console In Spliter virtual handle. \r
-  This is the ConInHandle and ConIn handle in the EFI system table. All key\r
-  presses will be ignored until the Password is typed in. The only way to\r
-  disable the password is to type it in to a ConIn device.\r
-\r
-  @param  Password        Password used to lock ConIn device.\r
-\r
-  @retval EFI_SUCCESS     lock the Console In Spliter virtual handle successfully.\r
-  @retval EFI_UNSUPPORTED Password not found\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LockKeyboards (\r
-  IN  CHAR16    *Password\r
-  );\r
-\r
-#endif\r
-\r
diff --git a/MdeModulePkg/Include/Library/PlatformBdsLib.h b/MdeModulePkg/Include/Library/PlatformBdsLib.h
deleted file mode 100644 (file)
index 3b42564..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/** @file\r
-  Platform BDS library definition. Platform package can provide hook library\r
-  instances to implement platform specific behavior.\r
-\r
-Copyright (c) 2008, Intel Corporation. <BR>\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
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef __PLATFORM_BDS_LIB_H_\r
-#define __PLATFORM_BDS_LIB_H_\r
-\r
-#include <Protocol/Bds.h>\r
-#include <Protocol/GenericMemoryTest.h>\r
-\r
-//\r
-// Bds AP Context data\r
-//\r
-#define EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE  SIGNATURE_32 ('B', 'd', 's', 'A')\r
-typedef struct _EFI_BDS_ARCH_PROTOCOL_INSTANCE EFI_BDS_ARCH_PROTOCOL_INSTANCE;\r
-\r
-struct _EFI_BDS_ARCH_PROTOCOL_INSTANCE {\r
-  UINTN                     Signature;\r
-  EFI_HANDLE                Handle;\r
-  EFI_BDS_ARCH_PROTOCOL     Bds;\r
-  ///\r
-  /// Save the current boot mode\r
-  ///\r
-  EFI_BOOT_MODE             BootMode;\r
-  ///\r
-  /// Set true if boot with default settings\r
-  ///\r
-  BOOLEAN                   DefaultBoot;\r
-  ///\r
-  /// The system default timeout for choose the boot option\r
-  ///\r
-  UINT16                    TimeoutDefault;\r
-  ///\r
-  /// Memory Test Level\r
-  ///\r
-  EXTENDMEM_COVERAGE_LEVEL  MemoryTestLevel;\r
-};\r
-\r
-/**\r
-  Platform Bds init. Include the platform firmware vendor, revision\r
-  and so crc check.\r
-\r
-  @param  PrivateData             The EFI_BDS_ARCH_PROTOCOL_INSTANCE instance\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsInit (\r
-  IN EFI_BDS_ARCH_PROTOCOL_INSTANCE  *PrivateData\r
-  );\r
-\r
-/**\r
-  The function will excute with as the platform policy, current policy\r
-  is driven by boot mode. IBV/OEM can customize this code for their specific\r
-  policy action.\r
-\r
-  @param  PrivateData             The EFI_BDS_ARCH_PROTOCOL_INSTANCE instance\r
-  @param  DriverOptionList        The header of the driver option link list\r
-  @param  BootOptionList          The header of the boot option link list\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsPolicyBehavior (\r
-  IN EFI_BDS_ARCH_PROTOCOL_INSTANCE  *PrivateData,\r
-  IN LIST_ENTRY                      *DriverOptionList,\r
-  IN LIST_ENTRY                      *BootOptionList\r
-  );\r
-\r
-/**\r
-  Hook point after a boot attempt fails.\r
-\r
-  @param  Option                  Pointer to Boot Option that failed to boot.\r
-  @param  Status                  Status returned from failed boot.\r
-  @param  ExitData                Exit data returned from failed boot.\r
-  @param  ExitDataSize            Exit data size returned from failed boot.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsBootFail (\r
-  IN  BDS_COMMON_OPTION  *Option,\r
-  IN  EFI_STATUS         Status,\r
-  IN  CHAR16             *ExitData,\r
-  IN  UINTN              ExitDataSize\r
-  );\r
-\r
-/**\r
-  Hook point after a boot attempt succeeds. We don't expect a boot option to\r
-  return, so the UEFI 2.0 specification defines that you will default to an\r
-  interactive mode and stop processing the BootOrder list in this case. This\r
-  is alos a platform implementation and can be customized by IBV/OEM.\r
-\r
-  @param  Option                  Pointer to Boot Option that succeeded to boot.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsBootSuccess (\r
-  IN  BDS_COMMON_OPTION *Option\r
-  );\r
-\r
-\r
-/**\r
-  This function locks platform flash that is not allowed to be updated during normal boot path.\r
-  The flash layout is platform specific.\r
-\r
-  @retval EFI_SUCCESS             The non-updatable flash areas.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PlatformBdsLockNonUpdatableFlash (\r
-  VOID\r
-  );\r
-#endif\r
index 3ac36d9f8c07c9fa2bfefe2f427f38a10e65128e..91d7f5a2c411b5184d6c82616f06cdff1298f62c 100644 (file)
@@ -35,7 +35,7 @@
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
+  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
 \r
 [LibraryClasses]\r
   BaseLib\r
index 51b716fb0c062a10b6c79c124907c947759e141f..a6511a1572033c9b8277b671593a9ba662ba50b2 100644 (file)
   ##  @libraryclass  Defines a set of interfaces on how to process capusle image update.\r
   CapsuleLib|Include/Library/CapsuleLib.h\r
   \r
-  ##  @libraryclass  Platform BDS library definition about platform specific behavior.\r
-  PlatformBdsLib|Include/Library/PlatformBdsLib.h\r
-  \r
-  ##  @libraryclass  Generic BDS library definition, include the data structure and function.\r
-  GenericBdsLib|Include/Library/GenericBdsLib.h\r
-  \r
   ##  @libraryclass  Library for Deferred Procedure Calls.\r
   DpcLib|Include/Library/DpcLib.h\r
 \r
index e436386c9c8ca7511abf94eab6a9e88ab411965b..4f206025e5dd6d6e0a5d7ac94e0caa40e25a6788 100644 (file)
   ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  PlatformBdsLib|MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf\r
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  PlatformBdsLib|MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf\r
   PlatformDriverOverrideLib|MdeModulePkg/Library/DxePlatDriOverLib/DxePlatDriOverLib.inf\r
   OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
   \r
 [LibraryClasses.IA32]\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
   MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
   MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf\r
   MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf\r
-  MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf\r
   MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf\r
   MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
   MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf\r