#------------------------------------------------------------------------------\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
# Module Name:\r
#\r
-# EnablePaging32.Asm\r
+# EnablePaging32.S\r
#\r
# Abstract:\r
#\r
-# AsmEnablePaging32 function\r
+# InternalX86EnablePaging32 function\r
#\r
# Notes:\r
#\r
#------------------------------------------------------------------------------\r
\r
-\r
-\r
- \r
+ASM_GLOBAL ASM_PFX(InternalX86EnablePaging32)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# EFIAPI\r
-# AsmEnablePaging32 (\r
+# InternalX86EnablePaging32 (\r
# IN SWITCH_STACK_ENTRY_POINT EntryPoint,\r
# IN VOID *Context1, OPTIONAL\r
# IN VOID *Context2, OPTIONAL\r
# IN VOID *NewStack\r
# );\r
#------------------------------------------------------------------------------\r
-.global _AsmEnablePaging32\r
-_AsmEnablePaging32: \r
- movl 4(%esp),%ebx\r
- movl 8(%esp),%ecx\r
- movl 12(%esp),%edx\r
+ASM_PFX(InternalX86EnablePaging32):\r
+ movl 4(%esp), %ebx\r
+ movl 8(%esp), %ecx\r
+ movl 12(%esp), %edx\r
pushfl\r
- popl %edi\r
+ pop %edi # save flags in edi\r
cli\r
movl %cr0, %eax\r
- btsl $31,%eax\r
- movl 16(%esp),%esp\r
+ btsl $31, %eax\r
+ movl 16(%esp), %esp\r
movl %eax, %cr0\r
- pushl %edi\r
- popfl\r
- pushl %edx\r
- pushl %ecx\r
+ push %edi\r
+ popfl # restore flags\r
+ push %edx\r
+ push %ecx\r
call *%ebx\r
jmp .\r
-\r
-\r
-\r