[PATCH 2/5] CpuException: Init global variables in-place


Ni, Ray
 

Additionally removed two useless global variables:
"SPIN_LOCK mDisplayMessageSpinLock" from SMM instance.
"UINTN mEnabledInterruptNum" from DXE instance.

Signed-off-by: Ray Ni <ray.ni@...>
Cc: Eric Dong <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/Uef=
iCpuPkg/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 =3D 0;
=0D
RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM];=0D
EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NU=
M];=0D
-UINTN mEnabledInterruptNum =3D 0;=0D
-=0D
-EXCEPTION_HANDLER_DATA mExceptionHandlerData;=0D
+EXCEPTION_HANDLER_DATA mExceptionHandlerData =3D {=0D
+ 0, // To be fixed=0D
+ 0, // To be fixed=0D
+ mReservedVectorsData,=0D
+ mExternalInterruptHandlerTable=0D
+};=0D
=0D
UINT8 mNewStack[CPU_STACK_SWITCH_EXCEPTION_NUMBER *=0D
CPU_KNOWN_GOOD_STACK_SIZE];=0D
@@ -62,8 +65,6 @@ InitializeCpuExceptionHandlers (
IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL=0D
)=0D
{=0D
- mExceptionHandlerData.ReservedVectors =3D mReservedVectorsData;=
=0D
- mExceptionHandlerData.ExternalInterruptHandler =3D mExternalInterruptHan=
dlerTable;=0D
InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock);=0D
return InitializeCpuExceptionHandlersWorker (VectorInfo, &mExceptionHand=
lerData);=0D
}=0D
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c b/Uef=
iCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c
index 77ee74579f..9f0af4120a 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmException.c
@@ -11,14 +11,14 @@
=0D
CONST UINTN mDoFarReturnFlag =3D 1;=0D
=0D
-//=0D
-// Spin lock for CPU information display=0D
-//=0D
-SPIN_LOCK mDisplayMessageSpinLock;=0D
-=0D
RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM];=0D
EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NU=
M];=0D
-EXCEPTION_HANDLER_DATA mExceptionHandlerData;=0D
+EXCEPTION_HANDLER_DATA mExceptionHandlerData =3D {=0D
+ 0, // To be fixed=0D
+ 0, // To be fixed=0D
+ mReservedVectorsData,=0D
+ mExternalInterruptHandlerTable=0D
+};=0D
=0D
/**=0D
Common exception handler.=0D
@@ -58,8 +58,6 @@ InitializeCpuExceptionHandlers (
IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL=0D
)=0D
{=0D
- mExceptionHandlerData.ReservedVectors =3D mReservedVectorsData;=
=0D
- mExceptionHandlerData.ExternalInterruptHandler =3D mExternalInterruptHan=
dlerTable;=0D
InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock);=0D
return InitializeCpuExceptionHandlersWorker (VectorInfo, &mExceptionHand=
lerData);=0D
}=0D
--=20
2.35.1.windows.2

Join {devel@edk2.groups.io to automatically receive all group messages.