summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/RuntimeDxe
AgeCommit message (Collapse)AuthorFilesLines
2026-02-24MdeModulePkg: Replace include guards with #pragma onceMichael Kubacki1-4/+1
Replace traditional `#ifndef`/`#define`/`#endif` include guards with `#pragma` once. `#pragma once` is a widely supported preprocessor directive that prevents header files from being included multiple times. It is supported by all toolchains used to build edk2: GCC, Clang/LLVM, and MSVC. Compared to macro-based include guards, `#pragma once`: - Eliminates the risk of macro name collisions or copy/paste errors where two headers inadvertently use the same guard macro. - Eliminate inconsistency in the way include guard macros are named (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.). - Reduces boilerplate (three lines replaced by one). - Avoids polluting the macro namespace with guard symbols. - Can improve build times as the preprocessor can skip re-opening the file entirely, rather than re-reading it to find the matching `#endif` ("multiple-include optimization"). - Note that some compilers may already optimize traditional include guards, by recognzining the idiomatic pattern. This change is made acknowledging that overall portability of the code will technically be reduced, as `#pragma once` is not part of the C/C++ standards. However, this is considered acceptable given: 1. edk2 already defines a subset of supported compilers in BaseTools/Conf/tools_def.template, all of which have supported `#pragma once` for over two decades. 2. There have been concerns raised to the project about inconsistent include guard naming and potential macro collisions. Approximate compiler support dates: - MSVC: Supported since Visual C++ 4.2 (1996) - GCC: Supported since 3.4 (2004) (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html) - Clang (LLVM based): Since initial release in 2007 Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-02-10MdeModulePkg: Align RuntimeDxe function headers with UEFI return valuesSuqiang Ren2-2/+18
RuntimeDxe is used to back the runtime services time functions, so align the description of the function return values with the defined values for these services as described in UEFI Spec 2.10. REF: UEFI spec 2.10 section 8 Services ? Runtime Services Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2022-02-07MdeModulePkg/RuntimeDxe: clear mVirtualMapMaxIndexGerd Hoffmann1-1/+2
When setting mVirtualMap to NULL also set mVirtualMapMaxIndex to 0. Without that RuntimeDriverConvertPointer() will go search the ZeroPage for EFI_MEMORY_DESCRIPTOR entries. In case mVirtualMapMaxIndex happens to be small small enough that'll go unnoticed, the search will not find anything and EFI_NOT_FOUND will be returned. In case mVirtualMapMaxIndex is big enough the search will reach the end of the ZeroPage and trigger a page fault. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-12-07MdeModulePkg: Apply uncrustify changesMichael Kubacki3-56/+58
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg 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>
2019-10-09MdeModulePkg: document workaround for EFI_RUNTIME_EVENT_ENTRY PI spec bugLaszlo Ersek1-1/+9
The PI spec (v1.7) correctly specifies "EFI_RUNTIME_EVENT_ENTRY.Event" in natural language, but the field type in the structure definition itself is wrong -- it should be EFI_EVENT, not (EFI_EVENT*). This spec bug is likely unfixable for compatibility reasons, and so edk2 works it around already. We should clearly document the workaround. Functionally, this patch is a no-op. (I've also requested a non-normative (informative) clarification for the PI spec: <https://mantis.uefi.org/mantis/view.php?id=2017>.) Cc: Dandan Bi <dandan.bi@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2019-04-09MdeModulePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney6-39/+6
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: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
2018-09-06MdeModulePkg: Removing ipf which is no longer supported from edk2.Chen A Chen1-1/+1
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: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@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: Star Zeng <star.zeng@intel.com>
2018-06-28MdeModulePkg: Clean up source filesLiming Gao2-7/+7
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> Reviewed-by: Star Zeng <star.zeng@intel.com>
2017-10-16MdeModulePkg: Update RuntimeDxe Crc32 to check the input parameterLiming Gao1-0/+4
This is the regression issue. After apply CalculateCrc32(), the parameter check is missing. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Wu Hao A <hao.a.wu@intel.com>
2017-10-10MdeModulePkg: Update modules to consume CalculateCrc32()Liming Gao3-85/+3
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2015-12-15MdeModulePkg: Convert all .uni files to utf-8Jordan Justen2-0/+0
To convert these files I ran: $ python3 BaseTools/Scripts/ConvertUni.py MdeModulePkg 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> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19257 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-10MdeModulePkg: Roll back report status code change in ↵Elvin Li1-4/+5
RuntimeDriverSetVirtualAddressMap. Roll back report status code to original place in RuntimeDriverSetVirtualAddressMap. Per UEFI spec, the call to SetVirtualAddressMap() must be done with the physical mappings. We can not assume virtual address could work in SetVirtualAddressMap (), so we can not call report status code interface with virtual address. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17139 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-09MdeModulePkg: Put report status code at the end of ↵Elvin Li1-5/+4
RuntimeDriverSetVirtualAddressMap. Move report status code to the end after all pointers convert and image relocation are finished. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17136 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-07MdeModulePkg: Put report status code after event was signaled per PI spec.Elvin Li1-6/+6
For PI spec vol3, "EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT The EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event was signaled." However, in current code base, it is reported before events were signaled. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17123 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03MdeModulePkg: Convert non DOS format files to DOS format and remove unused ↵Gao, Liming1-0/+0
module UNI files. 1. Module UNI and Package UNI files are not DOS format. Convert them to DOS format. 2. Remove unused SectionExtractionDxeModStrs.uni and SectionExtractionPeiModStrs.uni 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@16044 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28MdeModulePkg: INF/DEC file updates to EDK II packagesZeng, Star2-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. 3. Add Module Extra UNI file that provides the localized Name of a module. a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method for a module to specify extra files not listed in [Sources] or [Binaries] sections to be added to a UDP without having to list the files in the UPT package information data file. b. There will be an associated update to UPT in BaseTools to package up files listed in [UserExtensions.TianoCore."ExtraFiles"] during UDP creation. c. UNI file contains localized name of a module to go along with the localized Abstract and Description from the MODULE_UNI_FILE. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zeng, Star <star.zeng@intel.com> Reviewed-by: Gao, Liming <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15963 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28MdeModulePkg: INF/DEC file updates to EDK II packagesZeng, Star1-2/+6
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: Zeng, Star <star.zeng@intel.com> Reviewed-by: Gao, Liming <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15962 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-30Add missing status code in several modules.li-elvin1-1/+6
Signed-off-by: Li Elvin <elvin.li@intel.com> Reviewed-by: Yao Jiewen <jiewen.yao@intel.com> Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com> Reviewed-by: Gao Liming <liming.gao@intel.com> Reviewed-by: Tian Feng <feng.tian@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13890 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24Update the copyright notice formathhtian4-8/+8
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-241. Correct File header to ## @filelgao41-3/+3
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
2010-01-27Remove reference to PCDs of status code value. Use macros introduced in ↵xli243-9/+5
PI1.2 instead. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9833 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14Fix the issue in MdeModulePkg that mismatch between PCD type and the PCD Lib ↵rsun31-1/+1
API to get the PCD. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9751 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-12Correct #include statements. This is a DXE DRIVER, not a UEFI module.mdkinney1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8898 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10Update Comment for the call to EDKII ReportStatuslgao41-3/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7845 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-20Meta-data review.gikidy1-2/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7319 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-23Code scrub DxeIpl, Runtime, DevicePath, FvbServicesLib, DiskIo, Partition, ↵qhuang83-22/+26
English, EBC. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7105 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12Change EFI_OPTIONAL_POINTER to EFI_OPTIONAL_PTRlgao41-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7015 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12INF head modifiedjji41-3/+3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7002 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-08Move NEXT_MEMORY_DESCRIPTOR() from UefiSpec.h to UEFI Librarymdkinney2-0/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6898 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-06Change _CR() to BASE_CR() to follow naming conventionmdkinney1-2/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6888 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and ↵gikidy1-2/+0
review VALID_ARCHITECTURES in inf files with DSC file. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05Remove over specific library classklu22-2/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6387 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28clean up EBC in inf files.vanjeff1-0/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6267 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-24ECC Clean up.vanjeff1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6205 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04clean up the un-suitable ';' location when declaring the functions.vanjeff1-10/+5
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5820 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-30The driver and library in MdePkg, MdeModulePkg and Nt32Pkg that don't depend ↵lgao42-2/+2
on PI spec should include Uefi.h not PiDxe.h. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5758 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-25remove the unused msa files in MdeModulePkg.lgao41-87/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5726 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-28modify coding style to pass ecc tooleric_tian2-37/+16
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5575 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-14Clean up Runtime for Doxygen comments requirement.qwang123-206/+143
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5460 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-10apply for doxgen format.vanjeff3-76/+52
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5038 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-20Revert R4300 change, Runtime driver doesn't need to covert the physical ↵lgao43-49/+2
address stored in the configure tables after SetVirtualAddressMap(). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4305 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-16Convert the capsule image address installed in Configuration table to ↵lgao43-0/+44
virtual address. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4300 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-17Merger trackers #7807 and #8372. vanjeff1-14/+13
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4153 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-30Update all INF, DEC and DSC file to confirm to newest INF spec 0.44, DEC ↵qhuang81-2/+2
spec 0.41, DSC spec 0.40. Mainly PCD syntax update. Check in new build.exe and GenFds.exe Check in PcdSyntaxUpdate.exe tool. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3744 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20remove some comments introduced by tools.vanjeff1-3/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3387 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-19Move RuntimeDxe to /Core of MdeModulePkg.yshang15-0/+940
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3363 6f19259b-4bc3-4df7-8a09-765794883524