From e2270e40a4b29e767dc9678cea042ce5ecdfde36 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Wed, 9 Apr 2008 05:41:16 +0000 Subject: Add function headers & file header for PlatformBdsLib git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5022 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Library/PlatformBdsLib.h | 79 ++++++++++++++++++++------- 1 file changed, 59 insertions(+), 20 deletions(-) (limited to 'MdeModulePkg') diff --git a/MdeModulePkg/Include/Library/PlatformBdsLib.h b/MdeModulePkg/Include/Library/PlatformBdsLib.h index cc11824..c24e29a 100644 --- a/MdeModulePkg/Include/Library/PlatformBdsLib.h +++ b/MdeModulePkg/Include/Library/PlatformBdsLib.h @@ -1,23 +1,17 @@ -/*++ +/** @file + Platform BDS library definition. Platform package can provide hook library + instances to implement platform specific behavior. -Copyright (c) 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. +Copyright (c) 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 -Module Name: +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - PlatformBdsLib.h - -Abstract: - - Platform BDS library definition, include the file and data structure - ---*/ +**/ #ifndef __PLATFORM_BDS_LIB_H_ #define __PLATFORM_BDS_LIB_H_ @@ -54,9 +48,15 @@ struct _EFI_BDS_ARCH_PROTOCOL_INSTANCE { EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel; }; -// -// Platform BDS Functions -// +/** + Platform Bds init. Incude the platform firmware vendor, revision + and so crc check. + + @param PrivateData The EFI_BDS_ARCH_PROTOCOL_INSTANCE instance + + @return None. + +**/ VOID EFIAPI PlatformBdsInit ( @@ -64,6 +64,16 @@ PlatformBdsInit ( ) ; +/** + The function will excute 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 ( @@ -73,8 +83,19 @@ PlatformBdsPolicyBehavior ( ) ; +/** + 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. + + @return None. +**/ VOID +EFIAPI PlatformBdsBootFail ( IN BDS_COMMON_OPTION *Option, IN EFI_STATUS Status, @@ -83,12 +104,30 @@ PlatformBdsBootFail ( ) ; +/** + 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 alos 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 ) ; + +/** + 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. + @retval Others Some error occurs when locking non-updatable flash areas. +**/ EFI_STATUS EFIAPI PlatformBdsLockNonUpdatableFlash ( -- cgit v1.1