]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/X64/EnablePaging64.asm
Refine comments of X64 assembly files of MDE BaseLib.
[mirror_edk2.git] / MdePkg / Library / BaseLib / X64 / EnablePaging64.asm
index 0d64c5513453128a29a6870a1d2f2129bca84b02..bd5770d87cf16980ac61ed3e70189524ced628b2 100644 (file)
@@ -1,6 +1,6 @@
 ;------------------------------------------------------------------------------\r
 ;\r
-; Copyright (c) 2006, Intel Corporation\r
+; Copyright (c) 2006 - 2008, Intel Corporation\r
 ; All rights reserved. This program and the accompanying materials\r
 ; are licensed and made available under the terms and conditions of the BSD License\r
 ; which accompanies this distribution.  The full text of the license may be found at\r
 ;------------------------------------------------------------------------------\r
 InternalX86EnablePaging64 PROC\r
     cli\r
-    mov     dword ptr [rsp], @F         ; offset for far retf, seg is the 1st arg\r
-    mov     rax, cr4                    ; mov eax, cr4\r
+    pop     rax                         ; skip the return address\r
+    call    @Base\r
+@Base:\r
+    add     dword ptr [rsp], @F - @Base ; offset for far retf, seg is the 1st arg\r
+    mov     rax, cr4\r
     or      al, (1 SHL 5)\r
     mov     cr4, rax                    ; enable PAE\r
     mov     ecx, 0c0000080h\r
     rdmsr\r
     or      ah, 1                       ; set LME\r
     wrmsr\r
-    mov     rax, cr0                    ; mov eax, cr0\r
+    mov     rax, cr0\r
     bts     eax, 31\r
     mov     cr0, rax                    ; enable paging\r
     retf\r
@@ -55,7 +58,7 @@ InternalX86EnablePaging64 PROC
     mov     rsp, [esp + 18h]\r
     add     rsp, -20h\r
     call    rbx\r
-    jmp     $                           ; halt processor if EntryPoint() returned\r
+    hlt                                 ; halt processor if EntryPoint() returned\r
 InternalX86EnablePaging64 ENDP\r
 \r
     END\r