summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm1
-rw-r--r--MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm b/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
index 6741405cbc..2f968cac2f 100644
--- a/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
+++ b/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
@@ -92,6 +92,7 @@ EbcLLCALLEXNative ENDP
; The contents of the register in which the entry point is passed.
;
EbcLLGetEbcEntryPoint PROC PUBLIC
+ mov rax, r10
ret
EbcLLGetEbcEntryPoint ENDP
diff --git a/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c b/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c
index 3f84bcc496..6c0428d9cc 100644
--- a/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c
+++ b/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c
@@ -412,14 +412,14 @@ EbcCreateThunks (
//
// Add code bytes to load up a processor register with the EBC entry point.
- // mov rax, 123456789abcdef0h => 48 B8 F0 DE BC 9A 78 56 34 12
+ // mov r10, 123456789abcdef0h => 48 B8 F0 DE BC 9A 78 56 34 12
// The first 8 bytes of the thunk entry is the address of the EBC
// entry point.
//
- *Ptr = 0x48;
+ *Ptr = 0x49;
Ptr++;
Size--;
- *Ptr = 0xB8;
+ *Ptr = 0xBA;
Ptr++;
Size--;
Addr = (UINT64) EbcEntryPoint;