Reviewed-by: Jian J Wang <jian.j.w...@intel.com>

Regards,
Jian

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray
> Sent: Friday, May 20, 2022 10:16 PM
> To: devel@edk2.groups.io
> Cc: Dong, Eric <eric.d...@intel.com>
> Subject: [edk2-devel] [PATCH 3/5] CpuException: Avoid allocating page but 
> using
> global variables
> 
> Signed-off-by: Ray Ni <ray...@intel.com>
> Cc: Eric Dong <eric.d...@intel.com>
> ---
>  .../CpuExceptionHandlerLib/DxeException.c     | 24 ++++---------------
>  1 file changed, 5 insertions(+), 19 deletions(-)
> 
> diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
> b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
> index da5b96d6c6..f139131a7c 100644
> --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
> +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
> @@ -14,8 +14,8 @@
> 
> 
>  CONST UINTN  mDoFarReturnFlag = 0;
> 
> 
> 
> -RESERVED_VECTORS_DATA      mReservedVectorsData[CPU_EXCEPTION_NUM];
> 
> -EFI_CPU_INTERRUPT_HANDLER
> mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM];
> 
> +RESERVED_VECTORS_DATA
> mReservedVectorsData[CPU_INTERRUPT_NUM];
> 
> +EFI_CPU_INTERRUPT_HANDLER
> mExternalInterruptHandlerTable[CPU_INTERRUPT_NUM];
> 
>  EXCEPTION_HANDLER_DATA     mExceptionHandlerData = {
> 
>    0,   // To be fixed
> 
>    0,   // To be fixed
> 
> @@ -96,27 +96,15 @@ InitializeCpuInterruptHandlers (
>    IA32_DESCRIPTOR                 IdtDescriptor;
> 
>    UINTN                           IdtEntryCount;
> 
>    EXCEPTION_HANDLER_TEMPLATE_MAP  TemplateMap;
> 
> -  RESERVED_VECTORS_DATA           *ReservedVectors;
> 
> -  EFI_CPU_INTERRUPT_HANDLER       *ExternalInterruptHandler;
> 
> -
> 
> -  Status = gBS->AllocatePool (
> 
> -                  EfiBootServicesCode,
> 
> -                  sizeof (RESERVED_VECTORS_DATA) * CPU_INTERRUPT_NUM,
> 
> -                  (VOID **)&ReservedVectors
> 
> -                  );
> 
> -  ASSERT (!EFI_ERROR (Status) && ReservedVectors != NULL);
> 
> -  SetMem ((VOID *)ReservedVectors, sizeof (RESERVED_VECTORS_DATA) *
> CPU_INTERRUPT_NUM, 0xff);
> 
> +
> 
> +  SetMem ((VOID *)mReservedVectorsData, sizeof (RESERVED_VECTORS_DATA)
> * CPU_INTERRUPT_NUM, 0xff);
> 
>    if (VectorInfo != NULL) {
> 
> -    Status = ReadAndVerifyVectorInfo (VectorInfo, ReservedVectors,
> CPU_INTERRUPT_NUM);
> 
> +    Status = ReadAndVerifyVectorInfo (VectorInfo, mReservedVectorsData,
> CPU_INTERRUPT_NUM);
> 
>      if (EFI_ERROR (Status)) {
> 
> -      FreePool (ReservedVectors);
> 
>        return EFI_INVALID_PARAMETER;
> 
>      }
> 
>    }
> 
> 
> 
> -  ExternalInterruptHandler = AllocateZeroPool (sizeof
> (EFI_CPU_INTERRUPT_HANDLER) * CPU_INTERRUPT_NUM);
> 
> -  ASSERT (ExternalInterruptHandler != NULL);
> 
> -
> 
>    //
> 
>    // Read IDT descriptor and calculate IDT size
> 
>    //
> 
> @@ -137,8 +125,6 @@ InitializeCpuInterruptHandlers (
>    ASSERT (TemplateMap.ExceptionStubHeaderSize <= HOOKAFTER_STUB_SIZE);
> 
> 
> 
>    mExceptionHandlerData.IdtEntryCount            = CPU_INTERRUPT_NUM;
> 
> -  mExceptionHandlerData.ReservedVectors          = ReservedVectors;
> 
> -  mExceptionHandlerData.ExternalInterruptHandler = ExternalInterruptHandler;
> 
>    InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock);
> 
> 
> 
>    UpdateIdtTable (IdtTable, &TemplateMap, &mExceptionHandlerData);
> 
> --
> 2.35.1.windows.2
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#89918): https://edk2.groups.io/g/devel/message/89918
> Mute This Topic: https://groups.io/mt/91231769/1768734
> Group Owner: devel+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [jian.j.w...@intel.com]
> -=-=-=-=-=-=
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89940): https://edk2.groups.io/g/devel/message/89940
Mute This Topic: https://groups.io/mt/91231769/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to