mirror of https://github.com/acidanthera/audk.git
Replace INTERWORK_FUNC, with GCC_ASM_EXPORT() and GCC_ASM_IMPORT() and update the rest of the MdePkg ARM assembler to use the macro. Leave the old INTERWORK_FUNC macro in place until we can make sure all the other packages have been updated and then it can be removed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11289 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d6bf79a7f5
commit
4c8a6e069c
|
@ -118,11 +118,26 @@ typedef INT32 INTN;
|
|||
/// CodeSourcery 2010.09 started requiring the .type to function properly
|
||||
///
|
||||
#define INTERWORK_FUNC(func__) .type ASM_PFX(func__), %function
|
||||
|
||||
#define GCC_ASM_EXPORT(func__) \
|
||||
.global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\
|
||||
.type ASM_PFX(func__), %function
|
||||
|
||||
#define GCC_ASM_IMPORT(func__) \
|
||||
.extern _CONCATENATE (__USER_LABEL_PREFIX__, func__)
|
||||
|
||||
#else
|
||||
//
|
||||
// .type not supported by Apple Xcode tools
|
||||
//
|
||||
#define INTERWORK_FUNC(func__)
|
||||
#define INTERWORK_FUNC(func__)
|
||||
|
||||
#define GCC_ASM_EXPORT(func__) \
|
||||
.globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \
|
||||
|
||||
#define GCC_ASM_IMPORT(name) \
|
||||
.extern _CONCATENATE (__USER_LABEL_PREFIX__, name)
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -139,3 +154,5 @@ typedef INT32 INTN;
|
|||
#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
|
||||
.text
|
||||
.p2align 2
|
||||
.globl ASM_PFX(CpuFlushTlb)
|
||||
INTERWORK_FUNC(CpuFlushTlb)
|
||||
GCC_ASM_EXPORT(CpuFlushTlb)
|
||||
|
||||
#/**
|
||||
# Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
|
||||
.text
|
||||
.p2align 2
|
||||
.globl ASM_PFX(CpuSleep)
|
||||
INTERWORK_FUNC(CpuSleep)
|
||||
GCC_ASM_EXPORT(CpuSleep)
|
||||
|
||||
#/**
|
||||
# Places the CPU in a sleep state until an interrupt is received.
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
|
||||
.text
|
||||
.p2align 2
|
||||
.globl ASM_PFX(CpuBreakpoint)
|
||||
INTERWORK_FUNC(CpuBreakpoint)
|
||||
GCC_ASM_EXPORT(CpuBreakpoint)
|
||||
|
||||
#/**
|
||||
# Generates a breakpoint on the CPU.
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
|
||||
.text
|
||||
.p2align 2
|
||||
.globl ASM_PFX(DisableInterrupts)
|
||||
INTERWORK_FUNC(DisableInterrupts)
|
||||
GCC_ASM_EXPORT(DisableInterrupts)
|
||||
|
||||
#/**
|
||||
# Disables CPU interrupts.
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
|
||||
.text
|
||||
.p2align 2
|
||||
.globl ASM_PFX(EnableInterrupts)
|
||||
INTERWORK_FUNC(EnableInterrupts)
|
||||
GCC_ASM_EXPORT(EnableInterrupts)
|
||||
|
||||
|
||||
#/**
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
|
||||
.text
|
||||
.p2align 2
|
||||
.globl ASM_PFX(GetInterruptState)
|
||||
INTERWORK_FUNC(GetInterruptState)
|
||||
GCC_ASM_EXPORT (GetInterruptState)
|
||||
|
||||
#/**
|
||||
# Retrieves the current CPU interrupt state.
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
|
||||
.text
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathLShiftU64)
|
||||
INTERWORK_FUNC(InternalMathLShiftU64)
|
||||
GCC_ASM_EXPORT(InternalMathLShiftU64)
|
||||
|
||||
ASM_PFX(InternalMathLShiftU64):
|
||||
stmfd sp!, {r4, r5, r6}
|
||||
|
@ -38,8 +37,7 @@ ASM_PFX(InternalMathLShiftU64):
|
|||
bx lr
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathRShiftU64)
|
||||
INTERWORK_FUNC(InternalMathRShiftU64)
|
||||
GCC_ASM_EXPORT(InternalMathRShiftU64)
|
||||
|
||||
ASM_PFX(InternalMathRShiftU64):
|
||||
stmfd sp!, {r4, r5, r6}
|
||||
|
@ -57,8 +55,7 @@ ASM_PFX(InternalMathRShiftU64):
|
|||
bx lr
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathARShiftU64)
|
||||
INTERWORK_FUNC(InternalMathARShiftU64)
|
||||
GCC_ASM_EXPORT(InternalMathARShiftU64)
|
||||
|
||||
ASM_PFX(InternalMathARShiftU64):
|
||||
stmfd sp!, {r4, r5, r6}
|
||||
|
@ -76,8 +73,7 @@ ASM_PFX(InternalMathARShiftU64):
|
|||
bx lr
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathLRotU64)
|
||||
INTERWORK_FUNC(InternalMathLRotU64)
|
||||
GCC_ASM_EXPORT(InternalMathLRotU64)
|
||||
|
||||
ASM_PFX(InternalMathLRotU64):
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
|
@ -103,8 +99,7 @@ ASM_PFX(InternalMathLRotU64):
|
|||
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathRRotU64)
|
||||
INTERWORK_FUNC(InternalMathRRotU64)
|
||||
GCC_ASM_EXPORT(InternalMathRRotU64)
|
||||
|
||||
ASM_PFX(InternalMathRRotU64):
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
|
@ -129,8 +124,7 @@ ASM_PFX(InternalMathRRotU64):
|
|||
ldmfd sp!, {r4, r5, r6, r7, pc}
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathMultU64x32)
|
||||
INTERWORK_FUNC(InternalMathMultU64x32)
|
||||
GCC_ASM_EXPORT(InternalMathMultU64x32)
|
||||
|
||||
ASM_PFX(InternalMathMultU64x32):
|
||||
stmfd sp!, {r7, lr}
|
||||
|
@ -144,8 +138,7 @@ ASM_PFX(InternalMathMultU64x32):
|
|||
ldmfd sp!, {r7, pc}
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathMultU64x64)
|
||||
INTERWORK_FUNC(InternalMathMultU64x64)
|
||||
GCC_ASM_EXPORT(InternalMathMultU64x64)
|
||||
|
||||
ASM_PFX(InternalMathMultU64x64):
|
||||
stmfd sp!, {r7, lr}
|
||||
|
@ -158,8 +151,7 @@ ASM_PFX(InternalMathMultU64x64):
|
|||
ldmfd sp!, {r7, pc}
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathDivU64x32)
|
||||
INTERWORK_FUNC(InternalMathDivU64x32)
|
||||
GCC_ASM_EXPORT(InternalMathDivU64x32)
|
||||
|
||||
ASM_PFX(InternalMathDivU64x32):
|
||||
stmfd sp!, {r7, lr}
|
||||
|
@ -170,8 +162,7 @@ ASM_PFX(InternalMathDivU64x32):
|
|||
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathModU64x32)
|
||||
INTERWORK_FUNC(InternalMathModU64x32)
|
||||
GCC_ASM_EXPORT(InternalMathModU64x32)
|
||||
|
||||
ASM_PFX(InternalMathModU64x32):
|
||||
stmfd sp!, {r7, lr}
|
||||
|
@ -182,8 +173,7 @@ ASM_PFX(InternalMathModU64x32):
|
|||
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathDivRemU64x32)
|
||||
INTERWORK_FUNC(InternalMathDivRemU64x32)
|
||||
GCC_ASM_EXPORT(InternalMathDivRemU64x32)
|
||||
|
||||
ASM_PFX(InternalMathDivRemU64x32):
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
|
@ -211,8 +201,7 @@ L22:
|
|||
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathDivRemU64x64)
|
||||
INTERWORK_FUNC(InternalMathDivRemU64x64)
|
||||
GCC_ASM_EXPORT(InternalMathDivRemU64x64)
|
||||
|
||||
ASM_PFX(InternalMathDivRemU64x64):
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
|
@ -238,8 +227,7 @@ L26:
|
|||
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathDivRemS64x64)
|
||||
INTERWORK_FUNC(InternalMathDivRemS64x64)
|
||||
GCC_ASM_EXPORT(InternalMathDivRemS64x64)
|
||||
|
||||
ASM_PFX(InternalMathDivRemS64x64):
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
|
@ -265,8 +253,7 @@ L30:
|
|||
|
||||
|
||||
.align 2
|
||||
.globl ASM_PFX(InternalMathSwapBytes64)
|
||||
INTERWORK_FUNC(InternalMathSwapBytes64)
|
||||
GCC_ASM_EXPORT(InternalMathSwapBytes64)
|
||||
|
||||
ASM_PFX(InternalMathSwapBytes64):
|
||||
@ args = 0, pretend = 0, frame = 0
|
||||
|
|
|
@ -14,11 +14,8 @@
|
|||
.text
|
||||
.p2align 2
|
||||
|
||||
.globl ASM_PFX(SetJump)
|
||||
INTERWORK_FUNC(SetJump)
|
||||
|
||||
.globl ASM_PFX(InternalLongJump)
|
||||
INTERWORK_FUNC(InternalLongJump)
|
||||
GCC_ASM_EXPORT(SetJump)
|
||||
GCC_ASM_EXPORT(InternalLongJump)
|
||||
|
||||
#/**
|
||||
# Saves the current CPU context that can be restored with a call to LongJump() and returns 0.#
|
||||
|
|
Loading…
Reference in New Issue