summaryrefslogtreecommitdiff
path: root/EmbeddedPkg/Library/PrePiMemoryAllocationLib
AgeCommit message (Collapse)AuthorFilesLines
2026-04-21EmbeddedPkg: Add missing FreeAlignedPages() implementationSami Mujawar1-0/+34
The PrePiMemoryAllocationLib supports AllocateAlignedPages(), however is missing the corresponding FreeAlignedPages(). Although the FreeAlignedPages() in PrePiMemoryAllocationLib does not support the ability to free pages in the PrePei Memory Allocator and the allocated memory is lost, it would be good to have an empty implementation of FreeAlignedPages() so that implementations utilises the correct deallocation function. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
2026-02-11EmbeddedPkg/PrePiMemoryAllocationLib: Update memory hob page alignmentAntaeus Kleinert-Strand1-10/+39
When allocating Runtime memory the MemoryAllocation HOB's length needs to meet the alignment requirements of Runtime memory. On AARCH64 architectures this alignment is not the default of 4KB. Instead it is set by the RUNTIME_PAGE_ALLOCATION_GRANULARITY definition, which is 64KB. This change enforces the RUNTIME alignment as part of generating the MemoryAllocationHob for runtime memory types. Signed-off-by: Antaeus Kleinert-Strand <antklein@microsoft.com>
2026-01-15EmbeddedPkg: PrePiMemoryAllocationLib: Add AllocateCopyPoolOliver Smith-Denny1-0/+37
ArmVirtPkg uses PrePiMemoryAllocationLib and PeiServicesLib in the same module. PeiServicesLib depends on MemoryAllocationLib, fulfilled by PrePiMemoryAllocationLib in this instance. However, PeiServicesLib uses AllocateCopyPool() which is not provided in PrePiMemoryAllocationLib. CLANGPDB AARCH64 finds this as a link error. Other toolchains are optimizing the call out since that code path is not used in this module. This adds AllocateCopyPool() to PrePiMemoryAllocationLib to satisfy the dependency. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-09-26EmbeddedPkg: Drop ARM32 SupportOliver Smith-Denny1-5/+0
edk2 is dropping support for the ARM32 architecture. This commit removes ARM32 code from EmbeddedPkg. This also drops irrelevant VALID_ARCHITECTURES comments from infs that are not arch specific. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-08EmbeddedPkg/PrePiMemoryAllocationLib: Add reserved memory allocationsVishal Oliyil Kunnil1-0/+74
PrePiMemoryAllocationLib does not implement functions to allocate EfiMemoryReservedType. These are implemented in other instances of MemoryAllocationLib (Dxe, Uefi, PiSmmCore, SmmMemory). Add AllocateReservedPages() and AllocateAlignedReservedPages() functions to make it consistent with other MemoryAllocationLib intstances. Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
2024-02-09EmbeddedPkg: compiler error due to arithmetic operation on void pointerJayaprakash N1-1/+1
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4668 This commit fixes the issue reported in the BZ4668. The EmbeddedPkg fails to compile with a compiler error generated due to invalid/illegal arithmetic operation on void pointers. It has been fixed by using explicit type conversion of the void pointer to UINTN. Cc: Rebecca Cran <rebecca@bsdio.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Abner Chang <abner.chang@amd.com> Cc: Jayaprakash N <n.jayaprakash@intel.com> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ardb+tianocore@kernel.org> Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
2024-01-03EmbeddedPkg/PrePiMemoryAllocationLib: Add ReallocatePoolJeff Brasen via groups.io1-0/+57
Add implementation of ReallocatePool which is defined in the MemoryAllocationLib header file to allow components to not need special handling for PrePi module types. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
2022-09-23EmbeddedPkg/PrePi: Check for enough space before aligning heap pointerJeff Brasen1-27/+21
Update check for enough space to occur prior to alignment offset. This prevents cases where EfiFreeMemoryTop < EfiFreeMemoryBottom. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
2022-09-06EmbeddedPkg: Add AllocateRuntimePages in PrePiMemoryAllocationLibMin M Xu1-16/+49
AllocateRuntimePages is used to allocate one or more 4KB pages of type EfiRuntimeServicesData. Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Abner Chang <abner.chang@hpe.com> Cc: Daniel Schaefer <daniel.schaefer@hpe.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Ard Biesheuvel <ardb+tianocore@kernel.org> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
2021-12-07EmbeddedPkg: Apply uncrustify changesMichael Kubacki1-21/+19
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the EmbeddedPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Andrew Fish <afish@apple.com>
2021-01-08EmbeddedPkg/PrePiMemoryAllocationLib: use correct size for pool hobArd Biesheuvel1-1/+3
Use the correct type in the sizeof() expression to calculate the size of the newly allocated EFI_HOB_MEMORY_POOL hob. Link: https://bugzilla.tianocore.org/show_bug.cgi?id=3139 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
2019-07-04EmbeddedPkg: Fix various typosCœur1-1/+1
Fix various typos in EmbeddedPkg. Signed-off-by: Coeur <coeur@gmx.fr> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-04-09EmbeddedPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2-14/+2
https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-11-29EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool()Jeff Brasen1-0/+32
This function is exposed by the MemoryAllocationLib header. An AllocateZeroPool() function has been added to fix modules depending on this library and this function. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-08-03EmbeddedPkg: make PrePiMemoryAllocationLib a SEC type libraryArd Biesheuvel1-1/+1
This library is only used by the various PrePi implementations, all of which are of type SEC. So make this library SEC as well. This may affect the build options used by the platform. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2014-08-19ARM Packages: Removed trailing spacesRonald Cron2-5/+5
Trailing spaces create issue/warning when generating/applying patches. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15833 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-17EmbeddedPkg/PrePiMemoryAllocationLib: Added dummy FreePages()Olivier Martin1-0/+26
This function is exposed by the MemoryAllocationLib header. A dummy FreePages() function has been added to fix modules depending on this library and this function. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14478 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ↵oliviermartin1-192/+192
ArmPlatformSecExtraAction() The PcdStandalone is a PCD ARM Ltd uses to make the difference between a standalone UEFI (boot from cold boot to Boot Manager without user intervention) and a Debug UEFI firmware (the firmware engineer has to copy the Normale World image into the DRAM to enable his/her firmware). By coping the firmware into DRAM in the non standalone version it is much faster than reflashing the NOR Flash after each build. ArmPlatformSecExtraAction() function is called just before the Sec module jump to normal world. The platform firmware can run extra actions at this stage. The 'ARM Standalone' concept has moved to the implementation of ArmPlatformSecExtraAction() for the ARM development boards (in ArmPlatformPkg/Library/DebugSecExtraActionLib). ArmPlatformPkg: Enable DebugAgentLib in Sec and PrePeiCore ArmPlatformPkg: Fix line endings in some source files Use CR+LF line endings as defined by the EDK2 coding convention git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11991 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01EmbeddedPkg: Introduce PrePiMemoryAllocationLib (2)oliviermartin2-0/+231
Forgot the new files ... git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11944 6f19259b-4bc3-4df7-8a09-765794883524