Signed-off-by: Ray Ni <ray.ni@...>
Cc: Eric Dong <eric.dong@...>
---
.../CpuExceptionHandlerLib/DxeException.c | 24 ++++---------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c b/Uef=
iCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
index da5b96d6c6..f139131a7c 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
@@ -14,8 +14,8 @@
=0D
CONST UINTN mDoFarReturnFlag =3D 0;=0D
=0D
-RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM];=0D
-EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NU=
M];=0D
+RESERVED_VECTORS_DATA mReservedVectorsData[CPU_INTERRUPT_NUM];=0D
+EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_INTERRUPT_NU=
M];=0D
EXCEPTION_HANDLER_DATA mExceptionHandlerData =3D {=0D
0, // To be fixed=0D
0, // To be fixed=0D
@@ -96,27 +96,15 @@ InitializeCpuInterruptHandlers (
IA32_DESCRIPTOR IdtDescriptor;=0D
UINTN IdtEntryCount;=0D
EXCEPTION_HANDLER_TEMPLATE_MAP TemplateMap;=0D
- RESERVED_VECTORS_DATA *ReservedVectors;=0D
- EFI_CPU_INTERRUPT_HANDLER *ExternalInterruptHandler;=0D
-=0D
- Status =3D gBS->AllocatePool (=0D
- EfiBootServicesCode,=0D
- sizeof (RESERVED_VECTORS_DATA) * CPU_INTERRUPT_NUM,=0D
- (VOID **)&ReservedVectors=0D
- );=0D
- ASSERT (!EFI_ERROR (Status) && ReservedVectors !=3D NULL);=0D
- SetMem ((VOID *)ReservedVectors, sizeof (RESERVED_VECTORS_DATA) * CPU_IN=
TERRUPT_NUM, 0xff);=0D
+=0D
+ SetMem ((VOID *)mReservedVectorsData, sizeof (RESERVED_VECTORS_DATA) * C=
PU_INTERRUPT_NUM, 0xff);=0D
if (VectorInfo !=3D NULL) {=0D
- Status =3D ReadAndVerifyVectorInfo (VectorInfo, ReservedVectors, CPU_I=
NTERRUPT_NUM);=0D
+ Status =3D ReadAndVerifyVectorInfo (VectorInfo, mReservedVectorsData, =
CPU_INTERRUPT_NUM);=0D
if (EFI_ERROR (Status)) {=0D
- FreePool (ReservedVectors);=0D
return EFI_INVALID_PARAMETER;=0D
}=0D
}=0D
=0D
- ExternalInterruptHandler =3D AllocateZeroPool (sizeof (EFI_CPU_INTERRUPT=
_HANDLER) * CPU_INTERRUPT_NUM);=0D
- ASSERT (ExternalInterruptHandler !=3D NULL);=0D
-=0D
//=0D
// Read IDT descriptor and calculate IDT size=0D
//=0D
@@ -137,8 +125,6 @@ InitializeCpuInterruptHandlers (
ASSERT (TemplateMap.ExceptionStubHeaderSize <=3D HOOKAFTER_STUB_SIZE);=0D
=0D
mExceptionHandlerData.IdtEntryCount =3D CPU_INTERRUPT_NUM;=0D
- mExceptionHandlerData.ReservedVectors =3D ReservedVectors;=0D
- mExceptionHandlerData.ExternalInterruptHandler =3D ExternalInterruptHand=
ler;=0D
InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock);=0D
=0D
UpdateIdtTable (IdtTable, &TemplateMap, &mExceptionHandlerData);=0D
--=20
2.35.1.windows.2