From ddac74d1760c8fbaf613249e17b160a00d25328e Mon Sep 17 00:00:00 2001 From: klu2 Date: Tue, 24 Feb 2009 15:53:05 +0000 Subject: Move library class GenericBdsLib and PlatformBdsLib to IntelFrameworkModulePkg git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7657 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/PlatformBdsLibNull/BdsPlatform.c | 188 +++++++++++++++++++++ .../Library/PlatformBdsLibNull/BdsPlatform.h | 30 ++++ .../PlatformBdsLibNull/PlatformBdsLibNull.inf | 48 ++++++ .../Library/PlatformBdsLibNull/PlatformData.c | 45 +++++ 4 files changed, 311 insertions(+) create mode 100644 IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.c create mode 100644 IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.h create mode 100644 IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf create mode 100644 IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformData.c (limited to 'IntelFrameworkModulePkg/Library/PlatformBdsLibNull') diff --git a/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.c b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.c new file mode 100644 index 0000000000..f202c9778a --- /dev/null +++ b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.c @@ -0,0 +1,188 @@ +/** @file + This file include all platform action which can be customized by IBV/OEM. + +Copyright (c) 2004 - 2008, 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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include "BdsPlatform.h" + +// +// BDS Platform Functions +// +/** + Platform Bds init. Include the platform firmware vendor, revision + and so crc check. + + @param PrivateData The EFI_BDS_ARCH_PROTOCOL_INSTANCE instance + +**/ +VOID +EFIAPI +PlatformBdsInit ( + IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData + ) +{ + return; +} + +/** + Connect the predefined platform default console device. Always try to find + and enable the vga device if have. + + @param PlatformConsole Predefined platform default console device array. + + @retval EFI_SUCCESS Success connect at least one ConIn and ConOut + device, there must have one ConOut device is + active vga device. + @return Return the status of BdsLibConnectAllDefaultConsoles () + +**/ +EFI_STATUS +PlatformBdsConnectConsole ( + IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole + ) +{ + return EFI_SUCCESS; +} + +/** + Connect with predefined platform connect sequence, + the OEM/IBV can customize with their own connect sequence. +**/ +VOID +PlatformBdsConnectSequence ( + VOID + ) +{ + return; +} + +/** + Load the predefined driver option, OEM/IBV can customize this + to load their own drivers + + @param BdsDriverLists - The header of the driver option link list. + +**/ +VOID +PlatformBdsGetDriverOption ( + IN OUT LIST_ENTRY *BdsDriverLists + ) +{ + return; +} + +/** + Perform the platform diagnostic, such like test memory. OEM/IBV also + can customize this function to support specific platform diagnostic. + + @param MemoryTestLevel The memory test intensive level + @param QuietBoot Indicate if need to enable the quiet boot + +**/ +VOID +PlatformBdsDiagnostics ( + IN EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel, + IN BOOLEAN QuietBoot + ) +{ + return; +} + +/** + The function will execute with as the platform policy, current policy + is driven by boot mode. IBV/OEM can customize this code for their specific + policy action. + + @param PrivateData The EFI_BDS_ARCH_PROTOCOL_INSTANCE instance + @param DriverOptionList The header of the driver option link list + @param BootOptionList The header of the boot option link list + +**/ +VOID +EFIAPI +PlatformBdsPolicyBehavior ( + IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData, + IN LIST_ENTRY *DriverOptionList, + IN LIST_ENTRY *BootOptionList + ) +{ + return ; +} + +/** + Hook point after a boot attempt succeeds. We don't expect a boot option to + return, so the UEFI 2.0 specification defines that you will default to an + interactive mode and stop processing the BootOrder list in this case. This + is also a platform implementation and can be customized by IBV/OEM. + + @param Option Pointer to Boot Option that succeeded to boot. + +**/ +VOID +EFIAPI +PlatformBdsBootSuccess ( + IN BDS_COMMON_OPTION *Option + ) +{ + return; +} + +/** + Hook point after a boot attempt fails. + + @param Option Pointer to Boot Option that failed to boot. + @param Status Status returned from failed boot. + @param ExitData Exit data returned from failed boot. + @param ExitDataSize Exit data size returned from failed boot. + +**/ +VOID +EFIAPI +PlatformBdsBootFail ( + IN BDS_COMMON_OPTION *Option, + IN EFI_STATUS Status, + IN CHAR16 *ExitData, + IN UINTN ExitDataSize + ) +{ + return; +} + +/** + This function is remained for IBV/OEM to do some platform action, + if there no console device can be connected. + + @return EFI_SUCCESS Direct return success now. + +**/ +EFI_STATUS +PlatformBdsNoConsoleAction ( + VOID + ) +{ + return EFI_SUCCESS; +} + +/** + This function locks platform flash that is not allowed to be updated during normal boot path. + The flash layout is platform specific. + + @retval EFI_SUCCESS The non-updatable flash areas. +**/ +EFI_STATUS +EFIAPI +PlatformBdsLockNonUpdatableFlash ( + VOID + ) +{ + return EFI_SUCCESS; +} diff --git a/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.h b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.h new file mode 100644 index 0000000000..165ad3b1f2 --- /dev/null +++ b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/BdsPlatform.h @@ -0,0 +1,30 @@ +/** @file + Head file for BDS Platform specific code + +Copyright (c) 2004 - 2008, 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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _BDS_PLATFORM_H_ +#define _BDS_PLATFORM_H_ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + + +#endif // _BDS_PLATFORM_H diff --git a/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf new file mode 100644 index 0000000000..004bd3abf0 --- /dev/null +++ b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf @@ -0,0 +1,48 @@ +#/** @file +# +# Provide NULL implementation for PlatformBdsLib library class interfaces which +# should be implemented by OEM. +# +# Copyright (c) 2007 - 2008, 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 +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = PlatformBdsLib + FILE_GUID = 143B5044-7C1B-4904-9778-EA16F1F3D554 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = PlatformBdsLib|DXE_DRIVER + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[Sources.common] + BdsPlatform.c + PlatformData.c + BdsPlatform.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec + +[LibraryClasses] + BaseLib + MemoryAllocationLib + UefiBootServicesTableLib + BaseMemoryLib + DebugLib + PcdLib + GenericBdsLib \ No newline at end of file diff --git a/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformData.c b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformData.c new file mode 100644 index 0000000000..a8763487b3 --- /dev/null +++ b/IntelFrameworkModulePkg/Library/PlatformBdsLibNull/PlatformData.c @@ -0,0 +1,45 @@ +/** @file + Defined the platform specific device path which will be used by + platform Bbd to perform the platform policy connect. + +Copyright (c) 2004 - 2008, 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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include "BdsPlatform.h" + +/// +/// Predefined platform default time out value +/// +UINT16 gPlatformBootTimeOutDefault = 10; + +// +// Platform specific keyboard device path +// + +/// +/// Predefined platform default console device path +/// +BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[] = { + { + NULL, + 0 + } +}; + +/// +/// Predefined platform specific driver option +/// +EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[] = { NULL }; + +/// +/// Predefined platform connect sequence +/// +EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[] = { NULL }; -- cgit v1.2.3