mirror of https://github.com/acidanthera/audk.git
MdePkg PiPeiCis.h: Add FreePages definition
Follow PI 1.6 spec to add FreePages definition and comments for AllocatePages that will support pre permanent memory page allocation. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
9c6a26d643
commit
9f43484ce9
|
@ -452,6 +452,11 @@ EFI_STATUS
|
||||||
The purpose of the service is to publish an interface that allows
|
The purpose of the service is to publish an interface that allows
|
||||||
PEIMs to allocate memory ranges that are managed by the PEI Foundation.
|
PEIMs to allocate memory ranges that are managed by the PEI Foundation.
|
||||||
|
|
||||||
|
Prior to InstallPeiMemory() being called, PEI will allocate pages from the heap.
|
||||||
|
After InstallPeiMemory() is called, PEI will allocate pages within the region
|
||||||
|
of memory provided by InstallPeiMemory() service in a best-effort fashion.
|
||||||
|
Location-specific allocations are not managed by the PEI foundation code.
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||||
@param MemoryType The type of memory to allocate.
|
@param MemoryType The type of memory to allocate.
|
||||||
@param Pages The number of contiguous 4 KB pages to allocate.
|
@param Pages The number of contiguous 4 KB pages to allocate.
|
||||||
|
@ -474,6 +479,27 @@ EFI_STATUS
|
||||||
OUT EFI_PHYSICAL_ADDRESS *Memory
|
OUT EFI_PHYSICAL_ADDRESS *Memory
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Frees memory pages.
|
||||||
|
|
||||||
|
@param[in] PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||||
|
@param[in] Memory The base physical address of the pages to be freed.
|
||||||
|
@param[in] Pages The number of contiguous 4 KB pages to free.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The requested pages were freed.
|
||||||
|
@retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or Pages is invalid.
|
||||||
|
@retval EFI_NOT_FOUND The requested memory pages were not allocated with
|
||||||
|
AllocatePages().
|
||||||
|
|
||||||
|
**/
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_PEI_FREE_PAGES) (
|
||||||
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
|
IN EFI_PHYSICAL_ADDRESS Memory,
|
||||||
|
IN UINTN Pages
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The purpose of this service is to publish an interface that
|
The purpose of this service is to publish an interface that
|
||||||
allows PEIMs to allocate memory ranges that are managed by the PEI Foundation.
|
allows PEIMs to allocate memory ranges that are managed by the PEI Foundation.
|
||||||
|
@ -929,6 +955,7 @@ struct _EFI_PEI_SERVICES {
|
||||||
EFI_PEI_FFS_FIND_SECTION_DATA3 FindSectionData3;
|
EFI_PEI_FFS_FIND_SECTION_DATA3 FindSectionData3;
|
||||||
EFI_PEI_FFS_GET_FILE_INFO2 FfsGetFileInfo2;
|
EFI_PEI_FFS_GET_FILE_INFO2 FfsGetFileInfo2;
|
||||||
EFI_PEI_RESET2_SYSTEM ResetSystem2;
|
EFI_PEI_RESET2_SYSTEM ResetSystem2;
|
||||||
|
EFI_PEI_FREE_PAGES FreePages;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue