summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/X64/DisablePaging64.S
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseLib/X64/DisablePaging64.S')
-rw-r--r--MdePkg/Library/BaseLib/X64/DisablePaging64.S19
1 files changed, 9 insertions, 10 deletions
diff --git a/MdePkg/Library/BaseLib/X64/DisablePaging64.S b/MdePkg/Library/BaseLib/X64/DisablePaging64.S
index 4ca4145fa2..7a543febab 100644
--- a/MdePkg/Library/BaseLib/X64/DisablePaging64.S
+++ b/MdePkg/Library/BaseLib/X64/DisablePaging64.S
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#
-# Copyright (c) 2006, Intel Corporation
+# Copyright (c) 2006 - 2008, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -39,14 +39,13 @@
ASM_PFX(InternalX86DisablePaging64):
cli
shl $0x20,%rcx
- lea (%rip), %eax
- mov %eax,%ecx
- push %rcx
- mov %edx,%ebx
- mov %r8d,%esi
- mov %r9d,%edi
- mov 0x28(%rsp),%eax
- lret
+ lea L1, %eax
+ mov %r8d, %esi
+ or %rax, %rcx
+ mov %r9d, %edi
+ mov 0x28(%rsp), %eax
+ push %rcx
+ ret
L1:
mov %eax,%esp
mov %cr0,%rax
@@ -61,6 +60,6 @@ L1:
mov %rax,%cr4
push %rdi
push %rsi
- callq *%rbx
+ callq *%rdx
jmp .