X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FPiSmmCpuDxeSmm%2FSmramSaveState.c;h=d34345d5ff8034515165fd782c10402a69f88cea;hp=3188d438181ccbed40e9d981e62dd4b8dfe792a9;hb=5a1bfda4bd04815ed8c7489e2db47f9a1f245566;hpb=38a5df04ef05c07085b5787c7eb35d0319663991 diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c b/UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c index 3188d43818..d34345d5ff 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c @@ -105,11 +105,11 @@ typedef struct { /// /// Variables from SMI Handler /// -extern UINT32 gSmbase; -extern volatile UINT32 gSmiStack; -extern UINT32 gSmiCr3; -extern volatile UINT8 gcSmiHandlerTemplate[]; -extern CONST UINT16 gcSmiHandlerSize; +X86_ASSEMBLY_PATCH_LABEL gPatchSmbase; +extern volatile UINT32 gSmiStack; +extern UINT32 gSmiCr3; +extern volatile UINT8 gcSmiHandlerTemplate[]; +extern CONST UINT16 gcSmiHandlerSize; // // Variables used by SMI Handler @@ -718,7 +718,7 @@ InstallSmiHandler ( // gSmiStack = (UINT32)((UINTN)SmiStack + StackSize - sizeof (UINTN)); gSmiCr3 = Cr3; - gSmbase = SmBase; + PatchInstructionX86 (gPatchSmbase, SmBase, 4); gSmiHandlerIdtr.Base = IdtBase; gSmiHandlerIdtr.Limit = (UINT16)(IdtSize - 1);