From 34d505123e4e7690b29a0926949a1868c49f8b44 Mon Sep 17 00:00:00 2001 From: Ray Ni Date: Wed, 18 May 2022 13:56:05 +0800 Subject: [PATCH] CpuException: Init global variables in-place Additionally removed two useless global variables: "SPIN_LOCK mDisplayMessageSpinLock" from SMM instance. "UINTN mEnabledInterruptNum" from DXE instance. Signed-off-by: Ray Ni Cc: Eric Dong --- .../Library/CpuExceptionHandlerLib/DxeException.c | 11 ++++++----- .../Library/CpuExceptionHandlerLib/SmmException.c | 14 ++++++-------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c index 5083c4b8e8..da5b96d6c6 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c @@ -16,9 +16,12 @@ CONST UINTN mDoFarReturnFlag = 0; RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; -UINTN mEnabledInterruptNum = 0; - -EXCEPTION_HANDLER_DATA mExceptionHandlerData; +EXCEPTION_HANDLER_DATA mExceptionHandlerData = { + 0, // To be fixed + 0, // To be fixed + mReservedVectorsData, + mExternalInterruptHandlerTable +}; UINT8 mNewStack[CPU_STACK_SWITCH_EXCEPTION_NUMBER * CPU_KNOWN_GOOD_STACK_SIZE]; @@ -62,8 +65,6 @@ InitializeCpuExceptionHandlers ( IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL ) { - mExceptionHandlerData.ReservedVectors = mReservedVectorsData; - mExceptionHandlerData.ExternalInterruptHandler = mExternalInterruptHandlerTable; InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock); return InitializeCpuExceptionHandlersWorker (VectorInfo, &mExceptionHandlerData); } diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c index 77ee74579f..9f0af4120a 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c @@ -11,14 +11,14 @@ CONST UINTN mDoFarReturnFlag = 1; -// -// Spin lock for CPU information display -// -SPIN_LOCK mDisplayMessageSpinLock; - RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM]; -EXCEPTION_HANDLER_DATA mExceptionHandlerData; +EXCEPTION_HANDLER_DATA mExceptionHandlerData = { + 0, // To be fixed + 0, // To be fixed + mReservedVectorsData, + mExternalInterruptHandlerTable +}; /** Common exception handler. @@ -58,8 +58,6 @@ InitializeCpuExceptionHandlers ( IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL ) { - mExceptionHandlerData.ReservedVectors = mReservedVectorsData; - mExceptionHandlerData.ExternalInterruptHandler = mExternalInterruptHandlerTable; InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock); return InitializeCpuExceptionHandlersWorker (VectorInfo, &mExceptionHandlerData); } -- 2.39.2