summaryrefslogtreecommitdiff
path: root/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-23 12:55:05 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-23 12:55:05 +0000
commit1f33a17ff1678bb0e4c00757489aa417a18061e4 (patch)
treec7643840bd21df000cec7279883f43a1f755b01e /MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c
parent49cff29c808deac5f214fb1917859c3907959ae0 (diff)
Adjust coding style for MemoryAllocationLib.
Add function header for an internal function of PciExpressLib Fix a typo in one comment of UefiLib Remove BaseSmbusLib git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1075 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c')
-rw-r--r--MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c529
1 files changed, 349 insertions, 180 deletions
diff --git a/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c b/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c
index 59e9a2623..b4f84cb4d 100644
--- a/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c
+++ b/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c
@@ -15,17 +15,18 @@
**/
-
/**
- Allocates the number of 4KB pages specified by Pages of a certain memory type.
-
- @param MemoryType The type of memory to allocate.
- @param Pages The number of 4 KB pages to allocate.
+ Allocates one or more 4KB pages of a certain memory type.
- @return A pointer to the allocated buffer. The buffer returned is aligned on a 4KB boundary.
- If Pages is 0, then NULL is returned.
+ 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.
+ @param Pages The number of 4 KB pages to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
**/
VOID *
InternalAllocatePages (
@@ -50,13 +51,16 @@ InternalAllocatePages (
}
/**
- Allocates the number of 4KB pages specified by Pages of type EfiBootServicesData.
+ Allocates one or more 4KB pages of type EfiBootServicesData.
- @param Pages The number of 4 KB pages to allocate.
+ Allocates the number of 4KB pages of type EfiBootServicesData 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -69,13 +73,16 @@ AllocatePages (
}
/**
- Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData.
+ Allocates one or more 4KB pages of type EfiRuntimeServicesData.
- @param Pages The number of 4 KB pages to allocate.
+ 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -88,13 +95,16 @@ AllocateRuntimePages (
}
/**
- Allocates the number of 4KB pages specified by Pages of type EfiReservedMemoryType.
+ Allocates one or more 4KB pages of type EfiReservedMemoryType.
- @param Pages The number of 4 KB pages to allocate.
+ 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -107,11 +117,18 @@ AllocateReservedPages (
}
/**
- Frees one or more 4KB pages that were previously allocated with
- one of the page allocation functions in the Memory Allocation Library.
-
- @param Buffer Pointer to the buffer of pages to free.
- @param Pages The number of 4 KB pages to free.
+ 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 Buffer was not allocated with a page allocation function in the Memory Allocation Library,
+ then ASSERT().
+ If Pages is zero, then ASSERT().
+
+ @param Buffer Pointer to the buffer of pages to free.
+ @param Pages The number of 4 KB pages to free.
**/
VOID
@@ -127,16 +144,20 @@ FreePages (
}
/**
- Allocates the number of 4KB pages specified by Pages of a certian memory type
- with an alignment specified by Alignment.
+ 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 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().
- @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. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ @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. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
- @return 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.
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -174,15 +195,19 @@ InternalAllocateAlignedPages (
}
/**
- Allocates the number of 4KB pages specified by Pages of type EfiBootServicesData
- with an alignment specified by Alignment.
+ Allocates one or more 4KB pages of type EfiBootServicesData at a specified alignment.
- @param Pages The number of 4 KB pages to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number of 4KB pages specified by Pages of type EfiBootServicesData 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().
- @return 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.
+ @param Pages The number of 4 KB pages to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -196,15 +221,19 @@ AllocateAlignedPages (
}
/**
- Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData
- with an alignment specified by Alignment.
+ 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 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().
- @param Pages The number of 4 KB pages to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ @param Pages The number of 4 KB pages to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
- @return 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.
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -220,12 +249,17 @@ AllocateAlignedRuntimePages (
/**
Allocates one or more 4KB pages of type EfiReservedMemoryType at a specified alignment.
- @param Pages The number of 4 KB pages to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ 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().
- @return 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.
+ @param Pages The number of 4 KB pages to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -239,11 +273,18 @@ AllocateAlignedReservedPages (
}
/**
- Frees one or more 4KB pages that were previously allocated with
- one of the aligned page allocation functions in the Memory Allocation Library.
-
- @param Buffer Pointer to the buffer of pages to free.
- @param Pages The number of 4 KB pages to free.
+ 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 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 Pointer to the buffer of pages to free.
+ @param Pages The number of 4 KB pages to free.
**/
VOID
@@ -259,13 +300,16 @@ FreeAlignedPages (
}
/**
- Allocates a buffer of a certain memory type.
+ Allocates a buffer of a certain pool type.
- @param MemoryType The type of memory to allocate.
- @param AllocationSize The number of bytes to allocate.
+ 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.
- @return 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.
+ @param AllocationSize The number of bytes to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -285,10 +329,13 @@ InternalAllocatePool (
/**
Allocates a buffer of type EfiBootServicesData.
- @param AllocationSize The number of bytes to allocate.
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -313,10 +360,13 @@ AllocatePool (
/**
Allocates a buffer of type EfiRuntimeServicesData.
- @param AllocationSize The number of bytes to allocate.
+ 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -329,12 +379,15 @@ AllocateRuntimePool (
}
/**
- Allocates a buffer of type EfiReservedMemoryType.
+ Allocates a buffer of type EfieservedMemoryType.
- @param AllocationSize The number of bytes to allocate.
+ Allocates the number bytes specified by AllocationSize of type EfieservedMemoryType 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -349,11 +402,15 @@ AllocateReservedPool (
/**
Allocates and zeros a buffer of a certian pool type.
- @param PoolType The type of memory to allocate.
- @param AllocationSize The number of bytes to allocate and zero.
+ Allocates the number bytes specified by AllocationSize of a certian 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.
- @return 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.
+ @param AllocationSize The number of bytes to allocate and zero.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -374,10 +431,14 @@ InternalAllocateZeroPool (
/**
Allocates and zeros a buffer of type EfiBootServicesData.
- @param AllocationSize The number of bytes to allocate and zero.
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData, 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -398,10 +459,14 @@ AllocateZeroPool (
/**
Allocates and zeros a buffer of type EfiRuntimeServicesData.
- @param AllocationSize The number of bytes to allocate and zero.
+ 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -416,10 +481,14 @@ AllocateRuntimeZeroPool (
/**
Allocates and zeros a buffer of type EfiReservedMemoryType.
- @param AllocationSize The number of bytes to allocate and zero.
+ 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.
- @return 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.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -432,14 +501,20 @@ AllocateReservedZeroPool (
}
/**
- Copies a buffer to an allocated buffer of a certian memory type.
+ Copies a buffer to an allocated buffer of a certian pool type.
- @param MemoryType The type of pool to allocate.
- @param AllocationSize The number of bytes to allocate and zero.
- @param Buffer The buffer to copy to the allocated buffer.
+ Allocates the number bytes specified by AllocationSize of a certian 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().
- @return 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 pool to allocate.
+ @param AllocationSize The number of bytes to allocate and zero.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -462,13 +537,19 @@ InternalAllocateCopyPool (
}
/**
- Copies a buffer to an allocated buffer of type EfiBootServicesData.
+ Copies a buffer to an allocated buffer of type EfiBootServicesData.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData, 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().
- @return 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.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -491,13 +572,19 @@ AllocateCopyPool (
}
/**
- Copies a buffer to an allocated buffer of type EfiRuntimeServicesData.
+ Copies a buffer to an allocated buffer of type EfiRuntimeServicesData.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
+ 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().
- @return 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.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -511,13 +598,19 @@ AllocateRuntimeCopyPool (
}
/**
- Copies a buffer to an allocated buffer of type EfiReservedMemoryType.
+ Copies a buffer to an allocated buffer of type EfiReservedMemoryType.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
+ 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().
- @return 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.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -531,9 +624,15 @@ AllocateReservedCopyPool (
}
/**
- Copies a buffer to an allocated buffer of type EfiReservedMemoryType at a specified alignment.
+ Frees a buffer that was previously allocated with one of the pool allocation functions in the
+ Memory Allocation Library.
- @param Buffer Pointer to the buffer to free.
+ 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 Buffer was not allocated with a pool allocation function in the Memory Allocation Library,
+ then ASSERT().
+
+ @param Buffer Pointer to the buffer to free.
**/
VOID
@@ -550,12 +649,18 @@ FreePool (
/**
Allocates a buffer of a certain pool type at a specified alignment.
- @param PoolType The type of pool to allocate.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two. If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of a certain pool type with an alignment
+ specified by Alignment. The allocated buffer is returned. If AllocationSize is 0, then a valid
+ buffer of 0 size 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().
- @return 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 pool to allocate.
+ @param AllocationSize The number of bytes to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two. If Alignment is zero, then byte alignment is used.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -594,11 +699,17 @@ InternalAllocateAlignedPool (
/**
Allocates a buffer of type EfiBootServicesData at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two. If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData with an
+ alignment specified by Alignment. The allocated buffer is returned. If AllocationSize is 0,
+ then a valid buffer of 0 size 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().
- @return 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.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -638,12 +749,17 @@ AllocateAlignedPool (
/**
Allocates a buffer of type EfiRuntimeServicesData at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData with an
+ alignment specified by Alignment. The allocated buffer is returned. If AllocationSize is 0,
+ then a valid buffer of 0 size 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().
- @return 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.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -657,14 +773,19 @@ AllocateAlignedRuntimePool (
}
/**
- Allocates a buffer of type EfiReservedMemoryType at a specified alignment.
+ Allocates a buffer of type EfieservedMemoryType at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfieservedMemoryType with an
+ alignment specified by Alignment. The allocated buffer is returned. If AllocationSize is 0,
+ then a valid buffer of 0 size 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().
- @return 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.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -678,15 +799,20 @@ AllocateAlignedReservedPool (
}
/**
- Allocates and zeros a buffer of type EfiBootServicesData at a specified alignment.
+ Allocates and zeros a buffer of a certain pool type at a specified alignment.
- @param PoolType The type of pool to allocate.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of a certain pool type with an alignment
+ specified by Alignment, 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 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().
- @return 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 pool to allocate.
+ @param AllocationSize The number of bytes to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -708,12 +834,18 @@ InternalAllocateAlignedZeroPool (
/**
Allocates and zeros a buffer of type EfiBootServicesData at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData with an
+ alignment specified by Alignment, 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 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().
- @return 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.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -735,12 +867,18 @@ AllocateAlignedZeroPool (
/**
Allocates and zeros a buffer of type EfiRuntimeServicesData at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData with an
+ alignment specified by Alignment, 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 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().
- @return 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.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -754,14 +892,20 @@ AllocateAlignedRuntimeZeroPool (
}
/**
- Allocates and zeros a buffer of type EfiReservedMemoryType at a specified alignment.
+ Allocates and zeros a buffer of type EfieservedMemoryType at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfieservedMemoryType with an
+ alignment specified by Alignment, 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 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().
- @return 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.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -775,16 +919,21 @@ AllocateAlignedReservedZeroPool (
}
/**
- Copies a buffer to an allocated buffer of type EfiBootServicesData at a specified alignment.
+ Copies a buffer to an allocated buffer of a certain pool type at a specified alignment.
- @param PoolType The type of pool to allocate.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of a certain pool type with an alignment
+ specified by Alignment. The allocated buffer is returned. If AllocationSize is 0, then a valid
+ buffer of 0 size 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().
- @return 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 pool to allocate.
+ @param AllocationSize The number of bytes to allocate.
+ @param Buffer The buffer to copy to the allocated buffer.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -810,13 +959,18 @@ InternalAllocateAlignedCopyPool (
/**
Copies a buffer to an allocated buffer of type EfiBootServicesData at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData type with an
+ alignment specified by Alignment. The allocated buffer is returned. If AllocationSize is 0,
+ then a valid buffer of 0 size 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().
- @return 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.
+ @param Buffer The buffer to copy to the allocated buffer.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -842,13 +996,18 @@ AllocateAlignedCopyPool (
/**
Copies a buffer to an allocated buffer of type EfiRuntimeServicesData at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData type with an
+ alignment specified by Alignment. The allocated buffer is returned. If AllocationSize is 0,
+ then a valid buffer of 0 size 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().
- @return 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.
+ @param Buffer The buffer to copy to the allocated buffer.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -865,13 +1024,18 @@ AllocateAlignedRuntimeCopyPool (
/**
Copies a buffer to an allocated buffer of type EfiReservedMemoryType at a specified alignment.
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
- @param Alignment The requested alignment of the allocation. Must be a power of two.
- If Alignment is zero, then byte alignment is used.
+ Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType type with an
+ alignment specified by Alignment. The allocated buffer is returned. If AllocationSize is 0,
+ then a valid buffer of 0 size 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().
- @return 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.
+ @param Buffer The buffer to copy to the allocated buffer.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
@@ -889,7 +1053,12 @@ AllocateAlignedReservedCopyPool (
Frees a buffer that was previously allocated with one of the aligned pool allocation functions
in the Memory Allocation Library.
- @param Buffer Pointer to the buffer to free.
+ Frees the buffer specified by Buffer. Buffer must have been allocated on a previous call to the
+ aligned pool allocation services of the Memory Allocation Library.
+ If Buffer was not allocated with an aligned pool allocation function in the Memory Allocation
+ Library, then ASSERT().
+
+ @param Buffer Pointer to the buffer to free.
**/
VOID