\r
\r
.align 8\r
- .globl ASM_PFX(AsmGetVectorTemplatInfo)\r
- .globl ASM_PFX(AsmVectorFixup)\r
+ ASM_GLOBAL ASM_PFX(AsmGetVectorTemplatInfo)\r
+ ASM_GLOBAL ASM_PFX(AsmVectorFixup)\r
/*\r
;\r
;-----------------------------------------------------------------------\r
#\r
#**/\r
\r
-.globl ASM_PFX(OrigVector)\r
-.globl ASM_PFX(InterruptEntryStub)\r
-.globl ASM_PFX(StubSize)\r
-.globl ASM_PFX(CommonIdtEntry)\r
-.globl ASM_PFX(FxStorSupport)\r
+ASM_GLOBAL ASM_PFX(OrigVector)\r
+ASM_GLOBAL ASM_PFX(InterruptEntryStub)\r
+ASM_GLOBAL ASM_PFX(StubSize)\r
+ASM_GLOBAL ASM_PFX(CommonIdtEntry)\r
+ASM_GLOBAL ASM_PFX(FxStorSupport)\r
\r
ASM_PFX(StubSize): .long ASM_PFX(InterruptEntryStubEnd) - ASM_PFX(InterruptEntryStub)\r
ASM_PFX(AppEsp): .long 0x11111111 # ?\r
#\r
# Abstract: Returns TRUE if FxStor instructions are supported\r
#\r
-.globl ASM_PFX(FxStorSupport)\r
+ASM_GLOBAL ASM_PFX(FxStorSupport)\r
ASM_PFX(FxStorSupport):\r
#\r
# cpuid corrupts ebx which must be preserved per the C calling convention\r
# Abstract: Encodes an IDT descriptor with the given physical address\r
#\r
\r
-.globl ASM_PFX(Vect2Desc)\r
+ASM_GLOBAL ASM_PFX(Vect2Desc)\r
ASM_PFX(Vect2Desc):\r
push %ebp\r
mov %esp,%ebp\r
leave\r
ret\r
\r
-.globl ASM_PFX(InterruptEntryStub)\r
+ASM_GLOBAL ASM_PFX(InterruptEntryStub)\r
ASM_PFX(InterruptEntryStub):\r
mov %esp,0x0 # save stack top\r
mov $0x0,%esp # switch to debugger stack\r
push $0x0 # push vector number - will be modified before installed\r
jmp ASM_PFX(CommonIdtEntry) # jump CommonIdtEntry\r
-.globl ASM_PFX(InterruptEntryStubEnd)\r
+ASM_GLOBAL ASM_PFX(InterruptEntryStubEnd)\r
ASM_PFX(InterruptEntryStubEnd):\r
\r
#------------------------------------------------------------------------------\r
# Abstract: This code is not a function, but is the common part for all IDT\r
# vectors.\r
#\r
-.globl ASM_PFX(CommonIdtEntry)\r
+ASM_GLOBAL ASM_PFX(CommonIdtEntry)\r
ASM_PFX(CommonIdtEntry):\r
##\r
## At this point, the stub has saved the current application stack esp into AppEsp\r
#include "Common.i"\r
#include "Ds64Macros.i"\r
\r
-.globl PatchSaveBuffer\r
-.globl IpfContextBuf\r
-.globl CommonHandler\r
-.globl ExternalInterruptCount\r
+ASM_GLOBAL PatchSaveBuffer\r
+ASM_GLOBAL IpfContextBuf\r
+ASM_GLOBAL CommonHandler\r
+ASM_GLOBAL ExternalInterruptCount\r
\r
\r
/////////////////////////////////////////////\r
// Description:\r
// Flushes instruction cache for specified number of bytes\r
//\r
- .globl InstructionCacheFlush\r
+ ASM_GLOBAL InstructionCacheFlush\r
.proc InstructionCacheFlush\r
.align 32\r
InstructionCacheFlush::\r
// Notes:\r
//\r
//\r
- .globl ChainHandler\r
+ ASM_GLOBAL ChainHandler\r
.proc ChainHandler\r
ChainHandler:\r
\r
// Notes:\r
//\r
//\r
- .globl UnchainHandler\r
+ ASM_GLOBAL UnchainHandler\r
.proc UnchainHandler\r
\r
UnchainHandler:\r
// Returns:\r
// Current value if IVA\r
\r
- .globl GetIva\r
+ ASM_GLOBAL GetIva\r
.proc GetIva\r
GetIva:\r
mov r8=cr2;;\r
// Returns:\r
// Previous state of psr.ic\r
//\r
- .globl ProgramInterruptFlags\r
+ ASM_GLOBAL ProgramInterruptFlags\r
.proc ProgramInterruptFlags\r
ProgramInterruptFlags:\r
alloc loc0=1,2,0,0;;\r
// Saves IVT index to SCRATCH_REG1 (immediate value is fixed up when code is copied\r
// to the IVT entry.\r
\r
- .globl HookStub\r
+ ASM_GLOBAL HookStub\r
.proc HookStub\r
HookStub:\r
\r
\r
.intel_syntax noprefix\r
\r
-.globl ASM_PFX(OrigVector)\r
-.globl ASM_PFX(InterruptEntryStub)\r
-.globl ASM_PFX(StubSize)\r
-.globl ASM_PFX(CommonIdtEntry)\r
-.globl ASM_PFX(FxStorSupport)\r
+ASM_GLOBAL ASM_PFX(OrigVector)\r
+ASM_GLOBAL ASM_PFX(InterruptEntryStub)\r
+ASM_GLOBAL ASM_PFX(StubSize)\r
+ASM_GLOBAL ASM_PFX(CommonIdtEntry)\r
+ASM_GLOBAL ASM_PFX(FxStorSupport)\r
\r
.data \r
\r
#\r
# Abstract: Returns TRUE if FxStor instructions are supported\r
#\r
-.globl ASM_PFX(FxStorSupport)\r
+ASM_GLOBAL ASM_PFX(FxStorSupport)\r
ASM_PFX(FxStorSupport): \r
#\r
# cpuid corrupts rbx which must be preserved per the C calling convention\r
#\r
# Abstract: Encodes an IDT descriptor with the given physical address\r
#\r
-.globl ASM_PFX(Vect2Desc)\r
+ASM_GLOBAL ASM_PFX(Vect2Desc)\r
ASM_PFX(Vect2Desc):\r
mov rax, rdx\r
mov word ptr [rcx], ax # write bits 15..0 of offset\r
# Abstract: This code is not a function, but is a small piece of code that is\r
# copied and fixed up once for each IDT entry that is hooked.\r
#\r
-.globl ASM_PFX(InterruptEntryStub)\r
+ASM_GLOBAL ASM_PFX(InterruptEntryStub)\r
ASM_PFX(InterruptEntryStub):\r
\r
push 0 # push vector number - will be modified before installed\r
jmp ASM_PFX(CommonIdtEntry)\r
\r
-.globl ASM_PFX(InterruptEntryStubEnd)\r
+ASM_GLOBAL ASM_PFX(InterruptEntryStubEnd)\r
ASM_PFX(InterruptEntryStubEnd):\r
\r
#------------------------------------------------------------------------------\r
# Abstract: This code is not a function, but is the common part for all IDT\r
# vectors.\r
#\r
-.globl ASM_PFX(CommonIdtEntry)\r
+ASM_GLOBAL ASM_PFX(CommonIdtEntry)\r
##\r
## At this point, the stub has saved the current application stack esp into AppRsp\r
## and switched stacks to the debug stack, where it pushed the vector number\r
# \r
#**/\r
\r
-.globl ASM_PFX(CopyMem)\r
+ASM_GLOBAL ASM_PFX(CopyMem)\r
\r
-.globl ASM_PFX(EbcLLCALLEXNative)\r
+ASM_GLOBAL ASM_PFX(EbcLLCALLEXNative)\r
ASM_PFX(EbcLLCALLEXNative):\r
push %ebp\r
push %ebx\r
pop %ebp\r
ret\r
\r
-.globl ASM_PFX(EbcLLGetEbcEntryPoint)\r
+ASM_GLOBAL ASM_PFX(EbcLLGetEbcEntryPoint)\r
ASM_PFX(EbcLLGetEbcEntryPoint):\r
ret\r
\r
-.globl ASM_PFX(EbcLLGetStackPointer)\r
+ASM_GLOBAL ASM_PFX(EbcLLGetStackPointer)\r
ASM_PFX(EbcLLGetStackPointer):\r
mov %esp,%eax\r
add $0x4,%eax\r
ret\r
\r
-.globl ASM_PFX(EbcLLGetReturnValue)\r
+ASM_GLOBAL ASM_PFX(EbcLLGetReturnValue)\r
ASM_PFX(EbcLLGetReturnValue):\r
ret\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(CpuFlushTlb)\r
+ASM_GLOBAL ASM_PFX(CpuFlushTlb)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(CpuSleep)\r
+ASM_GLOBAL ASM_PFX(CpuSleep)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
.auto\r
.text\r
\r
-.globl PalCall\r
+ASM_GLOBAL PalCall\r
.type PalCall, @function\r
\r
.proc CpuFlushTlb\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathARShiftU64)\r
+ASM_GLOBAL ASM_PFX(InternalMathARShiftU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(CpuBreakpoint)\r
+ASM_GLOBAL ASM_PFX(CpuBreakpoint)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmCpuid)\r
+ASM_GLOBAL ASM_PFX(AsmCpuid)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# OUT UINT32 *RegisterOutEdx OPTIONAL\r
# )\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmCpuidEx)\r
+ASM_GLOBAL ASM_PFX(AsmCpuidEx)\r
ASM_PFX(AsmCpuidEx):\r
push %ebx\r
push %ebp\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(CpuPause)\r
+ASM_GLOBAL ASM_PFX(CpuPause)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmDisableCache)\r
+ASM_GLOBAL ASM_PFX(AsmDisableCache)\r
ASM_PFX(AsmDisableCache):\r
movl %cr0, %eax\r
btsl $30, %eax\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(DisableInterrupts)\r
+ASM_GLOBAL ASM_PFX(DisableInterrupts)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86DisablePaging32)\r
+ASM_GLOBAL ASM_PFX(InternalX86DisablePaging32)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathDivU64x32)\r
+ASM_GLOBAL ASM_PFX(InternalMathDivU64x32)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathDivRemU64x32)\r
+ASM_GLOBAL ASM_PFX(InternalMathDivRemU64x32)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathDivRemU64x32), ASM_PFX(InternalMathDivRemU64x64)\r
+ASM_GLOBAL ASM_PFX(InternalMathDivRemU64x32), ASM_PFX(InternalMathDivRemU64x64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmEnableCache)\r
+ASM_GLOBAL ASM_PFX(AsmEnableCache)\r
ASM_PFX(AsmEnableCache):\r
wbinvd\r
movl %cr0, %eax\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(EnableDisableInterrupts)\r
+ASM_GLOBAL ASM_PFX(EnableDisableInterrupts)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(EnableInterrupts)\r
+ASM_GLOBAL ASM_PFX(EnableInterrupts)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86EnablePaging32)\r
+ASM_GLOBAL ASM_PFX(InternalX86EnablePaging32)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86EnablePaging64)\r
+ASM_GLOBAL ASM_PFX(InternalX86EnablePaging64)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmFlushCacheLine)\r
+ASM_GLOBAL ASM_PFX(AsmFlushCacheLine)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86FxRestore)\r
+ASM_GLOBAL ASM_PFX(InternalX86FxRestore)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86FxSave)\r
+ASM_GLOBAL ASM_PFX(InternalX86FxSave)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmInvd)\r
+ASM_GLOBAL ASM_PFX(AsmInvd)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathLRotU64)\r
+ASM_GLOBAL ASM_PFX(InternalMathLRotU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathLShiftU64)\r
+ASM_GLOBAL ASM_PFX(InternalMathLShiftU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalLongJump)\r
+ASM_GLOBAL ASM_PFX(InternalLongJump)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathModU64x32)\r
+ASM_GLOBAL ASM_PFX(InternalMathModU64x32)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmMonitor)\r
+ASM_GLOBAL ASM_PFX(AsmMonitor)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
.386:\r
.code:\r
\r
-.globl ASM_PFX(InternalMathMultU64x32)\r
+ASM_GLOBAL ASM_PFX(InternalMathMultU64x32)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathMultU64x64)\r
+ASM_GLOBAL ASM_PFX(InternalMathMultU64x64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmMwait)\r
+ASM_GLOBAL ASM_PFX(AsmMwait)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMathRRotU64)\r
+ASM_GLOBAL ASM_PFX(InternalMathRRotU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
.686:\r
.code:\r
\r
-.globl ASM_PFX(InternalMathRShiftU64)\r
+ASM_GLOBAL ASM_PFX(InternalMathRShiftU64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadCr0)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr0)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadCr2)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr2)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadCr3)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr3)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadCr4)\r
+ASM_GLOBAL ASM_PFX(AsmReadCr4)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadCs)\r
+ASM_GLOBAL ASM_PFX(AsmReadCs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr0)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr0)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr1)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr1)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr2)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr2)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr3)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr3)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr4)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr4)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr5)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr5)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr6)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr6)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDr7)\r
+ASM_GLOBAL ASM_PFX(AsmReadDr7)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadDs)\r
+ASM_GLOBAL ASM_PFX(AsmReadDs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadEflags)\r
+ASM_GLOBAL ASM_PFX(AsmReadEflags)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadEs)\r
+ASM_GLOBAL ASM_PFX(AsmReadEs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadFs)\r
+ASM_GLOBAL ASM_PFX(AsmReadFs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86ReadGdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86ReadGdtr)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadGs)\r
+ASM_GLOBAL ASM_PFX(AsmReadGs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalX86ReadIdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86ReadIdtr)\r
\r
#------------------------------------------------------------------------------\r
# VOID\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadLdtr)\r
+ASM_GLOBAL ASM_PFX(AsmReadLdtr)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm0)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm0)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm1)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm1)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm2)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm2)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm3)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm3)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm4)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm4)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm5)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm5)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm6)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm6)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMm7)\r
+ASM_GLOBAL ASM_PFX(AsmReadMm7)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadMsr64)\r
+ASM_GLOBAL ASM_PFX(AsmReadMsr64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadPmc)\r
+ASM_GLOBAL ASM_PFX(AsmReadPmc)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadSs)\r
+ASM_GLOBAL ASM_PFX(AsmReadSs)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadTr)\r
+ASM_GLOBAL ASM_PFX(AsmReadTr)\r
\r
#------------------------------------------------------------------------------\r
# UINT16\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(AsmReadTsc)\r
+ASM_GLOBAL ASM_PFX(AsmReadTsc)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(SetJump), ASM_PFX(InternalAssertJumpBuffer)\r
+ASM_GLOBAL ASM_PFX(SetJump), ASM_PFX(InternalAssertJumpBuffer)\r
\r
#------------------------------------------------------------------------------\r
# UINTN\r
# IN UINT64 Operand\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(InternalMathSwapBytes64)\r
+ASM_GLOBAL ASM_PFX(InternalMathSwapBytes64)\r
ASM_PFX(InternalMathSwapBytes64):\r
movl 8(%esp), %eax # eax <- upper 32 bits\r
movl 4(%esp), %edx # edx <- lower 32 bits\r
\r
#include <Library/BaseLib.h>\r
\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
+ASM_GLOBAL ASM_PFX(m16Start), ASM_PFX(m16Size), ASM_PFX(mThunk16Attr), ASM_PFX(m16Gdt), ASM_PFX(m16GdtrBase), ASM_PFX(mTransition)\r
+ASM_GLOBAL ASM_PFX(InternalAsmThunk16)\r
\r
ASM_PFX(m16Start):\r
\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWbinvd)\r
+ASM_GLOBAL ASM_PFX(AsmWbinvd)\r
ASM_PFX(AsmWbinvd):\r
wbinvd\r
ret\r
# IN UINTN Cr0\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteCr0)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr0)\r
ASM_PFX(AsmWriteCr0):\r
movl 4(%esp), %eax\r
movl %eax, %cr0\r
# IN UINTN Cr2\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteCr2)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr2)\r
ASM_PFX(AsmWriteCr2):\r
movl 4(%esp), %eax\r
movl %eax, %cr2\r
# IN UINTN Cr3\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteCr3)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr3)\r
ASM_PFX(AsmWriteCr3):\r
movl 4(%esp), %eax\r
movl %eax, %cr3\r
# IN UINTN Cr4\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteCr4)\r
+ASM_GLOBAL ASM_PFX(AsmWriteCr4)\r
ASM_PFX(AsmWriteCr4):\r
movl 4(%esp), %eax\r
movl %eax, %cr4\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr0)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr0)\r
ASM_PFX(AsmWriteDr0):\r
movl 4(%esp), %eax\r
movl %eax, %dr0\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr1)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr1)\r
ASM_PFX(AsmWriteDr1):\r
movl 4(%esp), %eax\r
movl %eax, %dr1\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr2)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr2)\r
ASM_PFX(AsmWriteDr2):\r
movl 4(%esp), %eax\r
movl %eax, %dr2\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr3)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr3)\r
ASM_PFX(AsmWriteDr3):\r
movl 4(%esp), %eax\r
movl %eax, %dr3\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr4)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr4)\r
ASM_PFX(AsmWriteDr4):\r
movl 4(%esp), %eax\r
movl %eax, %dr4\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr5)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr5)\r
ASM_PFX(AsmWriteDr5):\r
movl 4(%esp), %eax\r
movl %eax, %dr5\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr6)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr6)\r
ASM_PFX(AsmWriteDr6):\r
movl 4(%esp), %eax\r
movl %eax, %dr6\r
# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteDr7)\r
+ASM_GLOBAL ASM_PFX(AsmWriteDr7)\r
ASM_PFX(AsmWriteDr7):\r
movl 4(%esp), %eax\r
movl %eax, %dr7\r
# OUT IA32_DESCRIPTOR *Gdtr\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(InternalX86WriteGdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86WriteGdtr)\r
ASM_PFX(InternalX86WriteGdtr):\r
movl 4(%esp), %eax\r
lgdt (%eax)\r
# OUT IA32_DESCRIPTOR *Idtr\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(InternalX86WriteIdtr)\r
+ASM_GLOBAL ASM_PFX(InternalX86WriteIdtr)\r
ASM_PFX(InternalX86WriteIdtr):\r
movl 4(%esp), %eax\r
lidt (%eax)\r
# IN UINT16 Ldtr\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteLdtr)\r
+ASM_GLOBAL ASM_PFX(AsmWriteLdtr)\r
ASM_PFX(AsmWriteLdtr):\r
movl 4(%esp), %eax\r
lldtw %ax\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm0)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm0)\r
ASM_PFX(AsmWriteMm0):\r
movq 4(%esp), %mm0\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm1)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm1)\r
ASM_PFX(AsmWriteMm1):\r
movq 4(%esp), %mm1\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm2)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm2)\r
ASM_PFX(AsmWriteMm2):\r
movq 4(%esp), %mm2\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm3)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm3)\r
ASM_PFX(AsmWriteMm3):\r
movq 4(%esp), %mm3\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm4)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm4)\r
ASM_PFX(AsmWriteMm4):\r
movq 4(%esp), %mm4\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm5)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm5)\r
ASM_PFX(AsmWriteMm5):\r
movq 4(%esp), %mm5\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm6)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm6)\r
ASM_PFX(AsmWriteMm6):\r
movq 4(%esp), %mm6\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMm7)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMm7)\r
ASM_PFX(AsmWriteMm7):\r
movq 4(%esp), %mm7\r
ret\r
# IN UINT64 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmWriteMsr64)\r
+ASM_GLOBAL ASM_PFX(AsmWriteMsr64)\r
ASM_PFX(AsmWriteMsr64):\r
movl 12(%esp), %edx\r
movl 8(%esp), %eax\r
.auto\r
.text\r
\r
-.globl InternalAssertJumpBuffer\r
+ASM_GLOBAL InternalAssertJumpBuffer\r
.type InternalAssertJumpBuffer, @function\r
\r
.proc SetJump\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmDisableCache)\r
+ASM_GLOBAL ASM_PFX(AsmDisableCache)\r
ASM_PFX(AsmDisableCache):\r
movq %cr0, %rax\r
btsq $30, %rax\r
# VOID\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(AsmEnableCache)\r
+ASM_GLOBAL ASM_PFX(AsmEnableCache)\r
ASM_PFX(AsmEnableCache):\r
wbinvd\r
movq %cr0, %rax\r
\r
#include <Library/BaseLib.h>\r
\r
-.globl ASM_PFX(m16Start)\r
-.globl ASM_PFX(m16Size)\r
-.globl ASM_PFX(mThunk16Attr)\r
-.globl ASM_PFX(m16Gdt)\r
-.globl ASM_PFX(m16GdtrBase)\r
-.globl ASM_PFX(mTransition)\r
-.globl ASM_PFX(InternalAsmThunk16)\r
+ASM_GLOBAL ASM_PFX(m16Start)\r
+ASM_GLOBAL ASM_PFX(m16Size)\r
+ASM_GLOBAL ASM_PFX(mThunk16Attr)\r
+ASM_GLOBAL ASM_PFX(m16Gdt)\r
+ASM_GLOBAL ASM_PFX(m16GdtrBase)\r
+ASM_GLOBAL ASM_PFX(mTransition)\r
+ASM_GLOBAL ASM_PFX(InternalAsmThunk16)\r
\r
# define the structure of IA32_REGS\r
.equ _EDI, 0 #size 4\r
# _BackFromUserCode() takes control in real mode after 'retf' has been executed\r
# by user code. It will be shadowed to somewhere in memory below 1MB.\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(BackFromUserCode)\r
+ASM_GLOBAL ASM_PFX(BackFromUserCode)\r
ASM_PFX(BackFromUserCode):\r
#\r
# The order of saved registers on the stack matches the order they appears\r
# _ToUserCode() takes control in real mode before passing control to user code.\r
# It will be shadowed to somewhere in memory below 1MB.\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(ToUserCode)\r
+ASM_GLOBAL ASM_PFX(ToUserCode)\r
ASM_PFX(ToUserCode):\r
movl %edx,%ss # set new segment selectors\r
movl %edx,%ds\r
# );\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalAsmThunk16)\r
+ASM_GLOBAL ASM_PFX(InternalAsmThunk16)\r
ASM_PFX(InternalAsmThunk16):\r
pushq %rbp\r
pushq %rbx\r
.byte 0x0f, 0xa9 # pop gs\r
.byte 0x0f, 0xa1 # pop fs\r
\r
- popq %rbx
- movq %rbx, %ss
- popq %rbx
- movq %rbx, %es
- popq %rbx
- movq %rbx, %ds
+ popq %rbx\r
+ movq %rbx, %ss\r
+ popq %rbx\r
+ movq %rbx, %es\r
+ popq %rbx\r
+ movq %rbx, %ds\r
\r
popq %rdi\r
popq %rsi\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
\r
#------------------------------------------------------------------------------\r
# INTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
push rsi\r
push rdi\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
ASM_PFX(InternalMemCopyMem):\r
push rsi\r
push rdi\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
ASM_PFX(InternalMemScanMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
ASM_PFX(InternalMemScanMem32):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
ASM_PFX(InternalMemScanMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
ASM_PFX(InternalMemScanMem8):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
ASM_PFX(InternalMemSetMem):\r
push rdi\r
mov rax, r8\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
ASM_PFX(InternalMemSetMem16):\r
push rdi\r
mov rax, r8\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
ASM_PFX(InternalMemSetMem32):\r
movq mm0, r8 # mm0 <- Value\r
mov rax, rcx # rax <- Buffer\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
ASM_PFX(InternalMemSetMem64):\r
movq mm0, r8 #Value\r
mov rax, rcx #rax <- Buffer\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
ASM_PFX(InternalMemZeroMem):\r
push rdi\r
mov rdi, rcx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
\r
#------------------------------------------------------------------------------\r
# INTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
push rsi\r
push rdi\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
ASM_PFX(InternalMemCopyMem):\r
push rsi\r
push rdi\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
ASM_PFX(InternalMemScanMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
ASM_PFX(InternalMemScanMem32):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
ASM_PFX(InternalMemScanMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
ASM_PFX(InternalMemScanMem8):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
ASM_PFX(InternalMemSetMem):\r
push rdi\r
push rbx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
ASM_PFX(InternalMemSetMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
ASM_PFX(InternalMemSetMem32):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
ASM_PFX(InternalMemSetMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
ASM_PFX(InternalMemZeroMem):\r
push rdi\r
push rcx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
\r
#------------------------------------------------------------------------------\r
# INTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
push rsi\r
push rdi\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
ASM_PFX(InternalMemCopyMem):\r
push rsi\r
push rdi\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
ASM_PFX(InternalMemScanMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
ASM_PFX(InternalMemScanMem32):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
ASM_PFX(InternalMemScanMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
ASM_PFX(InternalMemScanMem8):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
ASM_PFX(InternalMemSetMem):\r
push rdi\r
mov rax, r8 # rax = Value\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
ASM_PFX(InternalMemSetMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
ASM_PFX(InternalMemSetMem32):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
ASM_PFX(InternalMemSetMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
ASM_PFX(InternalMemZeroMem):\r
push rdi\r
push rcx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
\r
#------------------------------------------------------------------------------\r
# INTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
.386:\r
.code:\r
\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
push rsi\r
push rdi\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
ASM_PFX(InternalMemCopyMem):\r
push rsi\r
push rdi\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
ASM_PFX(InternalMemScanMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
ASM_PFX(InternalMemScanMem32):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
ASM_PFX(InternalMemScanMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
ASM_PFX(InternalMemScanMem8):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
ASM_PFX(InternalMemSetMem):\r
push rdi\r
mov rax, r8 # rax = Value\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
ASM_PFX(InternalMemSetMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
ASM_PFX(InternalMemSetMem32):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
ASM_PFX(InternalMemSetMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
ASM_PFX(InternalMemZeroMem):\r
push rdi\r
push rcx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
\r
#------------------------------------------------------------------------------\r
# INTN\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
\r
#------------------------------------------------------------------------------\r
# CONST VOID *\r
# IN UINT8 Value\r
# );\r
#------------------------------------------------------------------------------\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
ASM_PFX(InternalMemSetMem):\r
push %edi\r
movl 12(%esp), %edx # edx <- Count\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
\r
#------------------------------------------------------------------------------\r
# VOID *\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCompareMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
push rsi\r
push rdi\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemCopyMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemCopyMem)\r
ASM_PFX(InternalMemCopyMem):\r
push rsi\r
push rdi\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem16)\r
ASM_PFX(InternalMemScanMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
ASM_PFX(InternalMemScanMem32):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem64)\r
ASM_PFX(InternalMemScanMem64):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemScanMem8)\r
+ASM_GLOBAL ASM_PFX(InternalMemScanMem8)\r
ASM_PFX(InternalMemScanMem8):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
ASM_PFX(InternalMemSetMem):\r
push rdi\r
mov rdi, rcx # rdi <- Buffer\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem16)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem16)\r
ASM_PFX(InternalMemSetMem16):\r
push rdi\r
mov rdi, rcx\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem32)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem32)\r
ASM_PFX(InternalMemSetMem32):\r
push rdi\r
mov rdi, rcx\r
# )\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemSetMem64)\r
+ASM_GLOBAL ASM_PFX(InternalMemSetMem64)\r
ASM_PFX(InternalMemSetMem64):\r
mov rax, rcx # rax <- Buffer\r
xchg rcx, rdx # rcx <- Count & rdx <- Buffer\r
# );\r
#------------------------------------------------------------------------------\r
.intel_syntax noprefix\r
-.globl ASM_PFX(InternalMemZeroMem)\r
+ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
ASM_PFX(InternalMemZeroMem):\r
push rdi\r
mov rdi, rcx\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalSyncCompareExchange32)\r
+ASM_GLOBAL ASM_PFX(InternalSyncCompareExchange32)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalSyncCompareExchange64)\r
+ASM_GLOBAL ASM_PFX(InternalSyncCompareExchange64)\r
\r
#------------------------------------------------------------------------------\r
# UINT64\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalSyncDecrement)\r
+ASM_GLOBAL ASM_PFX(InternalSyncDecrement)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
#\r
#------------------------------------------------------------------------------\r
\r
-.globl ASM_PFX(InternalSyncIncrement)\r
+ASM_GLOBAL ASM_PFX(InternalSyncIncrement)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
\r
#include <ProcessorBind.h>\r
\r
-.globl ASM_PFX(SecSwitchStack)\r
+ASM_GLOBAL ASM_PFX(SecSwitchStack)\r
ASM_PFX(SecSwitchStack):\r
#\r
# Save three register: eax, ebx, ecx\r