mirror of
https://github.com/acidanthera/OpenCorePkg.git
synced 2025-12-08 19:25:01 +00:00
OcMemoryLib: Allow overriding page allocator for allocate from top
This commit is contained in:
parent
dd25126610
commit
6d0c49e84c
@ -221,6 +221,7 @@ VOID
|
||||
@param[in] Pages Amount of pages to allocate.
|
||||
@param[in,out] Memory Top address for input, allocated address for output.
|
||||
@param[in] GetMemoryMap Custom GetMemoryMap implementation to use, optional.
|
||||
@param[in] AllocatePages Custom AllocatePages implementation to use, optional.
|
||||
@param[in] CheckRange Handler allowing to not allocate select ranges, optional.
|
||||
|
||||
@retval EFI_SUCCESS on successful allocation.
|
||||
@ -230,8 +231,9 @@ OcAllocatePagesFromTop (
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS *Memory,
|
||||
IN EFI_GET_MEMORY_MAP GetMemoryMap OPTIONAL,
|
||||
IN CHECK_ALLOCATION_RANGE CheckRange OPTIONAL
|
||||
IN EFI_GET_MEMORY_MAP GetMemoryMap OPTIONAL,
|
||||
IN EFI_ALLOCATE_PAGES AllocatePages OPTIONAL,
|
||||
IN CHECK_ALLOCATION_RANGE CheckRange OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -536,6 +536,7 @@ AppleMapPrepareBooterState (
|
||||
EFI_SIZE_TO_PAGES (gST->Hdr.HeaderSize),
|
||||
&BootCompat->KernelState.SysTableRtArea,
|
||||
GetMemoryMap,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
|
||||
@ -28,8 +28,9 @@ OcAllocatePagesFromTop (
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS *Memory,
|
||||
IN EFI_GET_MEMORY_MAP GetMemoryMap,
|
||||
IN CHECK_ALLOCATION_RANGE CheckRange OPTIONAL
|
||||
IN EFI_GET_MEMORY_MAP GetMemoryMap OPTIONAL,
|
||||
IN EFI_ALLOCATE_PAGES AllocatePages OPTIONAL,
|
||||
IN CHECK_ALLOCATION_RANGE CheckRange OPTIONAL
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@ -90,7 +91,7 @@ OcAllocatePagesFromTop (
|
||||
continue;
|
||||
}
|
||||
|
||||
Status = gBS->AllocatePages (
|
||||
Status = (AllocatePages != NULL ? AllocatePages : gBS->AllocatePages) (
|
||||
AllocateAddress,
|
||||
MemoryType,
|
||||
Pages,
|
||||
|
||||
@ -249,6 +249,7 @@ OcGetCurrentMemoryMapAlloc (
|
||||
(UINTN) *TopMemory,
|
||||
&MemoryMapAlloc,
|
||||
GetMemoryMap,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
|
||||
|
||||
@ -157,6 +157,7 @@ VmAllocateMemoryPool (
|
||||
NumPages,
|
||||
&Addr,
|
||||
GetMemoryMap,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user