Move some global variables location from PeiDxeSmmCpuException.c to DxeCpuException.c and SmmCpuException.c. And remove some un-used global vairables.
Cc: Michael Kinney <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Feng Tian <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <[email protected]> --- .../Library/CpuExceptionHandlerLib/DxeException.c | 12 +++++++++--- .../CpuExceptionHandlerLib/PeiDxeSmmCpuException.c | 19 +------------------ .../Library/CpuExceptionHandlerLib/SmmException.c | 14 ++++++++++++-- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c index 3320066..a61a52b 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c @@ -19,9 +19,15 @@ CONST UINTN mDoFarReturnFlag = 0; -extern EFI_CPU_INTERRUPT_HANDLER *mExternalInterruptHandler; -extern RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; -extern EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; +// +// Image align size for DXE/SMM +// +CONST UINTN mImageAlignSize = SIZE_4KB; + +RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; +EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; +UINTN mEnabledInterruptNum = 0; + EXCEPTION_HANDLER_DATA mExceptionHandlerData; /** diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c b/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c index 59a5b45..60f3fdb 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c @@ -15,17 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include "CpuExceptionCommon.h" #include <Library/DebugLib.h> - -// -// Image align size for DXE/SMM -// -CONST UINTN mImageAlignSize = SIZE_4KB; - -RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; -EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; -EFI_CPU_INTERRUPT_HANDLER *mExternalInterruptHandler = NULL; -UINTN mEnabledInterruptNum = 0; - /** Internal worker function for common exception handler. @@ -196,11 +185,6 @@ UpdateIdtTable ( break; } } - - // - // Save Interrupt number to global variable used for RegisterCpuInterruptHandler () - // - mEnabledInterruptNum = ExceptionHandlerData->IdtEntryCount; } /** @@ -237,7 +221,6 @@ InitializeCpuExceptionHandlersWorker ( } } - mExternalInterruptHandler = mExternalInterruptHandlerTable; // // Read IDT descriptor and calculate IDT size // @@ -256,7 +239,7 @@ InitializeCpuExceptionHandlersWorker ( ExceptionHandlerData->IdtEntryCount = IdtEntryCount; UpdateIdtTable (IdtTable, &TemplateMap, ExceptionHandlerData); - mEnabledInterruptNum = IdtEntryCount; + return EFI_SUCCESS; } diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c index 3528c8c..7ad228c 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c @@ -17,8 +17,18 @@ CONST UINTN mDoFarReturnFlag = 1; -extern RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; -extern EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; +// +// Spin lock for CPU information display +// +SPIN_LOCK mDisplayMessageSpinLock; + +// +// Image align size for DXE/SMM +// +CONST UINTN mImageAlignSize = SIZE_4KB; + +RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; +EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; EXCEPTION_HANDLER_DATA mExceptionHandlerData; /** Common exception handler. -- 2.7.4.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

