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
This commit is contained in:
qhuang8 2008-04-09 05:41:16 +00:00
parent 83d26a8193
commit e2270e40a4
1 changed files with 59 additions and 20 deletions

View File

@ -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. <BR>
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 (