.equ LOADER_FILENAME_PART2, 0x020205244 # "DR__"\r
.equ LOADER_FILENAME_PART3, 0x020202020 # "____"\r
\r
- .org 0x0
-.global _start
+ .org 0x0\r
+ASM_GLOBAL _start\r
_start:\r
Ia32Jump: \r
jmp BootSectorEntryPoint # JMP inst - 3 bytes\r
.equ LOADER_FILENAME_PART2, 0x036315244 # "DR16"\r
.equ LOADER_FILENAME_PART3, 0x020202036 # "6___"\r
\r
- .org 0x0
-.global _start
+ .org 0x0\r
+ASM_GLOBAL _start\r
_start:\r
Ia32Jump: \r
jmp BootSectorEntryPoint # JMP inst - 3 bytes\r
.equ LOADER_FILENAME_PART2, 0x30325244 # "DR20"\r
.equ LOADER_FILENAME_PART3, 0x20202030 # "0___"\r
\r
- .org 0x0
-.global _start
+ .org 0x0\r
+ASM_GLOBAL _start\r
_start:\r
Ia32Jump: \r
jmp BootSectorEntryPoint # JMP inst - 3 bytes\r
.equ BLOCK_MASK, 0x01ff\r
.equ BLOCK_SHIFT, 9\r
\r
- .org 0x00
-.global _start
+ .org 0x00\r
+ASM_GLOBAL _start\r
_start:\r
Ia32Jump: \r
jmp BootSectorEntryPoint # JMP inst - 3 bytes\r
\r
.align 0x2\r
\r
-.global GDT_BASE\r
+ASM_GLOBAL GDT_BASE\r
GDT_BASE: \r
# null descriptor\r
.equ NULL_SEL, .-GDT_BASE\r
#idt_tag db "IDT",0 \r
.align 0x2\r
\r
-.global IDT_BASE\r
+ASM_GLOBAL IDT_BASE\r
IDT_BASE: \r
# divide by zero (INT 0)\r
.equ DIV_ZERO_SEL, .-IDT_BASE\r
#\r
# Destroys no working registers.\r
#****************************************************************************\r
-.global _CopyMem;\r
+ASM_GLOBAL _CopyMem;\r
\r
# VOID EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)\r
-.global ASM_PFX(EbcLLCALLEXNative);\r
+ASM_GLOBAL ASM_PFX(EbcLLCALLEXNative);\r
ASM_PFX(EbcLLCALLEXNative):\r
push %rbp\r
push %rbx\r
# Returns:\r
# The contents of the register in which the entry point is passed.\r
#\r
-.global ASM_PFX(EbcLLGetEbcEntryPoint);\r
+ASM_GLOBAL ASM_PFX(EbcLLGetEbcEntryPoint);\r
ASM_PFX(EbcLLGetEbcEntryPoint):\r
ret\r
\r
#--*/\r
\r
# UINTN EbcLLGetStackPointer()\r
-.global ASM_PFX(EbcLLGetStackPointer);\r
+ASM_GLOBAL ASM_PFX(EbcLLGetStackPointer);\r
ASM_PFX(EbcLLGetStackPointer):\r
mov %rsp, %rax\r
# Stack adjusted by this much when we were called,\r
add $4, %rax\r
ret\r
\r
-.global ASM_PFX(EbcLLGetReturnValue);\r
+ASM_GLOBAL ASM_PFX(EbcLLGetReturnValue);\r
ASM_PFX(EbcLLGetReturnValue):\r
# UINT64 EbcLLGetReturnValue(VOID);\r
# Routine Description:\r
#else\r
#define ASM_PFX(name) _##name\r
#endif \r
+ #if defined(__APPLE__)\r
+ #define ASM_GLOBAL .globl\r
+ #else\r
+ #define ASM_GLOBAL .global\r
+ #endif \r
#endif\r
\r
/**\r
#else\r
#define ASM_PFX(name) _##name\r
#endif \r
+ #if defined(__APPLE__)\r
+ #define ASM_GLOBAL .globl\r
+ #else\r
+ #define ASM_GLOBAL .global\r
+ #endif \r
#endif\r
\r
/**\r
#\r
#------------------------------------------------------------------------------\r
\r
-.global ASM_PFX(CpuFlushTlb)\r
+ASM_GLOBAL ASM_PFX(CpuFlushTlb)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(CpuSleep)\r
+ASM_GLOBAL ASM_PFX(CpuSleep)\r
ASM_PFX(CpuSleep):\r
hlt\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.global ASM_PFX(CpuBreakpoint)\r
+ASM_GLOBAL ASM_PFX(CpuBreakpoint)\r
ASM_PFX(CpuBreakpoint):\r
int $0x3\r
ret\r
# OUT UINT32 *RegisterOutEdx OPTIONAL\r
# )\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmCpuid)\r
+ASM_GLOBAL ASM_PFX(AsmCpuid)\r
ASM_PFX(AsmCpuid):\r
push %rbx\r
mov %ecx, %eax\r
# OUT UINT32 *RegisterOutEdx OPTIONAL\r
# )\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmCpuidEx)\r
+ASM_GLOBAL ASM_PFX(AsmCpuidEx)\r
ASM_PFX(AsmCpuidEx):\r
push %rbx\r
movl %ecx,%eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(CpuPause)\r
+ASM_GLOBAL ASM_PFX(CpuPause)\r
ASM_PFX(CpuPause):\r
pause\r
ret\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(DisableInterrupts)\r
+ASM_GLOBAL ASM_PFX(DisableInterrupts)\r
ASM_PFX(DisableInterrupts):\r
cli\r
ret\r
# );\r
#------------------------------------------------------------------------------\r
\r
-.global ASM_PFX(InternalX86DisablePaging64)\r
+ASM_GLOBAL ASM_PFX(InternalX86DisablePaging64)\r
ASM_PFX(InternalX86DisablePaging64):\r
cli \r
shl $0x20,%rcx # rcx[32..47] <- Cs\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(EnableDisableInterrupts)\r
+ASM_GLOBAL ASM_PFX(EnableDisableInterrupts)\r
.align 16\r
ASM_PFX(EnableDisableInterrupts):\r
sti\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(EnableInterrupts)\r
+ASM_GLOBAL ASM_PFX(EnableInterrupts)\r
ASM_PFX(EnableInterrupts):\r
sti\r
ret\r
# IN VOID *LinearAddress\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmFlushCacheLine)\r
+ASM_GLOBAL ASM_PFX(AsmFlushCacheLine)\r
ASM_PFX(AsmFlushCacheLine):\r
clflush (%rcx)\r
mov %rcx, %rax\r
# IN CONST IA32_FX_BUFFER *Buffer\r
# )#\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalX86FxRestore)\r
+ASM_GLOBAL ASM_PFX(InternalX86FxRestore)\r
ASM_PFX(InternalX86FxRestore):\r
fxrstor (%rcx)\r
ret\r
# OUT IA32_FX_BUFFER *Buffer\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalX86FxSave)\r
+ASM_GLOBAL ASM_PFX(InternalX86FxSave)\r
ASM_PFX(InternalX86FxSave):\r
fxsave (%rcx)\r
ret\r
# VOID\r
# )#\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmInvd)\r
+ASM_GLOBAL ASM_PFX(AsmInvd)\r
ASM_PFX(AsmInvd):\r
invd\r
ret\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalLongJump)\r
+ASM_GLOBAL ASM_PFX(InternalLongJump)\r
ASM_PFX(InternalLongJump):\r
mov (%rcx), %rbx\r
mov 0x8(%rcx), %rsp\r
# IN UINTN Edx\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmMonitor)\r
+ASM_GLOBAL ASM_PFX(AsmMonitor)\r
.align 16\r
ASM_PFX(AsmMonitor):\r
mov %ecx,%eax\r
# IN UINTN Ecx\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmMwait)\r
+ASM_GLOBAL ASM_PFX(AsmMwait)\r
.align 16\r
ASM_PFX(AsmMwait):\r
mov %ecx,%eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadCr0)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr0)\r
.align 16\r
ASM_PFX(AsmReadCr0):\r
mov %cr0, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadCr2)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr2)\r
.align 16\r
ASM_PFX(AsmReadCr2):\r
mov %cr2, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadCr3)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr3)\r
.align 16\r
ASM_PFX(AsmReadCr3):\r
mov %cr3, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadCr4)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr4)\r
.align 16\r
ASM_PFX(AsmReadCr4):\r
mov %cr4, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadCs)\r
+ASM_GLOBAL ASM_PFX(AsmReadCs)\r
.align 16\r
ASM_PFX(AsmReadCs):\r
mov %cs, %eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr0)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr0)\r
.align 16\r
ASM_PFX(AsmReadDr0):\r
mov %dr0, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr1)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr1)\r
.align 16\r
ASM_PFX(AsmReadDr1):\r
mov %dr1, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr2)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr2)\r
.align 16\r
ASM_PFX(AsmReadDr2):\r
mov %dr2, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr3)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr3)\r
.align 16\r
ASM_PFX(AsmReadDr3):\r
mov %dr3, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr4)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr4)\r
.align 16\r
ASM_PFX(AsmReadDr4):\r
#DB 0fh, 21h, 0e0h\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr5)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr5)\r
.align 16\r
ASM_PFX(AsmReadDr5):\r
mov %dr5, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr6)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr6)\r
.align 16\r
ASM_PFX(AsmReadDr6):\r
mov %dr6, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDr7)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr7)\r
.align 16\r
ASM_PFX(AsmReadDr7):\r
mov %dr7, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadDs)\r
+ASM_GLOBAL ASM_PFX(AsmReadDs)\r
.align 16\r
ASM_PFX(AsmReadDs):\r
movl %ds, %eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadEflags)\r
+ASM_GLOBAL ASM_PFX(AsmReadEflags)\r
.align 16\r
ASM_PFX(AsmReadEflags):\r
pushfq\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadEs)\r
+ASM_GLOBAL ASM_PFX(AsmReadEs)\r
.align 16\r
ASM_PFX(AsmReadEs):\r
mov %es, %eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadFs)\r
+ASM_GLOBAL ASM_PFX(AsmReadFs)\r
.align 16\r
ASM_PFX(AsmReadFs):\r
mov %fs, %eax\r
# OUT IA32_DESCRIPTOR *Gdtr\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalX86ReadGdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86ReadGdtr)\r
.align 16\r
ASM_PFX(InternalX86ReadGdtr):\r
sgdt (%rcx)\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadGs)\r
+ASM_GLOBAL ASM_PFX(AsmReadGs)\r
.align 16\r
ASM_PFX(AsmReadGs):\r
mov %gs, %eax\r
# OUT IA32_DESCRIPTOR *Idtr\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalX86ReadIdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86ReadIdtr)\r
.align 16\r
ASM_PFX(InternalX86ReadIdtr):\r
sidt (%rcx)\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadLdtr)\r
+ASM_GLOBAL ASM_PFX(AsmReadLdtr)\r
.align 16\r
ASM_PFX(AsmReadLdtr):\r
sldt %eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm0)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm0)\r
.align 16\r
ASM_PFX(AsmReadMm0):\r
movd %mm0, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm1)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm1)\r
.align 16\r
ASM_PFX(AsmReadMm1):\r
movd %mm1, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm2)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm2)\r
.align 16\r
ASM_PFX(AsmReadMm2):\r
movd %mm2, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm3)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm3)\r
.align 16\r
ASM_PFX(AsmReadMm3):\r
movd %mm3, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm4)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm4)\r
.align 16\r
ASM_PFX(AsmReadMm4):\r
movd %mm4, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm5)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm5)\r
.align 16\r
ASM_PFX(AsmReadMm5):\r
movd %mm5, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm6)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm6)\r
.align 16\r
ASM_PFX(AsmReadMm6):\r
movd %mm6, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMm7)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm7)\r
.align 16\r
ASM_PFX(AsmReadMm7):\r
movd %mm7, %rax\r
# IN UINT32 Index\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadMsr64)\r
+ASM_GLOBAL ASM_PFX(AsmReadMsr64)\r
.align 16\r
ASM_PFX(AsmReadMsr64):\r
rdmsr # edx & eax are zero extended\r
# IN UINT32 PmcIndex\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadPmc)\r
+ASM_GLOBAL ASM_PFX(AsmReadPmc)\r
.align 16\r
ASM_PFX(AsmReadPmc):\r
rdpmc\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadSs)\r
+ASM_GLOBAL ASM_PFX(AsmReadSs)\r
.align 16\r
ASM_PFX(AsmReadSs):\r
movl %ss, %eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadTr)\r
+ASM_GLOBAL ASM_PFX(AsmReadTr)\r
.align 16\r
ASM_PFX(AsmReadTr): \r
str %eax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmReadTsc)\r
+ASM_GLOBAL ASM_PFX(AsmReadTsc)\r
.align 16\r
ASM_PFX(AsmReadTsc):\r
rdtsc\r
#\r
#------------------------------------------------------------------------------\r
\r
-.extern ASM_PFX(InternalAssertJumpBuffer)\r
-.global ASM_PFX(SetJump)\r
+ASM_GLOBAL ASM_PFX(SetJump)\r
ASM_PFX(SetJump):\r
push %rcx\r
add $0xffffffffffffffe0,%rsp\r
# None\r
#\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalSwitchStack)\r
+ASM_GLOBAL ASM_PFX(InternalSwitchStack)\r
ASM_PFX(InternalSwitchStack):\r
mov %rcx, %rax\r
mov %rdx, %rcx\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWbinvd)\r
+ASM_GLOBAL ASM_PFX(AsmWbinvd)\r
.align 16\r
ASM_PFX(AsmWbinvd):\r
wbinvd\r
# UINTN Cr0\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteCr0)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr0)\r
ASM_PFX(AsmWriteCr0):\r
mov %rcx,%cr0\r
mov %rcx,%rax\r
# UINTN Cr2\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteCr2)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr2)\r
ASM_PFX(AsmWriteCr2):\r
mov %rcx,%cr2\r
mov %rcx,%rax\r
# UINTN Cr3\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteCr3)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr3)\r
ASM_PFX(AsmWriteCr3):\r
mov %rcx,%cr3\r
mov %rcx,%rax\r
# UINTN Cr4\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteCr4)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr4)\r
ASM_PFX(AsmWriteCr4):\r
mov %rcx,%cr4\r
mov %rcx,%rax\r
# UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr0)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr0)\r
.align 16\r
ASM_PFX(AsmWriteDr0):\r
mov %rcx, %dr0\r
# UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr1)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr1)\r
.align 16\r
ASM_PFX(AsmWriteDr1):\r
mov %rcx, %dr1\r
# UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr2)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr2)\r
.align 16\r
ASM_PFX(AsmWriteDr2):\r
mov %rcx, %dr2\r
# UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr3)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr3)\r
.align 16\r
ASM_PFX(AsmWriteDr3):\r
mov %rcx, %dr3\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr4)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr4)\r
ASM_PFX(AsmWriteDr4):\r
mov %rcx, %dr4\r
mov %rcx, %rax\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr5)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr5)\r
ASM_PFX(AsmWriteDr5):\r
mov %rcx, %dr5\r
mov %rcx, %rax\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr6)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr6)\r
ASM_PFX(AsmWriteDr6):\r
mov %rcx, %dr6\r
mov %rcx, %rax\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteDr7)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr7)\r
ASM_PFX(AsmWriteDr7):\r
mov %rcx, %dr7\r
mov %rcx, %rax\r
# IN CONST IA32_DESCRIPTOR *Idtr\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalX86WriteGdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86WriteGdtr)\r
ASM_PFX(InternalX86WriteGdtr):\r
lgdt (%rcx)\r
ret\r
# IN CONST IA32_DESCRIPTOR *Idtr\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalX86WriteIdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86WriteIdtr)\r
.align 16\r
ASM_PFX(InternalX86WriteIdtr):\r
lidt (%rcx)\r
# IN UINT16 Ldtr\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteLdtr)\r
+ASM_GLOBAL ASM_PFX(AsmWriteLdtr)\r
.align 16\r
ASM_PFX(AsmWriteLdtr):\r
lldt %cx\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm0)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm0)\r
ASM_PFX(AsmWriteMm0):\r
movd %rcx, %mm0\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm1)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm1)\r
ASM_PFX(AsmWriteMm1):\r
movd %rcx, %mm1\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm2) \r
+ASM_GLOBAL ASM_PFX(AsmWriteMm2) \r
ASM_PFX(AsmWriteMm2):\r
movd %rcx, %mm2\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm3)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm3)\r
ASM_PFX(AsmWriteMm3):\r
movd %rcx, %mm3\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm4)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm4)\r
ASM_PFX(AsmWriteMm4):\r
movd %rcx, %mm4\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm5)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm5)\r
ASM_PFX(AsmWriteMm5):\r
movd %rcx, %mm5\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm6)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm6)\r
ASM_PFX(AsmWriteMm6):\r
movd %rcx, %mm6\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMm7)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm7)\r
ASM_PFX(AsmWriteMm7):\r
movd %rcx, %mm7\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(AsmWriteMsr64)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMsr64)\r
.align 16\r
ASM_PFX(AsmWriteMsr64):\r
mov %rdx, %rax # meanwhile, rax <- return value\r
# IN UINT32 ExchangeValue\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalSyncCompareExchange32)\r
+ASM_GLOBAL ASM_PFX(InternalSyncCompareExchange32)\r
ASM_PFX(InternalSyncCompareExchange32):\r
mov %edx, %eax\r
lock cmpxchg %r8d, (%rcx)\r
# IN UINT64 ExchangeValue\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalSyncCompareExchange64)\r
+ASM_GLOBAL ASM_PFX(InternalSyncCompareExchange64)\r
.align 16\r
ASM_PFX(InternalSyncCompareExchange64):\r
mov %rdx, %rax\r
# IN UINT32 *Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalSyncDecrement)\r
+ASM_GLOBAL ASM_PFX(InternalSyncDecrement)\r
ASM_PFX(InternalSyncDecrement):\r
lock decl (%rcx)\r
mov (%rcx), %eax\r
# IN UINT32 *Value\r
# );\r
#------------------------------------------------------------------------------\r
-.global ASM_PFX(InternalSyncIncrement)\r
+ASM_GLOBAL ASM_PFX(InternalSyncIncrement)\r
ASM_PFX(InternalSyncIncrement):\r
lock incl (%rcx)\r
mov (%rcx), %eax\r