MdeModulePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@ -1,25 +1,25 @@
|
||||
/** @file
|
||||
Support routines for memory allocation routines based
|
||||
Support routines for memory allocation routines based
|
||||
on SMM Services Table services for SMM phase drivers, with memory profile support.
|
||||
|
||||
|
||||
The PI System Management Mode Core Interface Specification only allows the use
|
||||
of EfiRuntimeServicesCode and EfiRuntimeServicesData memory types for memory
|
||||
allocations through the SMM Services Table as the SMRAM space should be
|
||||
of EfiRuntimeServicesCode and EfiRuntimeServicesData memory types for memory
|
||||
allocations through the SMM Services Table as the SMRAM space should be
|
||||
reserved after BDS phase. The functions in the Memory Allocation Library use
|
||||
EfiBootServicesData as the default memory allocation type. For this SMM
|
||||
specific instance of the Memory Allocation Library, EfiRuntimeServicesData
|
||||
is used as the default memory type for all allocations. In addition,
|
||||
allocation for the Reserved memory types are not supported and will always
|
||||
EfiBootServicesData as the default memory allocation type. For this SMM
|
||||
specific instance of the Memory Allocation Library, EfiRuntimeServicesData
|
||||
is used as the default memory type for all allocations. In addition,
|
||||
allocation for the Reserved memory types are not supported and will always
|
||||
return NULL.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@ -39,10 +39,10 @@ UINTN mSmramRangeCount;
|
||||
|
||||
/**
|
||||
The constructor function caches SMRAM ranges that are present in the system.
|
||||
|
||||
|
||||
It will ASSERT() if SMM Access2 Protocol doesn't exist.
|
||||
It will ASSERT() if SMRAM ranges can't be got.
|
||||
It will ASSERT() if Resource can't be allocated for cache SMRAM range.
|
||||
It will ASSERT() if Resource can't be allocated for cache SMRAM range.
|
||||
It will always return EFI_SUCCESS.
|
||||
|
||||
@param ImageHandle The firmware allocated handle for the EFI image.
|
||||
@ -66,8 +66,8 @@ SmmMemoryAllocationLibConstructor (
|
||||
// Locate SMM Access2 Protocol
|
||||
//
|
||||
Status = gBS->LocateProtocol (
|
||||
&gEfiSmmAccess2ProtocolGuid,
|
||||
NULL,
|
||||
&gEfiSmmAccess2ProtocolGuid,
|
||||
NULL,
|
||||
(VOID **)&SmmAccess
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
@ -91,7 +91,7 @@ SmmMemoryAllocationLibConstructor (
|
||||
}
|
||||
|
||||
/**
|
||||
If SMM driver exits with an error, it must call this routine
|
||||
If SMM driver exits with an error, it must call this routine
|
||||
to free the allocated resource before the exiting.
|
||||
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@ -128,7 +128,7 @@ BufferInSmram (
|
||||
UINTN Index;
|
||||
|
||||
for (Index = 0; Index < mSmramRangeCount; Index ++) {
|
||||
if (((EFI_PHYSICAL_ADDRESS) (UINTN) Buffer >= mSmramRanges[Index].CpuStart) &&
|
||||
if (((EFI_PHYSICAL_ADDRESS) (UINTN) Buffer >= mSmramRanges[Index].CpuStart) &&
|
||||
((EFI_PHYSICAL_ADDRESS) (UINTN) Buffer < (mSmramRanges[Index].CpuStart + mSmramRanges[Index].PhysicalSize))) {
|
||||
return TRUE;
|
||||
}
|
||||
@ -140,9 +140,9 @@ BufferInSmram (
|
||||
/**
|
||||
Allocates one or more 4KB pages of a certain memory type.
|
||||
|
||||
Allocates the number of 4KB pages of a certain memory type and returns a pointer
|
||||
to the allocated buffer. The buffer returned is aligned on a 4KB boundary. If
|
||||
Pages is 0, then NULL is returned. If there is not enough memory remaining to
|
||||
Allocates the number of 4KB pages of a certain memory type and returns a pointer
|
||||
to the allocated buffer. The buffer returned is aligned on a 4KB boundary. If
|
||||
Pages is 0, then NULL is returned. If there is not enough memory remaining to
|
||||
satisfy the request, then NULL is returned.
|
||||
|
||||
@param MemoryType The type of memory to allocate.
|
||||
@ -153,12 +153,12 @@ BufferInSmram (
|
||||
**/
|
||||
VOID *
|
||||
InternalAllocatePages (
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_PHYSICAL_ADDRESS Memory;
|
||||
EFI_PHYSICAL_ADDRESS Memory;
|
||||
|
||||
if (Pages == 0) {
|
||||
return NULL;
|
||||
@ -174,9 +174,9 @@ InternalAllocatePages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns a pointer
|
||||
to the allocated buffer. The buffer returned is aligned on a 4KB boundary. If
|
||||
Pages is 0, then NULL is returned. If there is not enough memory remaining to
|
||||
Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns a pointer
|
||||
to the allocated buffer. The buffer returned is aligned on a 4KB boundary. If
|
||||
Pages is 0, then NULL is returned. If there is not enough memory remaining to
|
||||
satisfy the request, then NULL is returned.
|
||||
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@ -209,9 +209,9 @@ AllocatePages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns a
|
||||
pointer to the allocated buffer. The buffer returned is aligned on a 4KB boundary.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory remaining
|
||||
Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns a
|
||||
pointer to the allocated buffer. The buffer returned is aligned on a 4KB boundary.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory remaining
|
||||
to satisfy the request, then NULL is returned.
|
||||
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@ -244,9 +244,9 @@ AllocateRuntimePages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of type EfiReservedMemoryType.
|
||||
|
||||
Allocates the number of 4KB pages of type EfiReservedMemoryType and returns a
|
||||
pointer to the allocated buffer. The buffer returned is aligned on a 4KB boundary.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory remaining
|
||||
Allocates the number of 4KB pages of type EfiReservedMemoryType and returns a
|
||||
pointer to the allocated buffer. The buffer returned is aligned on a 4KB boundary.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory remaining
|
||||
to satisfy the request, then NULL is returned.
|
||||
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@ -267,15 +267,15 @@ AllocateReservedPages (
|
||||
Frees one or more 4KB pages that were previously allocated with one of the page allocation
|
||||
functions in the Memory Allocation Library.
|
||||
|
||||
Frees the number of 4KB pages specified by Pages from the buffer specified by Buffer.
|
||||
Buffer must have been allocated on a previous call to the page allocation services
|
||||
of the Memory Allocation Library. If it is not possible to free allocated pages,
|
||||
Frees the number of 4KB pages specified by Pages from the buffer specified by Buffer.
|
||||
Buffer must have been allocated on a previous call to the page allocation services
|
||||
of the Memory Allocation Library. If it is not possible to free allocated pages,
|
||||
then this function will perform no actions.
|
||||
|
||||
If Buffer was not allocated with a page allocation function in the Memory Allocation
|
||||
|
||||
If Buffer was not allocated with a page allocation function in the Memory Allocation
|
||||
Library, then ASSERT().
|
||||
If Pages is zero, then ASSERT().
|
||||
|
||||
|
||||
@param Buffer The pointer to the buffer of pages to free.
|
||||
@param Pages The number of 4 KB pages to free.
|
||||
|
||||
@ -309,16 +309,16 @@ FreePages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of a certain memory type at a specified alignment.
|
||||
|
||||
Allocates the number of 4KB pages specified by Pages of a certain memory type
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
Allocates the number of 4KB pages specified by Pages of a certain memory type
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
specified alignment remaining to satisfy the request, then NULL is returned.
|
||||
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
|
||||
If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
|
||||
|
||||
@param MemoryType The type of memory to allocate.
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
Must be a power of two.
|
||||
If Alignment is zero, then byte alignment is used.
|
||||
|
||||
@ -327,7 +327,7 @@ FreePages (
|
||||
**/
|
||||
VOID *
|
||||
InternalAllocateAlignedPages (
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages,
|
||||
IN UINTN Alignment
|
||||
)
|
||||
@ -343,7 +343,7 @@ InternalAllocateAlignedPages (
|
||||
// Alignment must be a power of two or zero.
|
||||
//
|
||||
ASSERT ((Alignment & (Alignment - 1)) == 0);
|
||||
|
||||
|
||||
if (Pages == 0) {
|
||||
return NULL;
|
||||
}
|
||||
@ -357,7 +357,7 @@ InternalAllocateAlignedPages (
|
||||
// Make sure that Pages plus EFI_SIZE_TO_PAGES (Alignment) does not overflow.
|
||||
//
|
||||
ASSERT (RealPages > Pages);
|
||||
|
||||
|
||||
Status = gSmst->SmmAllocatePages (AllocateAnyPages, MemoryType, RealPages, &Memory);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
@ -396,16 +396,16 @@ InternalAllocateAlignedPages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of type EfiRuntimeServicesData at a specified alignment.
|
||||
|
||||
Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
specified alignment remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
|
||||
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
|
||||
If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
|
||||
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
Must be a power of two.
|
||||
If Alignment is zero, then byte alignment is used.
|
||||
|
||||
@ -438,16 +438,16 @@ AllocateAlignedPages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of type EfiRuntimeServicesData at a specified alignment.
|
||||
|
||||
Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
specified alignment remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
|
||||
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
|
||||
If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
|
||||
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
Must be a power of two.
|
||||
If Alignment is zero, then byte alignment is used.
|
||||
|
||||
@ -480,16 +480,16 @@ AllocateAlignedRuntimePages (
|
||||
/**
|
||||
Allocates one or more 4KB pages of type EfiReservedMemoryType at a specified alignment.
|
||||
|
||||
Allocates the number of 4KB pages specified by Pages of type EfiReservedMemoryType
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
Allocates the number of 4KB pages specified by Pages of type EfiReservedMemoryType
|
||||
with an alignment specified by Alignment. The allocated buffer is returned.
|
||||
If Pages is 0, then NULL is returned. If there is not enough memory at the
|
||||
specified alignment remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
|
||||
If Alignment is not a power of two and Alignment is not zero, then ASSERT().
|
||||
If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
|
||||
|
||||
@param Pages The number of 4 KB pages to allocate.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
@param Alignment The requested alignment of the allocation.
|
||||
Must be a power of two.
|
||||
If Alignment is zero, then byte alignment is used.
|
||||
|
||||
@ -510,15 +510,15 @@ AllocateAlignedReservedPages (
|
||||
Frees one or more 4KB pages that were previously allocated with one of the aligned page
|
||||
allocation functions in the Memory Allocation Library.
|
||||
|
||||
Frees the number of 4KB pages specified by Pages from the buffer specified by
|
||||
Buffer. Buffer must have been allocated on a previous call to the aligned page
|
||||
allocation services of the Memory Allocation Library. If it is not possible to
|
||||
Frees the number of 4KB pages specified by Pages from the buffer specified by
|
||||
Buffer. Buffer must have been allocated on a previous call to the aligned page
|
||||
allocation services of the Memory Allocation Library. If it is not possible to
|
||||
free allocated pages, then this function will perform no actions.
|
||||
|
||||
If Buffer was not allocated with an aligned page allocation function in the
|
||||
|
||||
If Buffer was not allocated with an aligned page allocation function in the
|
||||
Memory Allocation Library, then ASSERT().
|
||||
If Pages is zero, then ASSERT().
|
||||
|
||||
|
||||
@param Buffer The pointer to the buffer of pages to free.
|
||||
@param Pages The number of 4 KB pages to free.
|
||||
|
||||
@ -552,9 +552,9 @@ FreeAlignedPages (
|
||||
/**
|
||||
Allocates a buffer of a certain pool type.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of a certain pool type
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
Allocates the number bytes specified by AllocationSize of a certain pool type
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
satisfy the request, then NULL is returned.
|
||||
|
||||
@param MemoryType The type of memory to allocate.
|
||||
@ -565,7 +565,7 @@ FreeAlignedPages (
|
||||
**/
|
||||
VOID *
|
||||
InternalAllocatePool (
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN AllocationSize
|
||||
)
|
||||
{
|
||||
@ -582,9 +582,9 @@ InternalAllocatePool (
|
||||
/**
|
||||
Allocates a buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
satisfy the request, then NULL is returned.
|
||||
|
||||
@param AllocationSize The number of bytes to allocate.
|
||||
@ -617,9 +617,9 @@ AllocatePool (
|
||||
/**
|
||||
Allocates a buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
satisfy the request, then NULL is returned.
|
||||
|
||||
@param AllocationSize The number of bytes to allocate.
|
||||
@ -652,9 +652,9 @@ AllocateRuntimePool (
|
||||
/**
|
||||
Allocates a buffer of type EfiReservedMemoryType.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType
|
||||
and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
|
||||
valid buffer of 0 size is returned. If there is not enough memory remaining to
|
||||
satisfy the request, then NULL is returned.
|
||||
|
||||
@param AllocationSize The number of bytes to allocate.
|
||||
@ -674,9 +674,9 @@ AllocateReservedPool (
|
||||
/**
|
||||
Allocates and zeros a buffer of a certain pool type.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of a certain pool type,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
Allocates the number bytes specified by AllocationSize of a certain pool type,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
not enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
@param PoolType The type of memory to allocate.
|
||||
@ -687,9 +687,9 @@ AllocateReservedPool (
|
||||
**/
|
||||
VOID *
|
||||
InternalAllocateZeroPool (
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN UINTN AllocationSize
|
||||
)
|
||||
)
|
||||
{
|
||||
VOID *Memory;
|
||||
|
||||
@ -703,9 +703,9 @@ InternalAllocateZeroPool (
|
||||
/**
|
||||
Allocates and zeros a buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
not enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@ -738,9 +738,9 @@ AllocateZeroPool (
|
||||
/**
|
||||
Allocates and zeros a buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
not enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@ -773,9 +773,9 @@ AllocateRuntimeZeroPool (
|
||||
/**
|
||||
Allocates and zeros a buffer of type EfiReservedMemoryType.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType,
|
||||
clears the buffer with zeros, and returns a pointer to the allocated buffer.
|
||||
If AllocationSize is 0, then a valid buffer of 0 size is returned. If there is
|
||||
not enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@ -795,12 +795,12 @@ AllocateReservedZeroPool (
|
||||
/**
|
||||
Copies a buffer to an allocated buffer of a certain pool type.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of a certain pool type,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
Allocates the number bytes specified by AllocationSize of a certain pool type,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
request, then NULL is returned. If Buffer is NULL, then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
|
||||
@param PoolType The type of pool to allocate.
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@ -811,10 +811,10 @@ AllocateReservedZeroPool (
|
||||
**/
|
||||
VOID *
|
||||
InternalAllocateCopyPool (
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN UINTN AllocationSize,
|
||||
IN CONST VOID *Buffer
|
||||
)
|
||||
)
|
||||
{
|
||||
VOID *Memory;
|
||||
|
||||
@ -826,19 +826,19 @@ InternalAllocateCopyPool (
|
||||
Memory = CopyMem (Memory, Buffer, AllocationSize);
|
||||
}
|
||||
return Memory;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Copies a buffer to an allocated buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
request, then NULL is returned.
|
||||
|
||||
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@param Buffer The buffer to copy to the allocated buffer.
|
||||
@ -872,14 +872,14 @@ AllocateCopyPool (
|
||||
/**
|
||||
Copies a buffer to an allocated buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
request, then NULL is returned.
|
||||
|
||||
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@param Buffer The buffer to copy to the allocated buffer.
|
||||
@ -913,14 +913,14 @@ AllocateRuntimeCopyPool (
|
||||
/**
|
||||
Copies a buffer to an allocated buffer of type EfiReservedMemoryType.
|
||||
|
||||
Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType,
|
||||
copies AllocationSize bytes from Buffer to the newly allocated buffer, and returns
|
||||
a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer
|
||||
of 0 size is returned. If there is not enough memory remaining to satisfy the
|
||||
request, then NULL is returned.
|
||||
|
||||
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
|
||||
@param AllocationSize The number of bytes to allocate and zero.
|
||||
@param Buffer The buffer to copy to the allocated buffer.
|
||||
@ -942,19 +942,19 @@ AllocateReservedCopyPool (
|
||||
Reallocates a buffer of a specified memory type.
|
||||
|
||||
Allocates and zeros the number bytes specified by NewSize from memory of the type
|
||||
specified by PoolType. If OldBuffer is not NULL, then the smaller of OldSize and
|
||||
NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
specified by PoolType. If OldBuffer is not NULL, then the smaller of OldSize and
|
||||
NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
and OldSize is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
|
||||
|
||||
@param PoolType The type of pool to allocate.
|
||||
@param OldSize The size, in bytes, of OldBuffer.
|
||||
@param NewSize The size, in bytes, of the buffer to reallocate.
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
optional parameter that may be NULL.
|
||||
|
||||
@return A pointer to the allocated buffer or NULL if allocation fails.
|
||||
@ -962,7 +962,7 @@ AllocateReservedCopyPool (
|
||||
**/
|
||||
VOID *
|
||||
InternalReallocatePool (
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN UINTN OldSize,
|
||||
IN UINTN NewSize,
|
||||
IN VOID *OldBuffer OPTIONAL
|
||||
@ -982,18 +982,18 @@ InternalReallocatePool (
|
||||
Reallocates a buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates and zeros the number bytes specified by NewSize from memory of type
|
||||
EfiRuntimeServicesData. If OldBuffer is not NULL, then the smaller of OldSize and
|
||||
NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
EfiRuntimeServicesData. If OldBuffer is not NULL, then the smaller of OldSize and
|
||||
NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
and OldSize is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
|
||||
|
||||
@param OldSize The size, in bytes, of OldBuffer.
|
||||
@param NewSize The size, in bytes, of the buffer to reallocate.
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
optional parameter that may be NULL.
|
||||
|
||||
@return A pointer to the allocated buffer or NULL if allocation fails.
|
||||
@ -1027,18 +1027,18 @@ ReallocatePool (
|
||||
Reallocates a buffer of type EfiRuntimeServicesData.
|
||||
|
||||
Allocates and zeros the number bytes specified by NewSize from memory of type
|
||||
EfiRuntimeServicesData. If OldBuffer is not NULL, then the smaller of OldSize
|
||||
and NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
EfiRuntimeServicesData. If OldBuffer is not NULL, then the smaller of OldSize
|
||||
and NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
and OldSize is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
|
||||
|
||||
@param OldSize The size, in bytes, of OldBuffer.
|
||||
@param NewSize The size, in bytes, of the buffer to reallocate.
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
optional parameter that may be NULL.
|
||||
|
||||
@return A pointer to the allocated buffer or NULL if allocation fails.
|
||||
@ -1072,18 +1072,18 @@ ReallocateRuntimePool (
|
||||
Reallocates a buffer of type EfiReservedMemoryType.
|
||||
|
||||
Allocates and zeros the number bytes specified by NewSize from memory of type
|
||||
EfiReservedMemoryType. If OldBuffer is not NULL, then the smaller of OldSize
|
||||
and NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
EfiReservedMemoryType. If OldBuffer is not NULL, then the smaller of OldSize
|
||||
and NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
|
||||
OldBuffer is freed. A pointer to the newly allocated buffer is returned.
|
||||
If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
|
||||
enough memory remaining to satisfy the request, then NULL is returned.
|
||||
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
If the allocation of the new buffer is successful and the smaller of NewSize
|
||||
and OldSize is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
|
||||
|
||||
@param OldSize The size, in bytes, of OldBuffer.
|
||||
@param NewSize The size, in bytes, of the buffer to reallocate.
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
@param OldBuffer The buffer to copy to the allocated buffer. This is an
|
||||
optional parameter that may be NULL.
|
||||
|
||||
@return A pointer to the allocated buffer or NULL if allocation fails.
|
||||
@ -1101,15 +1101,15 @@ ReallocateReservedPool (
|
||||
}
|
||||
|
||||
/**
|
||||
Frees a buffer that was previously allocated with one of the pool allocation
|
||||
Frees a buffer that was previously allocated with one of the pool allocation
|
||||
functions in the Memory Allocation Library.
|
||||
|
||||
Frees the buffer specified by Buffer. Buffer must have been allocated on a
|
||||
previous call to the pool allocation services of the Memory Allocation Library.
|
||||
If it is not possible to free pool resources, then this function will perform
|
||||
Frees the buffer specified by Buffer. Buffer must have been allocated on a
|
||||
previous call to the pool allocation services of the Memory Allocation Library.
|
||||
If it is not possible to free pool resources, then this function will perform
|
||||
no actions.
|
||||
|
||||
If Buffer was not allocated with a pool allocation function in the Memory
|
||||
|
||||
If Buffer was not allocated with a pool allocation function in the Memory
|
||||
Allocation Library, then ASSERT().
|
||||
|
||||
@param Buffer The pointer to the buffer to free.
|
||||
|
Reference in New Issue
Block a user