summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-07-22 06:29:29 +0000
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-07-22 06:29:29 +0000
commit6a60f8cb11317bf50e28f4b8be0a99d6602191d8 (patch)
tree5e9d2a0fdfc6e76843e16df7d997e3c90f62553d
parent14c48571ae607277d11132c5e085d3ec1f12d236 (diff)
downloadedk2-6a60f8cb11317bf50e28f4b8be0a99d6602191d8.zip
edk2-6a60f8cb11317bf50e28f4b8be0a99d6602191d8.tar.gz
edk2-6a60f8cb11317bf50e28f4b8be0a99d6602191d8.tar.bz2
Fix a bug in SmmBaseHelper driver that the JMP instruction which jumps to the original page fault handler is incorrect.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10681 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S2
-rw-r--r--EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.asm6
2 files changed, 4 insertions, 4 deletions
diff --git a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S
index bcf2bd6..5a50507 100644
--- a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S
+++ b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S
@@ -40,7 +40,7 @@ ASM_PFX(PageFaultHandlerHook):
popq %rcx
popq %rax # restore all volatile registers
jnz L1
- jmp ASM_PFX(mOriginalHandler)
+ jmpq *ASM_PFX(mOriginalHandler)
L1:
addq $0x08, %rsp # skip error code for PF
iretq
diff --git a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.asm b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.asm
index 2c695e3..2bc6abd 100644
--- a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.asm
+++ b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.asm
@@ -19,8 +19,8 @@
;
;------------------------------------------------------------------------------
-mOriginalHandler PROTO
-PageFaultHandler PROTO
+EXTERN mOriginalHandler:QWORD
+EXTERN PageFaultHandler:PROC
.code
@@ -49,4 +49,4 @@ PageFaultHandlerHook PROC
add rsp, 08h ; skip error code for PF
iretq
PageFaultHandlerHook ENDP
- END \ No newline at end of file
+ END