X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseLib%2FIa32%2FEnablePaging64.S;h=08950ce0e2b7155c9e47825546bfb5a9595d2f54;hp=44b7e16558fd8cafdf08fdc63a532cc182a6b8c8;hb=881813d7a93d9009c873515b043c41c4554779e4;hpb=e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8 diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.S b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.S index 44b7e16558..08950ce0e2 100644 --- a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.S +++ b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.S @@ -1,22 +1,17 @@ -// -// Include common header file for this module. -// -#include "CommonHeader.h" - #------------------------------------------------------------------------------ # -# Copyright (c) 2006, Intel Corporation -# All rights reserved. This program and the accompanying materials +# 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 -# http://opensource.org/licenses/bsd-license.php +# http://opensource.org/licenses/bsd-license.php. # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # # Module Name: # -# EnablePaging64.Asm +# EnablePaging64.S # # Abstract: # @@ -26,7 +21,7 @@ # #------------------------------------------------------------------------------ -.globl ASM_PFX(InternalX86EnablePaging64) +ASM_GLOBAL ASM_PFX(InternalX86EnablePaging64) #------------------------------------------------------------------------------ # VOID @@ -41,7 +36,7 @@ #------------------------------------------------------------------------------ ASM_PFX(InternalX86EnablePaging64): cli - movl $LongStart, (%esp) + movl $LongStart, (%esp) # offset for far retf, seg is the 1st arg movl %cr4, %eax orb $0x20, %al movl %eax, %cr4 # enable PAE @@ -50,11 +45,11 @@ ASM_PFX(InternalX86EnablePaging64): orb $1, %ah # set LME wrmsr movl %cr0, %eax - btsl $31, %eax + btsl $31, %eax # set PG movl %eax, %cr0 # enable paging - lret + lret # topmost 2 dwords hold the address LongStart: # long mode starts here - .byte 0x67, 0x48 + .byte 0x67, 0x48 # 32-bit address size, 64-bit operand size movl (%esp), %ebx # mov rbx, [esp] .byte 0x67, 0x48 movl 8(%esp), %ecx # mov rcx, [esp + 8] @@ -63,6 +58,6 @@ LongStart: # long mode starts here .byte 0x67, 0x48 movl 0x18(%esp), %esp # mov rsp, [esp + 18h] .byte 0x48 - addl $0x-20, %esp # add rsp, -20h + addl $-0x20, %esp # add rsp, -20h call *%ebx # call rbx - jmp . + jmp . # no one should get here