summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MdePkg/Include/Library/MemoryAllocationLib.h507
-rw-r--r--MdePkg/Library/BasePciExpressLib/PciLib.c10
-rw-r--r--MdePkg/Library/DxeMemoryAllocationLib/MemoryAllocationLib.c532
-rw-r--r--MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c529
-rw-r--r--MdePkg/Library/UefiLib/UefiNotTiano.c2
-rw-r--r--MdePkg/MdePkg.fpd24
-rw-r--r--MdePkg/MdePkg.spd1
7 files changed, 1000 insertions, 605 deletions
diff --git a/MdePkg/Include/Library/MemoryAllocationLib.h b/MdePkg/Include/Library/MemoryAllocationLib.h
index bb2c724..d8bbe38 100644
--- a/MdePkg/Include/Library/MemoryAllocationLib.h
+++ b/MdePkg/Include/Library/MemoryAllocationLib.h
@@ -18,67 +18,75 @@
#define __MEMORY_ALLOCATION_LIB_H__
/**
- 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 *
EFIAPI
AllocatePages (
IN UINTN Pages
- )
-;
+ );
/**
- Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData.
+ 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 satisfy the request, then NULL is
+ returned.
- @param Pages The number of 4 KB pages to allocate.
+ @param Pages The number of 4 KB pages to allocate.
- @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.
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
EFIAPI
AllocateRuntimePages (
IN UINTN Pages
- )
-;
+ );
/**
- 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 *
EFIAPI
AllocateReservedPages (
IN UINTN Pages
- )
-;
+ );
/**
- 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.
-
- None.
+ 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
@@ -86,19 +94,22 @@ EFIAPI
FreePages (
IN VOID *Buffer,
IN UINTN Pages
- )
-;
+ );
/**
- 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.
+
+ 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().
- @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 *
@@ -106,19 +117,22 @@ EFIAPI
AllocateAlignedPages (
IN UINTN Pages,
IN UINTN Alignment
- )
-;
+ );
/**
- 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.
- @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 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().
- @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 *
@@ -126,19 +140,22 @@ EFIAPI
AllocateAlignedRuntimePages (
IN UINTN Pages,
IN UINTN Alignment
- )
-;
+ );
/**
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().
+
+ @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 *
@@ -146,17 +163,21 @@ EFIAPI
AllocateAlignedReservedPages (
IN UINTN Pages,
IN UINTN Alignment
- )
-;
+ );
/**
- 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.
-
- None.
+ 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
@@ -164,120 +185,133 @@ EFIAPI
FreeAlignedPages (
IN VOID *Buffer,
IN UINTN Pages
- )
-;
+ );
/**
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 *
EFIAPI
AllocatePool (
IN UINTN AllocationSize
- )
-;
+ );
/**
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.
+
+ @param AllocationSize The number of bytes to allocate.
- @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.
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
EFIAPI
AllocateRuntimePool (
IN UINTN AllocationSize
- )
-;
+ );
/**
- 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 *
EFIAPI
AllocateReservedPool (
IN UINTN AllocationSize
- )
-;
+ );
/**
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.
+
+ @param AllocationSize The number of bytes to allocate and zero.
- @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.
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
EFIAPI
AllocateZeroPool (
IN UINTN AllocationSize
- )
-;
+ );
/**
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.
+
+ @param AllocationSize The number of bytes to allocate and zero.
- @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.
+ @return A pointer to the allocated buffer or NULL if allocation fails.
**/
VOID *
EFIAPI
AllocateRuntimeZeroPool (
IN UINTN AllocationSize
- )
-;
+ );
/**
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 *
EFIAPI
AllocateReservedZeroPool (
IN UINTN AllocationSize
- )
-;
+ );
/**
- Copies a buffer to an allocated buffer of type EfiBootServicesData.
+ Copies a buffer to an allocated buffer of type EfiBootServicesData.
+
+ 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().
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -285,18 +319,22 @@ EFIAPI
AllocateCopyPool (
IN UINTN AllocationSize,
IN CONST VOID *Buffer
- )
-;
+ );
/**
- 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 *
@@ -304,18 +342,22 @@ EFIAPI
AllocateRuntimeCopyPool (
IN UINTN AllocationSize,
IN CONST VOID *Buffer
- )
-;
+ );
/**
- Copies a buffer to an allocated buffer of type EfiReservedMemoryType.
+ 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 request, then NULL is returned.
+ If Buffer is NULL, then ASSERT().
+ If AllocationSize is greater than (MAX_ADDRESS – Buffer + 1), then ASSERT().
- @param AllocationSize The number of bytes to allocate.
- @param Buffer The buffer to copy to the allocated buffer.
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -323,35 +365,40 @@ EFIAPI
AllocateReservedCopyPool (
IN UINTN AllocationSize,
IN CONST VOID *Buffer
- )
-;
+ );
/**
- Frees a buffer that was previously allocated with one of the pool allocation functions
- in the Memory Allocation Library.
+ 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().
- None.
+ @param Buffer Pointer to the buffer to free.
**/
VOID
EFIAPI
FreePool (
IN VOID *Buffer
- )
-;
+ );
/**
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().
+
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -359,19 +406,22 @@ EFIAPI
AllocateAlignedPool (
IN UINTN AllocationSize,
IN UINTN Alignment
- )
-;
+ );
/**
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().
+
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -379,19 +429,22 @@ EFIAPI
AllocateAlignedRuntimePool (
IN UINTN AllocationSize,
IN UINTN Alignment
- )
-;
+ );
/**
- 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 *
@@ -399,19 +452,23 @@ EFIAPI
AllocateAlignedReservedPool (
IN UINTN AllocationSize,
IN UINTN Alignment
- )
-;
+ );
/**
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().
+
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -419,19 +476,23 @@ EFIAPI
AllocateAlignedZeroPool (
IN UINTN AllocationSize,
IN UINTN Alignment
- )
-;
+ );
/**
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 *
@@ -439,19 +500,23 @@ EFIAPI
AllocateAlignedRuntimeZeroPool (
IN UINTN AllocationSize,
IN UINTN Alignment
- )
-;
+ );
/**
- Allocates and zeros a buffer of type EfiReservedMemoryType at a specified alignment.
+ Allocates and zeros a buffer of type EfieservedMemoryType at a specified alignment.
+
+ 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().
- @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.
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -459,20 +524,23 @@ EFIAPI
AllocateAlignedReservedZeroPool (
IN UINTN AllocationSize,
IN UINTN Alignment
- )
-;
+ );
/**
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 *
@@ -481,20 +549,23 @@ AllocateAlignedCopyPool (
IN UINTN AllocationSize,
IN CONST VOID *Buffer,
IN UINTN Alignment
- )
-;
+ );
/**
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().
+
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -503,20 +574,23 @@ AllocateAlignedRuntimeCopyPool (
IN UINTN AllocationSize,
IN CONST VOID *Buffer,
IN UINTN Alignment
- )
-;
+ );
/**
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().
+
+ @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. 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 or NULL if allocation fails.
**/
VOID *
@@ -525,23 +599,24 @@ AllocateAlignedReservedCopyPool (
IN UINTN AllocationSize,
IN CONST VOID *Buffer,
IN UINTN Alignment
- )
-;
+ );
/**
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().
- None.
+ @param Buffer Pointer to the buffer to free.
**/
VOID
EFIAPI
FreeAlignedPool (
IN VOID *Buffer
- )
-;
+ );
#endif
diff --git a/MdePkg/Library/BasePciExpressLib/PciLib.c b/MdePkg/Library/BasePciExpressLib/PciLib.c
index 771c18f..509a5e4 100644
--- a/MdePkg/Library/BasePciExpressLib/PciLib.c
+++ b/MdePkg/Library/BasePciExpressLib/PciLib.c
@@ -31,8 +31,16 @@
ASSERT (((A) & ~0xfffffff) == 0)
+/**
+ Gets the base address of PCI Express.
+
+ This internal functions retrieves PCI Express Base Address via a PCD entry
+ PcdPciExpressBaseAddress.
+
+ @return The base address of PCI Express.
+
+**/
UINTN
-EFIAPI
GetPciExpressBaseAddress (
VOID
)
diff --git a/MdePkg/Library/DxeMemoryAllocationLib/MemoryAllocationLib.c b/MdePkg/Library/DxeMemoryAllocationLib/MemoryAllocationLib.c
index 15a419b..36acc1a 100644
--- a/MdePkg/Library/DxeMemoryAllocationLib/MemoryAllocationLib.c
+++ b/MdePkg/Library/DxeMemoryAllocationLib/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.<BR>
- If Pages is 0, then NULL is returned.<BR>
+ 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 (
@@ -48,13 +49,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.<BR>
- If Pages is 0, then NULL is returned.<BR>
- 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 *
@@ -67,13 +71,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.<BR>
- If Pages is 0, then NULL is returned.<BR>
- 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 *
@@ -86,13 +93,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.<BR>
- If Pages is 0, then NULL is returned.<BR>
- 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 *
@@ -105,11 +115,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,17 +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.
- @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.
+ 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().
- @return The allocated buffer is returned.<BR>
- If Pages is 0, then NULL is returned.<BR>
- If there is not enough memory at the specified alignment 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.
+ @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 *
@@ -209,16 +229,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.
+
+ 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().
- @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.<BR>
- If Pages is 0, then NULL is returned.<BR>
- 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 *
@@ -232,15 +255,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.
- @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 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().
- @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 *
@@ -256,12 +283,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().
+
+ @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 *
@@ -275,11 +307,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
@@ -297,13 +336,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 *
@@ -325,10 +367,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 *
@@ -343,10 +388,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 *
@@ -359,12 +407,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 *
@@ -379,11 +430,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 *
@@ -393,6 +448,7 @@ InternalAllocateZeroPool (
)
{
VOID *Memory;
+
Memory = InternalAllocatePool (PoolType, AllocationSize);
if (Memory != NULL) {
Memory = ZeroMem (Memory, AllocationSize);
@@ -403,10 +459,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 *
@@ -421,10 +481,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 *
@@ -439,10 +503,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 *
@@ -455,14 +523,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 *
@@ -485,13 +559,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 *
@@ -505,13 +585,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 *
@@ -525,13 +611,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 *
@@ -545,9 +637,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.
+
+ 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.
+ @param Buffer Pointer to the buffer to free.
**/
VOID
@@ -565,12 +663,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 *
@@ -624,11 +728,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 *
@@ -644,12 +754,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().
- 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 *
@@ -663,14 +778,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 *
@@ -684,15 +804,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 *
@@ -713,12 +838,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 *
@@ -734,12 +865,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 *
@@ -753,14 +890,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 *
@@ -774,16 +917,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 *
@@ -809,13 +957,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 *
@@ -832,13 +985,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 *
@@ -855,13 +1013,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 *
@@ -879,7 +1042,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
diff --git a/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c b/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c
index 59e9a26..b4f84cb 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
diff --git a/MdePkg/Library/UefiLib/UefiNotTiano.c b/MdePkg/Library/UefiLib/UefiNotTiano.c
index 5faa08d..7797608 100644
--- a/MdePkg/Library/UefiLib/UefiNotTiano.c
+++ b/MdePkg/Library/UefiLib/UefiNotTiano.c
@@ -21,7 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/**
An empty function to pass error checking of CreateEventEx ().
- This empty function enusres that EFI_EVENT_NOTIFY_SIGNAL_ALL is error
+ This empty function ensures that EFI_EVENT_NOTIFY_SIGNAL_ALL is error
checked correctly since it is now mapped into CreateEventEx() in UEFI 2.0.
**/
diff --git a/MdePkg/MdePkg.fpd b/MdePkg/MdePkg.fpd
index 9114135..7cb1e01 100644
--- a/MdePkg/MdePkg.fpd
+++ b/MdePkg/MdePkg.fpd
@@ -434,12 +434,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<FfsFormatKey>LIBRARY</FfsFormatKey>
</ModuleSaBuildOptions>
</ModuleSA>
- <ModuleSA SupArchList="IA32" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="4c38a173-b317-4f29-a7bf-1cc7e10ccb10">
- <ModuleSaBuildOptions>
- <FvBinding>NULL</FvBinding>
- <FfsFormatKey>LIBRARY</FfsFormatKey>
- </ModuleSaBuildOptions>
- </ModuleSA>
<ModuleSA SupArchList="IA32" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="51C4C059-67F0-4e3c-9A55-FF42A8291C8C">
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -1010,12 +1004,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<FfsFormatKey>LIBRARY</FfsFormatKey>
</ModuleSaBuildOptions>
</ModuleSA>
- <ModuleSA SupArchList="IPF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="4c38a173-b317-4f29-a7bf-1cc7e10ccb10">
- <ModuleSaBuildOptions>
- <FvBinding>NULL</FvBinding>
- <FfsFormatKey>LIBRARY</FfsFormatKey>
- </ModuleSaBuildOptions>
- </ModuleSA>
<ModuleSA SupArchList="IPF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="51C4C059-67F0-4e3c-9A55-FF42A8291C8C">
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -1592,12 +1580,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<FfsFormatKey>LIBRARY</FfsFormatKey>
</ModuleSaBuildOptions>
</ModuleSA>
- <ModuleSA SupArchList="X64" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="4c38a173-b317-4f29-a7bf-1cc7e10ccb10">
- <ModuleSaBuildOptions>
- <FvBinding>NULL</FvBinding>
- <FfsFormatKey>LIBRARY</FfsFormatKey>
- </ModuleSaBuildOptions>
- </ModuleSA>
<ModuleSA SupArchList="X64" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="51C4C059-67F0-4e3c-9A55-FF42A8291C8C">
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -2168,12 +2150,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<FfsFormatKey>LIBRARY</FfsFormatKey>
</ModuleSaBuildOptions>
</ModuleSA>
- <ModuleSA SupArchList="EBC" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="4c38a173-b317-4f29-a7bf-1cc7e10ccb10">
- <ModuleSaBuildOptions>
- <FvBinding>NULL</FvBinding>
- <FfsFormatKey>LIBRARY</FfsFormatKey>
- </ModuleSaBuildOptions>
- </ModuleSA>
<ModuleSA SupArchList="EBC" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="51C4C059-67F0-4e3c-9A55-FF42A8291C8C">
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
diff --git a/MdePkg/MdePkg.spd b/MdePkg/MdePkg.spd
index 5be6685..7f29b35 100644
--- a/MdePkg/MdePkg.spd
+++ b/MdePkg/MdePkg.spd
@@ -1154,7 +1154,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<Filename>Library/BasePostCodeLibPort80/BasePostCodeLibPort80.msa</Filename>
<Filename>Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa</Filename>
<Filename>Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.msa</Filename>
- <Filename>Library/BaseSmbusLib/BaseSmbusLib.msa</Filename>
<Filename>Library/PeiSmbusLib/PeiSmbusLib.msa</Filename>
<Filename>Library/DxeSmbusLib/DxeSmbusLib.msa</Filename>
<Filename>Library/BaseUefiDecompressLib/BaseUefiDecompressLib.msa</Filename>