summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/DebugSupportDxe/Ia32
AgeCommit message (Collapse)AuthorFilesLines
2026-02-24MdeModulePkg: Replace include guards with #pragma onceMichael Kubacki2-8/+2
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-11-21MdeModulePkg/DebugSupportDxe: Fix incompatible pointer typesOliver Steffen1-2/+2
GCC 15 enforces stricter type checking for function pointers. When passing EFI_PERIODIC_CALLBACK and EFI_EXCEPTION_CALLBACK to ManageIdtEntryTable, explicit casts to CALLBACK_FUNC are required to avoid incompatible pointer type errors. Add explicit casts at the call sites in RegisterPeriodicCallback and RegisterExceptionCallback functions. Signed-off-by: Oliver Steffen <osteffen@redhat.com> (cherry picked from commit ff28da41c2e23b9d5de34e729ecfb72c37ac63bf)
2025-06-13MdeModulePkg/DebugSupportDxe: Fix type mismatchesMichael D Kinney1-9/+16
The RegisteredCallback field of IdtEntryTable is used to store the address of functions with different function prototypes depending on the ExceptionType. Add local variables with the correct function prototypes and evaluate the ExceptionType to assign correct local variable to the RegisteredCallback value and use local variable to call the registered callback function with the correct arguments for the ExceptionType. Update declaration of InterruptDistrubutionHub() to use the non-CPU specific EFI_SYSTEM_CONTEXT parameter type instead of the IA32 specific EFI_SYSTEM_CONTEXT_IA32 because this function is used for both IA32 and X64. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-03-01MdeModulePkg: Replace Opcode with the corresponding instructions.Jason1-17/+3
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3790 Replace Opcode with the corresponding instructions. The code changes have been verified with CompareBuild.py tool, which can be used to compare the results of two different EDK II builds to determine if they generate the same binaries. (tool link: https://github.com/mdkinney/edk2/tree/sandbox/CompareBuild) Signed-off-by: Jason Lou <yun.lou@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-12-07MdeModulePkg: Apply uncrustify changesMichael Kubacki4-86/+91
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-04-09MdeModulePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney5-35/+5
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-06-28MdeModulePkg: Clean up source filesLiming Gao3-70/+70
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>
2018-06-07MdeModulePkg: Remove X86 ASM and S filesLiming Gao2-916/+0
NASM has replaced ASM and S files. 1. Remove ASM from all modules. 2. Remove S files from the drivers only. 3. https://bugzilla.tianocore.org/show_bug.cgi?id=881 After NASM is updated, S files can be removed from Library. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2016-06-28MdeModulePkg DebugSupportDxe: Convert Ia32/AsmFuncs.asm to NASMJordan Justen1-0/+499
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert Ia32/AsmFuncs.asm to Ia32/AsmFuncs.nasm Note: Also applied many manual cleanups where conversion script failed And, update Vect2Desc() to be same to original logic Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Star Zeng <star.zeng@intel.com>
2012-11-01MdeModulePkg: eliminate all implicit library dependencies for all modules in ↵erictian1-1/+0
MdeModulePkg on PcdLib Signed-off-by: Tian Feng <feng.tian@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13909 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-17A complement fix for revision 11664 to update GCC assembly files : clear the ↵rsun31-1/+4
direction flag in interrupt/exception handlers' assembly entry code before calling C functions to follow the UEFI calling convention. Signed-off-by: rsun3 Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11670 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-16Clear the direction flag in interrupt/exception handlers' assembly entry ↵rsun31-1/+4
code before calling C functions to follow the UEFI calling convention. Signed-off-by: rsun3 Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11664 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24Update the copyright notice formathhtian6-12/+12
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-19Improve coding style in MdeModulePkg.rsun33-8/+13
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9793 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20Replace .globl with ASM_GLOBALxli241-10/+10
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8346 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-11Fix various 'EFIAPI' inconsistencies found while building MdeModulePkg.jljusten3-8/+8
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8062 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-04retired PcdNtEmulatorEnable.vanjeff1-20/+18
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7792 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-30Check comments, format and fix some typo.gikidy1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7154 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-301. Use Mde library for Debug Port Modulevanjeff1-2/+6
2. Minimum changed for Debug Support Module. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7153 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16code scrub:vanjeff3-17/+195
1. updated functions header. 2. sync some comments for .S files. 3. fixed some error in AsmFuncs.S git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7044 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-15Port AsmFuncs.s to pass CYGWINGCC build for x64.vanjeff2-1/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7033 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-11code scrub for DebugSpport Module.vanjeff5-272/+236
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6997 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-111. Merger generic functions into one file.vanjeff5-330/+486
2. Use the basic definitions in BaseLib.h, instead of local definitions git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6986 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05ECC clean up.vanjeff2-380/+225
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6405 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-04filename renaming to meet coding style.vanjeff1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6371 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-04Renamed remotelyvanjeff1-0/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6365 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-04Renamed remotelyvanjeff1-0/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6364 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30Patch to remove STATIC modifier. This is on longer recommended by EFI ↵jji41-3/+0
Framework coding style. All duplicated symbols has been renamed accordingly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6296 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04clean up the un-suitable ';' location when declaring the functions.vanjeff1-2/+1
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 ↵lgao41-1/+1
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-07-16Fix a porting issue.qhuang81-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5480 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-111. add public functions header.vanjeff2-42/+44
2. apply for doxgen format for file header. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5043 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20remove some comments introduced by tools.vanjeff1-9/+3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3387 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-03Add DebugPort & DebugSupport driversqhuang84-0/+1606
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3018 6f19259b-4bc3-4df7-8a09-765794883524