#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathARShiftU64\r
+.globl ASM_PFX(InternalMathARShiftU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINTN Count\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathARShiftU64:\r
+ASM_PFX(InternalMathARShiftU64):\r
movb 12(%esp), %cl\r
movl 8(%esp), %eax\r
cltd\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _CpuBreakpoint\r
+.globl ASM_PFX(CpuBreakpoint)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_CpuBreakpoint:\r
+ASM_PFX(CpuBreakpoint):\r
int $3\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _CpuFlushTlb\r
+.globl ASM_PFX(CpuFlushTlb)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_CpuFlushTlb:\r
+ASM_PFX(CpuFlushTlb):\r
movl %cr3, %eax\r
movl %eax, %cr3\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmCpuid\r
+.globl ASM_PFX(AsmCpuid)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# OUT UINT32 *RegisterOutEdx OPTIONAL\r
# )\r
#------------------------------------------------------------------------------\r
-_AsmCpuid:\r
+ASM_PFX(AsmCpuid):\r
push %ebx\r
push %ebp\r
movl %esp, %ebp\r
# OUT UINT32 *RegisterOutEdx OPTIONAL
# )
#------------------------------------------------------------------------------
-.globl _AsmCpuidEx
-_AsmCpuidEx:
+.globl ASM_PFX(AsmCpuidEx)
+ASM_PFX(AsmCpuidEx):
push %ebx
push %ebp
movl %esp, %ebp
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _CpuPause\r
+.globl ASM_PFX(CpuPause)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_CpuPause:\r
+ASM_PFX(CpuPause):\r
pause\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _CpuSleep\r
+.globl ASM_PFX(CpuSleep)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_CpuSleep:\r
+ASM_PFX(CpuSleep):\r
hlt\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _DisableInterrupts\r
+.globl ASM_PFX(DisableInterrupts)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_DisableInterrupts:\r
+ASM_PFX(DisableInterrupts):\r
cli\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86DisablePaging32\r
+.globl ASM_PFX(InternalX86DisablePaging32)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# IN VOID *NewStack\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86DisablePaging32:\r
+ASM_PFX(InternalX86DisablePaging32):\r
movl 4(%esp), %ebx\r
movl 8(%esp), %ecx\r
movl 12(%esp), %edx\r
#
#------------------------------------------------------------------------------
-.globl _InternalMathDivU64x32
+.globl ASM_PFX(InternalMathDivU64x32)
#------------------------------------------------------------------------------
# UINT64
# IN UINT32 Divisor
# );
#------------------------------------------------------------------------------
-_InternalMathDivU64x32:
+ASM_PFX(InternalMathDivU64x32):
movl 8(%esp), %eax
movl 12(%esp), %ecx
xorl %edx, %edx
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathDivRemU64x32\r
+.globl ASM_PFX(InternalMathDivRemU64x32)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# OUT UINT32 *Remainder\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathDivRemU64x32:\r
+ASM_PFX(InternalMathDivRemU64x32):\r
movl 12(%esp), %ecx\r
movl 8(%esp), %eax\r
xorl %edx, %edx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathDivRemU64x32, _InternalMathDivRemU64x64\r
+.globl ASM_PFX(InternalMathDivRemU64x32), ASM_PFX(InternalMathDivRemU64x64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# OUT UINT64 *Remainder OPTIONAL\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathDivRemU64x64:\r
+ASM_PFX(InternalMathDivRemU64x64):\r
movl 16(%esp), %ecx\r
testl %ecx, %ecx\r
jnz Hard\r
and $0, 4(%ecx)\r
movl %ecx, 16(%esp)\r
L1:\r
- jmp _InternalMathDivRemU64x32\r
+ jmp ASM_PFX(InternalMathDivRemU64x32)\r
Hard:\r
push %ebx\r
push %esi\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _EnableDisableInterrupts\r
+.globl ASM_PFX(EnableDisableInterrupts)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_EnableDisableInterrupts:\r
+ASM_PFX(EnableDisableInterrupts):\r
sti\r
cli\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _EnableInterrupts\r
+.globl ASM_PFX(EnableInterrupts)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_EnableInterrupts:\r
+ASM_PFX(EnableInterrupts):\r
sti\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86EnablePaging32\r
+.globl ASM_PFX(InternalX86EnablePaging32)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# IN VOID *NewStack\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86EnablePaging32:\r
+ASM_PFX(InternalX86EnablePaging32):\r
movl 4(%esp), %ebx\r
movl 8(%esp), %ecx\r
movl 12(%esp), %edx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86EnablePaging64\r
+.globl ASM_PFX(InternalX86EnablePaging64)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# IN UINT64 NewStack\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86EnablePaging64:\r
+ASM_PFX(InternalX86EnablePaging64):\r
cli\r
movl $LongStart, (%esp)\r
movl %cr4, %eax\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmFlushCacheLine\r
+.globl ASM_PFX(AsmFlushCacheLine)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# IN VOID *LinearAddress\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmFlushCacheLine:\r
+ASM_PFX(AsmFlushCacheLine):\r
movl 4(%esp), %eax\r
clflush (%eax)\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86FxRestore\r
+.globl ASM_PFX(InternalX86FxRestore)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# IN CONST IA32_FX_BUFFER *Buffer\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86FxRestore:\r
+ASM_PFX(InternalX86FxRestore):\r
movl 4(%esp), %eax\r
fxrstor (%eax)\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86FxSave\r
+.globl ASM_PFX(InternalX86FxSave)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# OUT IA32_FX_BUFFER *Buffer\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86FxSave:\r
+ASM_PFX(InternalX86FxSave):\r
movl 4(%esp), %eax\r
fxsave (%eax)\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalSyncCompareExchange32\r
+.globl ASM_PFX(InternalSyncCompareExchange32)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
# IN UINT32 ExchangeValue\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalSyncCompareExchange32:\r
+ASM_PFX(InternalSyncCompareExchange32):\r
movl 4(%esp), %ecx\r
movl 8(%esp), %eax\r
movl 12(%esp), %edx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalSyncCompareExchange64\r
+.globl ASM_PFX(InternalSyncCompareExchange64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINT64 ExchangeValue\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalSyncCompareExchange64:\r
+ASM_PFX(InternalSyncCompareExchange64):\r
push %esi\r
push %ebx\r
movl 12(%esp), %esi\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalSyncDecrement\r
+.globl ASM_PFX(InternalSyncDecrement)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
# IN UINT32 *Value\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalSyncDecrement:\r
+ASM_PFX(InternalSyncDecrement):\r
movl 4(%esp), %eax\r
lock\r
decl (%eax)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalSyncIncrement\r
+.globl ASM_PFX(InternalSyncIncrement)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
# IN UINT32 *Value\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalSyncIncrement:\r
+ASM_PFX(InternalSyncIncrement):\r
movl 4(%esp), %eax\r
lock\r
incl (%eax)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmInvd\r
+.globl ASM_PFX(AsmInvd)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmInvd:\r
+ASM_PFX(AsmInvd):\r
invd\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathLRotU64\r
+.globl ASM_PFX(InternalMathLRotU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINTN Count\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathLRotU64:\r
+ASM_PFX(InternalMathLRotU64):\r
push %ebx\r
movb 16(%esp), %cl\r
movl 12(%esp), %edx\r
#
#------------------------------------------------------------------------------
-.globl _InternalMathLShiftU64
+.globl ASM_PFX(InternalMathLShiftU64)
#------------------------------------------------------------------------------
# UINT64
# IN UINTN Count
# );
#------------------------------------------------------------------------------
-_InternalMathLShiftU64:
+ASM_PFX(InternalMathLShiftU64):
movb 12(%esp), %cl
xorl %eax, %eax
movl 4(%esp), %edx
#
#------------------------------------------------------------------------------
-.globl _InternalLongJump
+.globl ASM_PFX(InternalLongJump)
#------------------------------------------------------------------------------
# VOID
# IN UINTN Value
# );
#------------------------------------------------------------------------------
-_InternalLongJump:
+ASM_PFX(InternalLongJump):
pop %eax
pop %edx
pop %eax
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathModU64x32\r
+.globl ASM_PFX(InternalMathModU64x32)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
# IN UINT32 Divisor\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathModU64x32:\r
+ASM_PFX(InternalMathModU64x32):\r
movl 8(%esp), %eax\r
movl 12(%esp), %ecx\r
xorl %edx, %edx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmMonitor\r
+.globl ASM_PFX(AsmMonitor)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINTN Edx\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmMonitor:\r
+ASM_PFX(AsmMonitor):\r
movl 4(%esp), %eax\r
movl 8(%esp), %ecx\r
movl 12(%esp), %edx\r
.386:
.code:
-.globl _InternalMathMultU64x32
+.globl ASM_PFX(InternalMathMultU64x32)
#------------------------------------------------------------------------------
# UINT64
# IN UINT32 Multiplier
# );
#------------------------------------------------------------------------------
-_InternalMathMultU64x32:
+ASM_PFX(InternalMathMultU64x32):
movl 12(%esp), %ecx
movl %ecx, %eax
imull 8(%esp), %ecx
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathMultU64x64\r
+.globl ASM_PFX(InternalMathMultU64x64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINT64 Multiplier\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathMultU64x64:\r
+ASM_PFX(InternalMathMultU64x64):\r
push %ebx\r
movl 8(%esp), %ebx\r
movl 16(%esp), %edx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmMwait\r
+.globl ASM_PFX(AsmMwait)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINTN Ecx\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmMwait:\r
+ASM_PFX(AsmMwait):\r
movl 4(%esp), %eax\r
movl 8(%esp), %ecx\r
mwait %eax, %ecx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalMathRRotU64\r
+.globl ASM_PFX(InternalMathRRotU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINTN Count\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalMathRRotU64:\r
+ASM_PFX(InternalMathRRotU64):\r
push %ebx\r
movb 16(%esp), %cl\r
movl 8(%esp), %eax\r
.686:
.code:
-.globl _InternalMathRShiftU64
+.globl ASM_PFX(InternalMathRShiftU64)
#------------------------------------------------------------------------------
# UINT64
# IN UINTN Count
# );
#------------------------------------------------------------------------------
-_InternalMathRShiftU64:
+ASM_PFX(InternalMathRShiftU64):
movb 12(%esp), %cl
xorl %edx, %edx
movl 8(%esp), %eax
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadCr0\r
+.globl ASM_PFX(AsmReadCr0)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadCr0:\r
+ASM_PFX(AsmReadCr0):\r
movl %cr0, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadCr2\r
+.globl ASM_PFX(AsmReadCr2)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadCr2:\r
+ASM_PFX(AsmReadCr2):\r
movl %cr2, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadCr3\r
+.globl ASM_PFX(AsmReadCr3)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadCr3:\r
+ASM_PFX(AsmReadCr3):\r
movl %cr3, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadCr4\r
+.globl ASM_PFX(AsmReadCr4)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadCr4:\r
+ASM_PFX(AsmReadCr4):\r
movl %cr4, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadCs\r
+.globl ASM_PFX(AsmReadCs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadCs:\r
+ASM_PFX(AsmReadCs):\r
movl %cs, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr0\r
+.globl ASM_PFX(AsmReadDr0)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr0:\r
+ASM_PFX(AsmReadDr0):\r
movl %dr0, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr1\r
+.globl ASM_PFX(AsmReadDr1)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr1:\r
+ASM_PFX(AsmReadDr1):\r
movl %dr1, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr2\r
+.globl ASM_PFX(AsmReadDr2)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr2:\r
+ASM_PFX(AsmReadDr2):\r
movl %dr2, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr3\r
+.globl ASM_PFX(AsmReadDr3)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr3:\r
+ASM_PFX(AsmReadDr3):\r
movl %dr3, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr4\r
+.globl ASM_PFX(AsmReadDr4)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr4:\r
+ASM_PFX(AsmReadDr4):\r
movl %dr4, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr5\r
+.globl ASM_PFX(AsmReadDr5)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr5:\r
+ASM_PFX(AsmReadDr5):\r
movl %dr5, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr6\r
+.globl ASM_PFX(AsmReadDr6)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr6:\r
+ASM_PFX(AsmReadDr6):\r
movl %dr6, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDr7\r
+.globl ASM_PFX(AsmReadDr7)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDr7:\r
+ASM_PFX(AsmReadDr7):\r
movl %dr7, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadDs\r
+.globl ASM_PFX(AsmReadDs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadDs:\r
+ASM_PFX(AsmReadDs):\r
movl %ds, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadEflags\r
+.globl ASM_PFX(AsmReadEflags)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadEflags:\r
+ASM_PFX(AsmReadEflags):\r
pushfl\r
pop %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadEs\r
+.globl ASM_PFX(AsmReadEs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadEs:\r
+ASM_PFX(AsmReadEs):\r
movl %es, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadFs\r
+.globl ASM_PFX(AsmReadFs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadFs:\r
+ASM_PFX(AsmReadFs):\r
movl %fs, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86ReadGdtr\r
+.globl ASM_PFX(InternalX86ReadGdtr)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# OUT IA32_DESCRIPTOR *Gdtr\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86ReadGdtr:\r
+ASM_PFX(InternalX86ReadGdtr):\r
movl 4(%esp), %eax\r
sgdt (%eax)\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadGs\r
+.globl ASM_PFX(AsmReadGs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadGs:\r
+ASM_PFX(AsmReadGs):\r
movl %gs, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _InternalX86ReadIdtr\r
+.globl ASM_PFX(InternalX86ReadIdtr)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# OUT IA32_DESCRIPTOR *Idtr\r
# );\r
#------------------------------------------------------------------------------\r
-_InternalX86ReadIdtr:\r
+ASM_PFX(InternalX86ReadIdtr):\r
movl 4(%esp), %eax\r
sidt (%eax)\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadLdtr\r
+.globl ASM_PFX(AsmReadLdtr)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadLdtr:\r
+ASM_PFX(AsmReadLdtr):\r
sldt %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm0\r
+.globl ASM_PFX(AsmReadMm0)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm0:\r
+ASM_PFX(AsmReadMm0):\r
push %eax\r
push %eax\r
movq %mm0, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm1\r
+.globl ASM_PFX(AsmReadMm1)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm1:\r
+ASM_PFX(AsmReadMm1):\r
push %eax\r
push %eax\r
movq %mm1, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm2\r
+.globl ASM_PFX(AsmReadMm2)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm2:\r
+ASM_PFX(AsmReadMm2):\r
push %eax\r
push %eax\r
movq %mm2, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm3\r
+.globl ASM_PFX(AsmReadMm3)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm3:\r
+ASM_PFX(AsmReadMm3):\r
push %eax\r
push %eax\r
movq %mm3, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm4\r
+.globl ASM_PFX(AsmReadMm4)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm4:\r
+ASM_PFX(AsmReadMm4):\r
push %eax\r
push %eax\r
movq %mm4, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm5\r
+.globl ASM_PFX(AsmReadMm5)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm5:\r
+ASM_PFX(AsmReadMm5):\r
push %eax\r
push %eax\r
movq %mm5, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm6\r
+.globl ASM_PFX(AsmReadMm6)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm6:\r
+ASM_PFX(AsmReadMm6):\r
push %eax\r
push %eax\r
movq %mm6, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMm7\r
+.globl ASM_PFX(AsmReadMm7)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMm7:\r
+ASM_PFX(AsmReadMm7):\r
push %eax\r
push %eax\r
movq %mm7, (%esp)\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadMsr64\r
+.globl ASM_PFX(AsmReadMsr64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINT32 Index\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadMsr64:\r
+ASM_PFX(AsmReadMsr64):\r
movl 4(%esp), %ecx\r
rdmsr\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadPmc\r
+.globl ASM_PFX(AsmReadPmc)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# IN UINT32 PmcIndex\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadPmc:\r
+ASM_PFX(AsmReadPmc):\r
movl 4(%esp), %ecx\r
rdpmc\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadSs\r
+.globl ASM_PFX(AsmReadSs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadSs:\r
+ASM_PFX(AsmReadSs):\r
movl %ss, %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadTr\r
+.globl ASM_PFX(AsmReadTr)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadTr:\r
+ASM_PFX(AsmReadTr):\r
str %eax\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _AsmReadTsc\r
+.globl ASM_PFX(AsmReadTsc)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-_AsmReadTsc:\r
+ASM_PFX(AsmReadTsc):\r
rdtsc\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _SetJump, _InternalAssertJumpBuffer\r
+.globl ASM_PFX(SetJump), ASM_PFX(InternalAssertJumpBuffer)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer\r
# );\r
#------------------------------------------------------------------------------\r
-_SetJump:\r
+ASM_PFX(SetJump):\r
pushl 0x4(%esp)\r
- call _InternalAssertJumpBuffer\r
+ call ASM_PFX(InternalAssertJumpBuffer)\r
pop %ecx\r
pop %ecx\r
movl (%esp), %edx\r
# IN UINT64 Operand
# );
#------------------------------------------------------------------------------
-.globl _InternalMathSwapBytes64
-_InternalMathSwapBytes64:
+.globl ASM_PFX(InternalMathSwapBytes64)
+ASM_PFX(InternalMathSwapBytes64):
movl 8(%esp), %eax
movl 4(%esp), %edx
bswapl %eax
#\r
#------------------------------------------------------------------------------\r
\r
-.globl _m16Start, _m16Size, _mThunk16Attr, _m16Gdt, _m16GdtrBase, _mTransition\r
-.globl _InternalAsmThunk16\r
+.globl ASM_PFX(m16Start), ASM_PFX(m16Size), ASM_PFX(mThunk16Attr), ASM_PFX(m16Gdt), ASM_PFX(m16GdtrBase), ASM_PFX(mTransition)\r
+.globl ASM_PFX(InternalAsmThunk16)\r
\r
-_m16Start:\r
+ASM_PFX(m16Start):\r
\r
SavedGdt: .space 6\r
\r
-_BackFromUserCode:\r
+ASM_PFX(BackFromUserCode):\r
push %ss\r
push %cs\r
.byte 0x66\r
push %ds\r
pushaw # pushad actually\r
.byte 0x66, 0xba # mov edx, imm32\r
-_ThunkAttr: .space 4\r
+ASM_PFX(ThunkAttr): .space 4\r
testb $THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15, %dl\r
jz 1f\r
movl $0x15cd2401, %eax # mov ax, 2401h & int 15h\r
.byte 0x66\r
lret # return to protected mode\r
\r
-_EntryPoint: .long _ToUserCode - _m16Start\r
+_EntryPoint: .long ASM_PFX(ToUserCode) - ASM_PFX(m16Start)\r
.word 0x8\r
_16Idtr: .word 0x3ff\r
.long 0\r
_16Gdtr: .word GdtEnd - _NullSegDesc - 1\r
-_16GdtrBase: .long _NullSegDesc\r
+_16GdtrBase: .long _NullSegDesc\r
\r
-_ToUserCode:\r
+ASM_PFX(ToUserCode):\r
movl %ss, %edx\r
movl %ecx, %ss # set new segment selectors\r
movl %ecx, %ds\r
# @param Transition Pointer to the transition code\r
# @return The address of the 16-bit stack after returning from user code\r
#\r
-_InternalAsmThunk16:\r
+ASM_PFX(InternalAsmThunk16):\r
push %ebp\r
push %ebx\r
push %esi\r
\r
.const:\r
\r
-_m16Size: .word _InternalAsmThunk16 - _m16Start\r
-_mThunk16Attr: .word _ThunkAttr - _m16Start\r
-_m16Gdt: .word _NullSegDesc - _m16Start\r
-_m16GdtrBase: .word _16GdtrBase - _m16Start\r
-_mTransition: .word _EntryPoint - _m16Start\r
+ASM_PFX(m16Size): .word _InternalAsmThunk16 - ASM_PFX(m16Start)\r
+ASM_PFX(mThunk16Attr): .word _ThunkAttr - ASM_PFX(m16Start)\r
+ASM_PFX(m16Gdt): .word _NullSegDesc - ASM_PFX(m16Start)\r
+ASM_PFX(m16GdtrBase): .word _16GdtrBase - ASM_PFX(m16Start)\r
+ASM_PFX(mTransition): .word _EntryPoint - ASM_PFX(m16Start)\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWbinvd\r
-_AsmWbinvd:\r
+.globl ASM_PFX(AsmWbinvd)\r
+ASM_PFX(AsmWbinvd):\r
wbinvd\r
ret\r
# IN UINTN Cr0\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteCr0\r
-_AsmWriteCr0:\r
+.globl ASM_PFX(AsmWriteCr0)\r
+ASM_PFX(AsmWriteCr0):\r
movl 4(%esp), %eax\r
movl %eax, %cr0\r
ret\r
# IN UINTN Cr2\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteCr2\r
-_AsmWriteCr2:\r
+.globl ASM_PFX(AsmWriteCr2)\r
+ASM_PFX(AsmWriteCr2):\r
movl 4(%esp), %eax\r
movl %eax, %cr2\r
ret\r
# IN UINTN Cr3\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteCr3\r
-_AsmWriteCr3:\r
+.globl ASM_PFX(AsmWriteCr3)\r
+ASM_PFX(AsmWriteCr3):\r
movl 4(%esp), %eax\r
movl %eax, %cr3\r
ret\r
# IN UINTN Cr4\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteCr4\r
-_AsmWriteCr4:\r
+.globl ASM_PFX(AsmWriteCr4)\r
+ASM_PFX(AsmWriteCr4):\r
movl 4(%esp), %eax\r
movl %eax, %cr4\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr0\r
-_AsmWriteDr0:\r
+.globl ASM_PFX(AsmWriteDr0)\r
+ASM_PFX(AsmWriteDr0):\r
movl 4(%esp), %eax\r
movl %eax, %dr0\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr1\r
-_AsmWriteDr1:\r
+.globl ASM_PFX(AsmWriteDr1)\r
+ASM_PFX(AsmWriteDr1):\r
movl 4(%esp), %eax\r
movl %eax, %dr1\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr2\r
-_AsmWriteDr2:\r
+.globl ASM_PFX(AsmWriteDr2)\r
+ASM_PFX(AsmWriteDr2):\r
movl 4(%esp), %eax\r
movl %eax, %dr2\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr3\r
-_AsmWriteDr3:\r
+.globl ASM_PFX(AsmWriteDr3)\r
+ASM_PFX(AsmWriteDr3):\r
movl 4(%esp), %eax\r
movl %eax, %dr3\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr4\r
-_AsmWriteDr4:\r
+.globl ASM_PFX(AsmWriteDr4)\r
+ASM_PFX(AsmWriteDr4):\r
movl 4(%esp), %eax\r
movl %eax, %dr4\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr5\r
-_AsmWriteDr5:\r
+.globl ASM_PFX(AsmWriteDr5)\r
+ASM_PFX(AsmWriteDr5):\r
movl 4(%esp), %eax\r
movl %eax, %dr5\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr6\r
-_AsmWriteDr6:\r
+.globl ASM_PFX(AsmWriteDr6)\r
+ASM_PFX(AsmWriteDr6):\r
movl 4(%esp), %eax\r
movl %eax, %dr6\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteDr7\r
-_AsmWriteDr7:\r
+.globl ASM_PFX(AsmWriteDr7)\r
+ASM_PFX(AsmWriteDr7):\r
movl 4(%esp), %eax\r
movl %eax, %dr7\r
ret\r
# OUT IA32_DESCRIPTOR *Gdtr\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _InternalX86WriteGdtr\r
-_InternalX86WriteGdtr:\r
+.globl ASM_PFX(InternalX86WriteGdtr)\r
+ASM_PFX(InternalX86WriteGdtr):\r
movl 4(%esp), %eax\r
lgdt (%eax)\r
ret\r
# OUT IA32_DESCRIPTOR *Idtr\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _InternalX86WriteIdtr\r
-_InternalX86WriteIdtr:\r
+.globl ASM_PFX(InternalX86WriteIdtr)\r
+ASM_PFX(InternalX86WriteIdtr):\r
movl 4(%esp), %eax\r
lidt (%eax)\r
ret\r
# IN UINT16 Ldtr\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteLdtr\r
-_AsmWriteLdtr:\r
+.globl ASM_PFX(AsmWriteLdtr)\r
+ASM_PFX(AsmWriteLdtr):\r
movl 4(%esp), %eax\r
lldtw %ax\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm0\r
-_AsmWriteMm0:\r
+.globl ASM_PFX(AsmWriteMm0)\r
+ASM_PFX(AsmWriteMm0):\r
movq 4(%esp), %mm0\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm1\r
-_AsmWriteMm1:\r
+.globl ASM_PFX(AsmWriteMm1)\r
+ASM_PFX(AsmWriteMm1):\r
movq 4(%esp), %mm1\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm2\r
-_AsmWriteMm2:\r
+.globl ASM_PFX(AsmWriteMm2)\r
+ASM_PFX(AsmWriteMm2):\r
movq 4(%esp), %mm2\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm3\r
-_AsmWriteMm3:\r
+.globl ASM_PFX(AsmWriteMm3)\r
+ASM_PFX(AsmWriteMm3):\r
movq 4(%esp), %mm3\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm4\r
-_AsmWriteMm4:\r
+.globl ASM_PFX(AsmWriteMm4)\r
+ASM_PFX(AsmWriteMm4):\r
movq 4(%esp), %mm4\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm5\r
-_AsmWriteMm5:\r
+.globl ASM_PFX(AsmWriteMm5)\r
+ASM_PFX(AsmWriteMm5):\r
movq 4(%esp), %mm5\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm6\r
-_AsmWriteMm6:\r
+.globl ASM_PFX(AsmWriteMm6)\r
+ASM_PFX(AsmWriteMm6):\r
movq 4(%esp), %mm6\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMm7\r
-_AsmWriteMm7:\r
+.globl ASM_PFX(AsmWriteMm7)\r
+ASM_PFX(AsmWriteMm7):\r
movq 4(%esp), %mm7\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl _AsmWriteMsr64\r
-_AsmWriteMsr64:\r
+.globl ASM_PFX(AsmWriteMsr64)\r
+ASM_PFX(AsmWriteMsr64):\r
movl 12(%esp), %edx\r
movl 8(%esp), %eax\r
movl 4(%esp), %ecx\r