summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/X64/DisablePaging64.S
diff options
context:
space:
mode:
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-28 14:23:36 +0000
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-28 14:23:36 +0000
commit2faf4da5f757acc60e690c13e41d7c46ba6d8613 (patch)
tree9094b59434df9bb9c62e7e34f0fbd22a18e5a594 /MdePkg/Library/BaseLib/X64/DisablePaging64.S
parent405b567555b3e133ba9b49be3821c3b1b0e2a120 (diff)
downloadedk2-platforms-2faf4da5f757acc60e690c13e41d7c46ba6d8613.tar.xz
Refine comments of X64 assembly files of MDE BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6277 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib/X64/DisablePaging64.S')
-rw-r--r--MdePkg/Library/BaseLib/X64/DisablePaging64.S34
1 files changed, 17 insertions, 17 deletions
diff --git a/MdePkg/Library/BaseLib/X64/DisablePaging64.S b/MdePkg/Library/BaseLib/X64/DisablePaging64.S
index 7a543febab..e4f77970ed 100644
--- a/MdePkg/Library/BaseLib/X64/DisablePaging64.S
+++ b/MdePkg/Library/BaseLib/X64/DisablePaging64.S
@@ -27,39 +27,39 @@
# VOID
# EFIAPI
# InternalX86DisablePaging64 (
-# IN UINT16 Cs, %rdi
-# IN UINT64 EntryPoint, %rsi
-# IN UINT64 Context1, OPTIONAL %rdx
-# IN UINT32 Context2, OPTIONAL %rcx
-# IN UINT64 NewStack %r8
+# IN UINT16 Cs,
+# IN UINT64 EntryPoint,
+# IN UINT64 Context1, OPTIONAL
+# IN UINT32 Context2, OPTIONAL
+# IN UINT64 NewStack
# );
#------------------------------------------------------------------------------
.global ASM_PFX(InternalX86DisablePaging64)
ASM_PFX(InternalX86DisablePaging64):
cli
- shl $0x20,%rcx
+ shl $0x20,%rcx # rcx[32..47] <- Cs
lea L1, %eax
mov %r8d, %esi
- or %rax, %rcx
+ or %rax, %rcx # rcx[0..47] <- Cs:@F
mov %r9d, %edi
- mov 0x28(%rsp), %eax
+ mov 0x28(%rsp), %eax # eax <- New Stack
push %rcx
- ret
+ ret # switch to compatibility mode
L1:
- mov %eax,%esp
+ mov %eax,%esp # set up new stack
mov %cr0,%rax
btr $0x1f,%eax
- mov %rax,%cr0
+ mov %rax,%cr0 # disable paging
mov $0xc0000080,%ecx
rdmsr
- and $0xfe,%ah
+ and $0xfe,%ah # clear LME
wrmsr
mov %cr4,%rax
- and $0xdf,%al
+ and $0xdf,%al # clear PAE
mov %rax,%cr4
- push %rdi
- push %rsi
- callq *%rdx
- jmp .
+ push %rdi # push Context2
+ push %rsi # push Context1
+ callq *%rdx # transfer control to EntryPoint
+ jmp . # no one should get here