projects
/
mirror_edk2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiStack" with PatchInstructionX86()
[mirror_edk2.git]
/
UefiCpuPkg
/
PiSmmCpuDxeSmm
/
Ia32
/
SmiEntry.nasm
diff --git
a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm
b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm
index e6e29128e64eb9ebb40094f632e75f259091e33b..0ea3c1e4498dbc1f434267c53abea02eb3dc828c 100644
(file)
--- a/
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm
+++ b/
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm
@@
-45,7
+45,7
@@
extern ASM_PFX(CpuSmmDebugExit)
global ASM_PFX(gcSmiHandlerTemplate)
\r
global ASM_PFX(gcSmiHandlerSize)
\r
global ASM_PFX(gSmiCr3)
\r
global ASM_PFX(gcSmiHandlerTemplate)
\r
global ASM_PFX(gcSmiHandlerSize)
\r
global ASM_PFX(gSmiCr3)
\r
-global ASM_PFX(gSmiStack)
\r
+global ASM_PFX(g
Patch
SmiStack)
\r
global ASM_PFX(gPatchSmbase)
\r
global ASM_PFX(mXdSupported)
\r
extern ASM_PFX(gSmiHandlerIdtr)
\r
global ASM_PFX(gPatchSmbase)
\r
global ASM_PFX(mXdSupported)
\r
extern ASM_PFX(gSmiHandlerIdtr)
\r
@@
-86,8
+86,8
@@
o16 mov es, ax
o16 mov fs, ax
\r
o16 mov gs, ax
\r
o16 mov ss, ax
\r
o16 mov fs, ax
\r
o16 mov gs, ax
\r
o16 mov ss, ax
\r
- DB 0xbc ; mov esp, imm32
\r
-ASM_PFX(g
SmiStack): DD 0
\r
+ mov esp, strict dword 0 ; source operand will be patched
\r
+ASM_PFX(g
PatchSmiStack):
\r
mov eax, ASM_PFX(gSmiHandlerIdtr)
\r
lidt [eax]
\r
jmp ProtFlatMode
\r
mov eax, ASM_PFX(gSmiHandlerIdtr)
\r
lidt [eax]
\r
jmp ProtFlatMode
\r