summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Pi/PiStatusCode.h
AgeCommit message (Collapse)AuthorFilesLines
2026-09-07MdePkg/Pi: Add EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE Status CodeSachin Ganesh1-0/+1
PI 1.10 defines a new progress status code, EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE (EFI_SUBCLASS_SPECIFIC | 0x0A), reported when a boot option loads, executes, and returns success with control returned to firmware. Add the definition to PiStatusCode.h. Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2026-02-24MdePkg: 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>
2025-09-26MdePkg: Remove ARM32 SupportOliver Smith-Denny1-1/+1
edk2 is dropping support for the ARM32 architecture. This commit removes the remaining ARM32 code from MdePkg. This also removes irrelevant VALID_ARCHITECTURES comments from infs that are not arch specific. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-01-17MdePkg: Add manageability status code defined in PI 1.9 Spec.Nickle Wang1-0/+12
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4483 This change introduces EFI_COMPUTING_UNIT_MANAGEABILITY status code. EFI_COMPUTING_UNIT_MANAGEABILITY is created as one of the subclasses in computing unit class. EFI_COMPUTING_UNIT_MANAGEABILITY will be used in edk2 RedfishPkg and edk2-redfish-client RedfishClientPkg to report Redfish operation errors. It will also be used to report errors in edk2-platforms ManageabilityPkg. PI 1.9 specification, 6.4.1.4.9. Manageability Subclass: * https://uefi.org/specs/PI/1.9/V3_Status_Codes.html#manageability-subclass RFC: * https://edk2.groups.io/g/devel/message/105525 * https://edk2.groups.io/g/devel/message/105595 * https://edk2.groups.io/g/rfc/message/802 Signed-off-by: Nickle Wang <nicklew@nvidia.com>
2023-06-23MdePkg: PiStatusCode: Add TPM subclass definition to MdePkgKun Qin1-0/+1
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3966 This change introduces a new peripheral subclass definition from PI specification v1.8. The new subclass definition will cover system reboot events under the status reports from Trusted Platform Modules (TPMs). These definition could provide helpful datapoints to OEMs to analyze system security state and healthiness, as well as avoid definition collision with other existing peripheral subclass definitions. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Signed-off-by: Kun Qin <kuqin12@gmail.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-06-23MdePkg: PiStatusCode: Add new Host Software class Error Code to MdePkgKun Qin1-20/+21
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3794 This change introduces a new error code definitions under Host Software class according to PI specification v1.8. The new error code definition will cover system reboot events under the conditions of inconsistent memory map from one boot to another. These error codes could provide helpful datapoints to OEMs to investigate and prevent system failures in general. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Signed-off-by: Kun Qin <kuqin12@gmail.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2021-12-07MdePkg: Apply uncrustify changesMichael Kubacki1-133/+132
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>
2020-05-15MdePkg: New Status CodesRobert Phelps1-2/+15
Updated PiStatusCodes to reflect changes to PI 1.7 Specification (PI 1.7 Mantis 1889) Signed-off-by: Robert Phelps <robert@ami.com> Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-04-09MdePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney1-7/+1
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>
2018-06-28MdePkg: Clean up source filesLiming Gao1-11/+11
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>
2017-06-27MdePkg/PiStatusCode: Add new Status Code for BDS when attempting BootOrderDandan Bi1-1/+2
According to new PI spec, add new Status Code to indicate BDS starts attempting booting from the UEFI BootOrder list. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Sunny Wang <sunnywang@hpe.com>
2013-08-09Add new adding ATA related status code in PI 1.3 to definition and ATA modules.Elvin Li1-2/+7
Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14535 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15Remove code comments since PI 1.2c has fixed the typo of some status code name.vanjeff1-2/+0
Signed-off-by: vanjeff Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12702 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-04Add new status code definition in PI 1.2 Errata B.li-elvin1-4/+72
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11616 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-11Update some progress codes name per the PI Spec, 1.2 Errata B. This was one ↵vanjeff1-4/+4
incompatible change. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11380 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-08add note for EFI_SW_PEI_EC_INVALID_CAPSULE_DESCRIPTOR and ↵vanjeff1-1/+3
EFI_SW_PEI_PC_RECOVERY_BEGIN to express they are different with the current PI specification 1.2. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11134 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-08updated progress code definitions to match PI Spec 1.2.vanjeff1-6/+6
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11133 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23Update the copyright notice formathhtian1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10403 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-13Grammatical and disclaimer changes (does not follow internal C coding stds.)myronporter1-31/+31
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10235 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20Add missing status code definitions.klu21-0/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9147 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20Add computing Unit Chipset Subclass Progress Code definitions from PI 1.2 ↵klu21-0/+55
specification. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9146 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-24Move those status code definitions that exactly match the PI 1.2 ↵mdkinney1-36/+997
Specification from the IntelFrameworkPkg to MdePkg git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8988 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-181. Clean up MdePkg internal header fileslgao41-0/+108
The header files in MdePkg/Include/Ia32, X64, Ipf, Ebc, Pi, Uefi directories are the internal header files, which should not be directly included by the modules. This patch cleans these internal header files to remove the uncessary ProcessorBind.h file. 2. Clean up MdePkg public header files to remove the uncessary internal header files. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8324 6f19259b-4bc3-4df7-8a09-765794883524