-/** @file\r
- This file include all platform action which can be customized by IBV/OEM.\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
-#include "BdsPlatform.h"\r
-\r
-//\r
-// BDS Platform Functions\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
- return;\r
-}\r
-\r
-/**\r
- Connect the predefined platform default console device. Always try to find\r
- and enable the vga device if have.\r
-\r
- @param PlatformConsole Predefined platform default console device array.\r
-\r
- @retval EFI_SUCCESS Success connect at least one ConIn and ConOut\r
- device, there must have one ConOut device is\r
- active vga device.\r
- @return Return the status of BdsLibConnectAllDefaultConsoles ()\r
-\r
-**/\r
-EFI_STATUS\r
-PlatformBdsConnectConsole (\r
- IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
- )\r
-{\r
- return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
- Connect with predefined platform connect sequence,\r
- the OEM/IBV can customize with their own connect sequence.\r
-**/\r
-VOID\r
-PlatformBdsConnectSequence (\r
- VOID\r
- )\r
-{\r
- return;\r
-}\r
-\r
-/**\r
- Load the predefined driver option, OEM/IBV can customize this\r
- to load their own drivers\r
-\r
- @param BdsDriverLists - The header of the driver option link list.\r
-\r
-**/\r
-VOID\r
-PlatformBdsGetDriverOption (\r
- IN OUT LIST_ENTRY *BdsDriverLists\r
- )\r
-{\r
- return;\r
-}\r
-\r
-/**\r
- Perform the platform diagnostic, such like test memory. OEM/IBV also\r
- can customize this function to support specific platform diagnostic.\r
-\r
- @param MemoryTestLevel The memory test intensive level\r
- @param QuietBoot Indicate if need to enable the quiet boot\r
-\r
-**/\r
-VOID\r
-PlatformBdsDiagnostics (\r
- IN EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel,\r
- IN BOOLEAN QuietBoot\r
- )\r
-{\r
- return;\r
-}\r
-\r
-/**\r
- The function will execute 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
- return ;\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 also 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
- return;\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
- return;\r
-}\r
-\r
-/**\r
- This function is remained for IBV/OEM to do some platform action,\r
- if there no console device can be connected.\r
-\r
- @return EFI_SUCCESS Direct return success now.\r
-\r
-**/\r
-EFI_STATUS\r
-PlatformBdsNoConsoleAction (\r
- VOID\r
- )\r
-{\r
- return EFI_SUCCESS;\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
-{\r
- return EFI_SUCCESS;\r
-}\r