peilib.h
来自「EFI BIOS是Intel提出的下一代的BIOS标准。这里上传的Edk源代码是」· C头文件 代码 · 共 842 行 · 第 1/2 页
H
842 行
PeiServices - The PEI core services table.
Guid - The GUID of the custome HOB type
Data - The data to be copied into the GUIDed HOB data field.
DataLength - The data field length.
Returns:
EFI_SUCCESS - Hob is successfully built.
Others - Errors occur while creating new Hob
--*/
;
EFI_STATUS
PeiBuildHobFv (
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_PHYSICAL_ADDRESS BaseAddress,
IN UINT64 Length
)
/*++
Routine Description:
Builds a Firmware Volume HOB
Arguments:
PeiServices - The PEI core services table.
BaseAddress - The base address of the Firmware Volume
Length - The size of the Firmware Volume in bytes
Returns:
EFI_SUCCESS - Hob is successfully built.
Others - Errors occur while creating new Hob
--*/
;
EFI_STATUS
PeiBuildHobCpu (
IN EFI_PEI_SERVICES **PeiServices,
IN UINT8 SizeOfMemorySpace,
IN UINT8 SizeOfIoSpace
)
/*++
Routine Description:
Builds a HOB for the CPU
Arguments:
PeiServices - The PEI core services table.
SizeOfMemorySpace - Identifies the maximum
physical memory addressibility of the processor.
SizeOfIoSpace - Identifies the maximum physical I/O addressibility
of the processor.
Returns:
EFI_SUCCESS - Hob is successfully built.
Others - Errors occur while creating new Hob
--*/
;
EFI_STATUS
PeiBuildHobStack (
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_PHYSICAL_ADDRESS BaseAddress,
IN UINT64 Length
)
/*++
Routine Description:
Builds a HOB for the Stack
Arguments:
PeiServices - The PEI core services table.
BaseAddress - The 64 bit physical address of the Stack
Length - The length of the stack in bytes
Returns:
EFI_SUCCESS - Hob is successfully built.
Others - Errors occur while creating new Hob
--*/
;
EFI_STATUS
PeiBuildHobBspStore (
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_PHYSICAL_ADDRESS BaseAddress,
IN UINT64 Length,
IN EFI_MEMORY_TYPE MemoryType
)
/*++
Routine Description:
Builds a HOB for the bsp store
Arguments:
PeiServices - The PEI core services table.
BaseAddress - The 64 bit physical address of the bsp store
Length - The length of the bsp store in bytes
MemoryType - Memory type
Returns:
EFI_SUCCESS - Hob is successfully built.
Others - Errors occur while creating new Hob
--*/
;
EFI_STATUS
PeiBuildHobMemoryAllocation (
IN EFI_PEI_SERVICES **PeiServices,
IN EFI_PHYSICAL_ADDRESS BaseAddress,
IN UINT64 Length,
IN EFI_GUID *Name,
IN EFI_MEMORY_TYPE MemoryType
)
/*++
Routine Description:
Builds a HOB for the memory allocation
Arguments:
PeiServices - The PEI core services table.
BaseAddress - The 64 bit physical address of the memory
Length - The length of the memory allocation in bytes
Name - Name for Hob
MemoryType - Memory type
Returns:
EFI_SUCCESS - Hob is successfully built.
Others - Errors occur while creating new Hob
--*/
;
//
// print.c
//
UINTN
AvSPrint (
OUT CHAR8 *StartOfBuffer,
IN UINTN StrSize,
IN CONST CHAR8 *Format,
IN VA_LIST Marker
)
/*++
Routine Description:
AvSPrint function to process format and place the results in Buffer. Since a
VA_LIST is used this rountine allows the nesting of Vararg routines. Thus
this is the main print working routine
Arguments:
StartOfBuffer - Ascii buffer to print the results of the parsing of Format into.
StrSize - Maximum number of characters to put into buffer. Zero means
no limit.
FormatString - Ascii format string see file header for more details.
Marker - Vararg list consumed by processing Format.
Returns:
Number of characters printed.
--*/
;
UINTN
ASPrint (
OUT CHAR8 *Buffer,
IN UINTN BufferSize,
IN CONST CHAR8 *Format,
...
)
/*++
Routine Description:
ASPrint function to process format and place the results in Buffer.
Arguments:
Buffer - Ascii buffer to print the results of the parsing of Format into.
BufferSize - Maximum number of characters to put into buffer. Zero means no
limit.
Format - Ascii format string see file header for more details.
... - Vararg list consumed by processing Format.
Returns:
Number of characters printed.
--*/
;
//
// math.c
//
UINT64
MultU64x32 (
IN UINT64 Multiplicand,
IN UINTN Multiplier
)
/*++
Routine Description:
This routine allows a 64 bit value to be multiplied with a 32 bit
value returns 64bit result.
No checking if the result is greater than 64bits
Arguments:
Multiplicand - multiplicand
Multiplier - multiplier
Returns:
Multiplicand * Multiplier
--*/
;
UINT64
DivU64x32 (
IN UINT64 Dividend,
IN UINTN Divisor,
OUT UINTN *Remainder OPTIONAL
)
/*++
Routine Description:
This routine allows a 64 bit value to be divided with a 32 bit value returns
64bit result and the Remainder.
N.B. only works for 31bit divisors!!
Arguments:
Dividend - dividend
Divisor - divisor
Remainder - buffer for remainder
Returns:
Dividend / Divisor
Remainder = Dividend mod Divisor
--*/
;
UINT64
RShiftU64 (
IN UINT64 Operand,
IN UINTN Count
)
/*++
Routine Description:
This routine allows a 64 bit value to be right shifted by 32 bits and returns the
shifted value.
Count is valid up 63. (Only Bits 0-5 is valid for Count)
Arguments:
Operand - Value to be shifted
Count - Number of times to shift right.
Returns:
Value shifted right identified by the Count.
--*/
;
UINT64
LShiftU64 (
IN UINT64 Operand,
IN UINTN Count
)
/*++
Routine Description:
This routine allows a 64 bit value to be left shifted by 32 bits and
returns the shifted value.
Count is valid up 63. (Only Bits 0-5 is valid for Count)
Arguments:
Operand - Value to be shifted
Count - Number of times to shift left.
Returns:
Value shifted left identified by the Count.
--*/
;
VOID
RegisterNativeCpuIo (
IN EFI_PEI_SERVICES **PeiServices,
IN VOID *CpuIo
)
/*++
Routine Description:
Register a native Cpu IO
Arguments:
PeiServices - Calling context
CpuIo - CpuIo instance to register
Returns:
None
--*/
;
VOID
GetNativeCpuIo (
IN EFI_PEI_SERVICES **PeiServices,
OUT VOID **CpuIo
)
/*++
Routine Description:
Get registered Cpu IO.
Arguments:
PeiServices - Calling context
CpuIo - CpuIo instance registered before
Returns:
None
--*/
;
EFI_STATUS
FindFv (
IN EFI_FIND_FV_PPI *This,
IN EFI_PEI_SERVICES **PeiServices,
IN OUT UINT8 *FvNumber,
IN OUT EFI_FIRMWARE_VOLUME_HEADER **FVAddress
)
/*++
Routine Description:
Search Fv in Hob.
Arguments:
This - Interface pointer that implement the Find Fv PPI
PeiServices - Pointer to the PEI Service Table
FvNumber - On input, the number of the fireware volume which supports FFS to locate
On output, the next FV number which supports FFS.
FVAddress - The address of the volume which supports FFS to discover
Returns:
EFI_SUCCESS - An addtional FV which supports FFS found
EFI_OUT_OF_RESOURCES - There are no fireware volume which supports FFS for given fvnumber
EFI_INVALID_PARAMETER - FvAddress is NULL
--*/
;
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?