summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/UefiMemoryAllocationLib
Commit message (Collapse)AuthorAgeFilesLines
* MdePkg: Apply uncrustify changesMichael Kubacki2021-12-071-18/+25
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdePkg 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: Liming Gao <gaoliming@byosoft.com.cn>
* MdePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-093-19/+3
| | | | | | | | | | | | | | | | | | | | 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: Liming Gao <liming.gao@intel.com>
* MdePkg: Removing ipf which is no longer supported from edk2.Chen A Chen2018-09-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* MdePkg: Clean up source filesLiming Gao2018-06-281-58/+58
| | | | | | | | | 1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com>
* MdePkg: Refine casting expression result to bigger sizeHao Wu2017-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases that the operands of an expression are all with rank less than UINT64/INT64 and the result of the expression is explicitly cast to UINT64/INT64 to fit the target size. An example will be: UINT32 a,b; // a and b can be any unsigned int type with rank less than UINT64, like // UINT8, UINT16, etc. UINT64 c; c = (UINT64) (a + b); Some static code checkers may warn that the expression result might overflow within the rank of "int" (integer promotions) and the result is then cast to a bigger size. The commit refines codes by the following rules: 1). When the expression is possible to overflow the range of unsigned int/ int: c = (UINT64)a + b; 2). When the expression will not overflow within the rank of "int", remove the explicit type casts: c = a + b; 3). When the expression will be cast to pointer of possible greater size: UINT32 a,b; VOID *c; c = (VOID *)(UINTN)(a + b); --> c = (VOID *)((UINTN)a + b); 4). When one side of a comparison expression contains only operands with rank less than UINT32: UINT8 a; UINT16 b; UINTN c; if ((UINTN)(a + b) > c) {...} --> if (((UINT32)a + b) > c) {...} For rule 4), if we remove the 'UINTN' type cast like: if (a + b > c) {...} The VS compiler will complain with warning C4018 (signed/unsigned mismatch, level 3 warning) due to promoting 'a + b' to type 'int'. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* MdePkg: Convert all .uni files to utf-8Jordan Justen2015-12-151-0/+0
| | | | | | | | | | | | To convert these files I ran: $ python3 BaseTools/Scripts/ConvertUni.py MdePkg Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19256 6f19259b-4bc3-4df7-8a09-765794883524
* MdePkg:Fix typo 'caculate' in MdePkg.Qiu Shumin2015-03-171-2/+2
| | | | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Bruce Cran <bruce.cran@gmail.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17057 6f19259b-4bc3-4df7-8a09-765794883524
* MdePkg: Convert non DOS format files to DOS formatGao, Liming2014-09-031-0/+0
| | | | | | | | | Module UNI and Package UNI files are not DOS format. Convert them to DOS format. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gao, Liming <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16042 6f19259b-4bc3-4df7-8a09-765794883524
* MdePkg: INF/DEC file updates to EDK II packagesGao, Liming2014-08-271-0/+0
| | | | | | | | | | | | | 2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module. a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion. c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gao, Liming <liming.gao@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15918 6f19259b-4bc3-4df7-8a09-765794883524
* MdePkg: INF/DEC file updates to EDK II packagesGao, Liming2014-08-271-1/+3
| | | | | | | | | | | | | 1. Usage information in INF file comment blocks are either incomplete or incorrect. This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes. The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gao, Liming <liming.gao@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15917 6f19259b-4bc3-4df7-8a09-765794883524
* Update MemoryAllocationLib.AllocateAlignedPages API comments for memory ↵Liming Gao2013-12-311-1/+5
| | | | | | | | | | overflow ASSERT case. Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15033 6f19259b-4bc3-4df7-8a09-765794883524
* Minor grammatical work--mostly adding periods. Items with ONLY period added ↵myronporter2010-06-252-5/+5
| | | | | | did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10604 6f19259b-4bc3-4df7-8a09-765794883524
* Update the copyright notice formathhtian2010-04-232-4/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10415 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Correct File header to ## @filelgao42010-02-241-2/+2
| | | | | | 2. Remove unnecessary .common] postfix on section. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
* Remove SMM_CORE as a supported module type for the MemoryAllocationLib ↵mdkinney2010-02-151-7/+3
| | | | | | instance that uses UEFI Boot Services git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10008 6f19259b-4bc3-4df7-8a09-765794883524
* PI 1.1 SMM Feature Check-indavidhuang2009-12-231-2/+2
| | | | | | | | | | 1. Add SmmServicesTableLib library class/instance. 2. Add SmmIoLibCpuIo/SmmPciLibPciRootBridgeIo library instance. 3. Update some library INF to support SMM_CORE module type. 4. Update dec/dsc to include new modules. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9590 6f19259b-4bc3-4df7-8a09-765794883524
* Minor update the function interface for three re-allocate pool APIs to check ↵qhuang82009-05-121-12/+8
| | | | | | the conformance of OldBuffer only when the memory allocation succeeds. In this way the assert condition is covered by CopyMem () API in BaseMemoryLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8296 6f19259b-4bc3-4df7-8a09-765794883524
* Add conformance check for OldBuffer and size even if the memory allocation ↵qhuang82009-05-111-7/+11
| | | | | | fails. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8294 6f19259b-4bc3-4df7-8a09-765794883524
* Clarify that FreePages(), FreeAlignedPages(), and FreePool() may perform n ↵mdkinney2009-05-091-3/+6
| | | | | | | | | | | actions if those operations are not possible. For example, the PEI Phase does not provide any services to free allocated pages or allocated pool memory. Update comments in PeiMemoryAllocationLib and UefiMemoryAllocationLib to match updates to MemoryAllocationLib.h. Add ASSERT() statements in PeiMemoryAllocationLib for the FreePages() and FreeAlignedPages() if Pages is 0. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8275 6f19259b-4bc3-4df7-8a09-765794883524
* Clarify ASSERT() conditions for Reallocate Pool functions.mdkinney2009-05-081-8/+8
| | | | | | | | Fix bug in Reallocate Pool functions in PEI Memory Allocation Lib. The wrong memory type was being allocated. This syncs the PEI Memory Allocation Lib with the fix that was previously made to the UEFI Memory Allocation Lib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8269 6f19259b-4bc3-4df7-8a09-765794883524
* Fix the bug that InternalReallocatePool() ignores the input parameter ↵xli242009-04-291-2/+2
| | | | | | PoolType, and does always allocates memory of type EfiBootServicesData. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8198 6f19259b-4bc3-4df7-8a09-765794883524
* Remove wrong comments in function header.qhuang82009-03-101-1/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7855 6f19259b-4bc3-4df7-8a09-765794883524
* Comments have been checked with specjji42008-12-051-4/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6873 6f19259b-4bc3-4df7-8a09-765794883524
* Refine MdePkg library instances: Remove unnecessary EFIAPI modifier for ↵qhuang82008-12-011-1/+0
| | | | | | library worker functions, fix some typos, etc git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6790 6f19259b-4bc3-4df7-8a09-765794883524
* Synchronize function comment in h filegikidy2008-11-261-0/+1
| | | | | | with c file instance of this functions in MdePkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6732 6f19259b-4bc3-4df7-8a09-765794883524
* Clean up the unused EDK_RELEASE_VERSION, PI_SPECIFICATION_VERSION and ↵lgao42008-11-251-1/+0
| | | | | | EFI_SPECIFICATION_VERSION from all the MdePkg INF files. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6716 6f19259b-4bc3-4df7-8a09-765794883524
* Add reallocation functions to the UEFI Memory Allocation Librarymdkinney2008-11-241-4/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6707 6f19259b-4bc3-4df7-8a09-765794883524
* Add ReallocatePool(), ReallocateRuntimePool(), and ReallocateReservedPool() ↵mdkinney2008-11-221-0/+149
| | | | | | to BaseMemoryLib git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6679 6f19259b-4bc3-4df7-8a09-765794883524
* synchronize the MdePkg/Include/Library/MemoryAllocationLib.h,PalLib.h the ↵gikidy2008-11-211-2/+2
| | | | | | MDE_Library_Spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6660 6f19259b-4bc3-4df7-8a09-765794883524
* Remove SafeFreePool from MemoryAllocationLib as this API's name is ↵qwang122008-10-301-20/+0
| | | | | | | | misleading. Its implementation only check if a pointer is NULL. If a garbage pointer is passed in, the gBS->FreePool will still ASSERT in debug build and return error code. It is recommended that module writer should keep track how a pointer is allocated and free it after use. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6305 6f19259b-4bc3-4df7-8a09-765794883524
* Remove unnessary UEFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION in ↵eric_tian2008-10-291-1/+0
| | | | | | INF file git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6281 6f19259b-4bc3-4df7-8a09-765794883524
* Refine file header for INF files of MDE library instances.xli242008-10-281-1/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6273 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Rename following library instances according to MDE Library Spec:xli242008-10-252-0/+734
1) SerialPortLibNull => BaseSerialPortLibNull 2) DxeMemoryLib => UefiMemoryLib 3) DxeMemoryAllocationLib => UefiMemoryAllocationLib 4) CpuLib => BaseCpuLib 5) HiiLib => UefiHiiLib 6) IfrSupportLib => UefiIfrSupportLib 7) PeiPalCallLib => PeiPalLib 2. Add library instances to MDE package 1) DxePalLib 2) FvbServiceLib 3) GraphicsLib git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6221 6f19259b-4bc3-4df7-8a09-765794883524