Add in the 1st version of ECP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
298
EdkCompatibilityPkg/Foundation/Library/Dxe/Include/EfiHobLib.h
Normal file
298
EdkCompatibilityPkg/Foundation/Library/Dxe/Include/EfiHobLib.h
Normal file
@@ -0,0 +1,298 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
EfiHobLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_HOB_LIB_H_
|
||||
#define _EFI_HOB_LIB_H_
|
||||
|
||||
#include "PeiHob.h"
|
||||
|
||||
VOID *
|
||||
GetHob (
|
||||
IN UINT16 Type,
|
||||
IN VOID *HobStart
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
This function returns the first instance of a HOB type in a HOB list.
|
||||
|
||||
Arguments:
|
||||
|
||||
Type The HOB type to return.
|
||||
HobStart The first HOB in the HOB list.
|
||||
|
||||
Returns:
|
||||
|
||||
HobStart There were no HOBs found with the requested type.
|
||||
else Returns the first HOB with the matching type.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
UINTN
|
||||
GetHobListSize (
|
||||
IN VOID *HobStart
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get size of hob list.
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
Returns:
|
||||
|
||||
Size of hob list.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
UINT32
|
||||
GetHobVersion (
|
||||
IN VOID *HobStart
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get hob version.
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
Returns:
|
||||
|
||||
Hob version.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
GetHobBootMode (
|
||||
IN VOID *HobStart,
|
||||
OUT EFI_BOOT_MODE *BootMode
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get current boot mode.
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
BootMode - Current boot mode recorded in PHIT hob
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_NOT_FOUND - Invalid hob header
|
||||
|
||||
EFI_SUCCESS - Boot mode found
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
GetCpuHobInfo (
|
||||
IN VOID *HobStart,
|
||||
OUT UINT8 *SizeOfMemorySpace,
|
||||
OUT UINT8 *SizeOfIoSpace
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get information recorded in CPU hob (Memory space size, Io space size)
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
SizeOfMemorySpace - Size of memory size
|
||||
|
||||
SizeOfIoSpace - Size of IO size
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_NOT_FOUND - CPU hob not found
|
||||
|
||||
EFI_SUCCESS - CPU hob found and information got.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
GetDxeCoreHobInfo (
|
||||
IN VOID *HobStart,
|
||||
OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
|
||||
OUT UINT64 *Length,
|
||||
OUT VOID **EntryPoint,
|
||||
OUT EFI_GUID **FileName
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get memory allocation hob created for DXE core and extract its information
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of the hob list
|
||||
|
||||
BaseAddress - Start address of memory allocated for DXE core
|
||||
|
||||
Length - Length of memory allocated for DXE core
|
||||
|
||||
EntryPoint - DXE core file name
|
||||
|
||||
FileName - FileName
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_NOT_FOUND - DxeCoreHob not found
|
||||
|
||||
EFI_SUCCESS - DxeCoreHob found and information got
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
GetNextFirmwareVolumeHob (
|
||||
IN OUT VOID **HobStart,
|
||||
OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
|
||||
OUT UINT64 *Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get next firmware volume hob from HobStart
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
BaseAddress - Start address of next firmware volume
|
||||
|
||||
Length - Length of next firmware volume
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_NOT_FOUND - Next firmware volume not found
|
||||
|
||||
EFI_SUCCESS - Next firmware volume found with address information
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION >= 0x00010000)
|
||||
EFI_STATUS
|
||||
GetNextFirmwareVolume2Hob (
|
||||
IN OUT VOID **HobStart,
|
||||
OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
|
||||
OUT UINT64 *Length,
|
||||
OUT EFI_GUID *FileName
|
||||
)
|
||||
;
|
||||
#endif
|
||||
|
||||
EFI_STATUS
|
||||
GetNextGuidHob (
|
||||
IN OUT VOID **HobStart,
|
||||
IN EFI_GUID * Guid,
|
||||
OUT VOID **Buffer,
|
||||
OUT UINTN *BufferSize OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Get the next guid hob.
|
||||
|
||||
Arguments:
|
||||
HobStart A pointer to the start hob.
|
||||
Guid A pointer to a guid.
|
||||
Buffer A pointer to the buffer.
|
||||
BufferSize Buffer size.
|
||||
|
||||
Returns:
|
||||
Status code.
|
||||
|
||||
EFI_NOT_FOUND - Next Guid hob not found
|
||||
|
||||
EFI_SUCCESS - Next Guid hob found and data for this Guid got
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
GetPalEntryHobInfo (
|
||||
IN VOID *HobStart,
|
||||
OUT EFI_PHYSICAL_ADDRESS *PalEntry
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get PAL entry from PalEntryHob
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
PalEntry - Pointer to PAL entry
|
||||
|
||||
Returns:
|
||||
|
||||
Status code.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
GetIoPortSpaceAddressHobInfo (
|
||||
IN VOID *HobStart,
|
||||
OUT EFI_PHYSICAL_ADDRESS *IoPortSpaceAddress
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Get IO port space address from IoBaseHob.
|
||||
|
||||
Arguments:
|
||||
|
||||
HobStart - Start pointer of hob list
|
||||
|
||||
IoPortSpaceAddress - IO port space address
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user