]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/X64/Thunk16.asm
Use rsp instead of esp to save 64-bit stack pointer.
[mirror_edk2.git] / MdePkg / Library / BaseLib / X64 / Thunk16.asm
index 01051341f6d4d76a7d709fdc124727515ef10c70..e01de272d22bc0bbddacd216fcc71305f80c0a1f 100644 (file)
@@ -142,8 +142,8 @@ SavedCr0    DD      ?
 SavedCs     DW      ?\r
 @64BitCode:\r
     db      090h \r
-    db      067h, 0bch                 ; mov esp, imm32\r
-SavedSp     DD   ?                     ; restore stack\r
+    db      048h, 0bch                 ; mov rsp, imm64\r
+SavedSp     DQ   ?                     ; restore stack\r
     nop\r
     ret\r
 _BackFromUserCode   ENDP\r
@@ -294,7 +294,7 @@ InternalAsmThunk16  PROC    USES    rbp rbx rsi rdi
     push    r8\r
     mov     r8d, cs\r
     mov     [rcx + (SavedCs - SavedCr4)], r8w\r
-    mov     [rcx + (SavedSp - SavedCr4)], esp\r
+    mov     [rcx + (SavedSp - SavedCr4)], rsp\r
     jmp     fword ptr [rcx + (_EntryPoint - SavedCr4)]\r
 @RetFromRealMode:\r
     popfq\r