diff options
38 files changed, 145 insertions, 7 deletions
diff --git a/ArmPkg/Drivers/CpuDxe/ExceptionSupport.ARMv6.S b/ArmPkg/Drivers/CpuDxe/ExceptionSupport.ARMv6.S index 9db6756..1c2bb62 100644 --- a/ArmPkg/Drivers/CpuDxe/ExceptionSupport.ARMv6.S +++ b/ArmPkg/Drivers/CpuDxe/ExceptionSupport.ARMv6.S @@ -51,10 +51,15 @@ This is the stack constructed by the exception handler (low address to high addr .globl ASM_PFX(ExceptionHandlersStart) +INTERWORK_FUNC(ExceptionHandlersStart) .globl ASM_PFX(ExceptionHandlersEnd) +INTERWORK_FUNC(ExceptionHandlersEnd) .globl ASM_PFX(CommonExceptionEntry) +INTERWORK_FUNC(CommonExceptionEntry) .globl ASM_PFX(AsmCommonExceptionEntry) +INTERWORK_FUNC(AsmCommonExceptionEntry) .globl ASM_PFX(CommonCExceptionHandler) +INTERWORK_FUNC(CommonCExceptionHandler) .text #if !defined(__APPLE__) diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S b/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S index 8850434..8c2ce60 100644 --- a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S +++ b/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S @@ -15,24 +15,43 @@ .text .align 2 .globl ASM_PFX(ArmCleanInvalidateDataCache) +INTERWORK_FUNC(ArmCleanInvalidateDataCache) .globl ASM_PFX(ArmCleanDataCache) +INTERWORK_FUNC(ArmCleanDataCache) .globl ASM_PFX(ArmInvalidateDataCache) +INTERWORK_FUNC(ArmInvalidateDataCache) .globl ASM_PFX(ArmInvalidateInstructionCache) +INTERWORK_FUNC(ArmInvalidateInstructionCache) .globl ASM_PFX(ArmInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmEnableMmu) +INTERWORK_FUNC(ArmEnableMmu) .globl ASM_PFX(ArmDisableMmu) +INTERWORK_FUNC(ArmDisableMmu) .globl ASM_PFX(ArmMmuEnabled) +INTERWORK_FUNC(ArmMmuEnabled) .globl ASM_PFX(ArmEnableDataCache) +INTERWORK_FUNC(ArmEnableDataCache) .globl ASM_PFX(ArmDisableDataCache) +INTERWORK_FUNC(ArmDisableDataCache) .globl ASM_PFX(ArmEnableInstructionCache) +INTERWORK_FUNC(ArmEnableInstructionCache) .globl ASM_PFX(ArmDisableInstructionCache) +INTERWORK_FUNC(ArmDisableInstructionCache) .globl ASM_PFX(ArmEnableBranchPrediction) +INTERWORK_FUNC(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) +INTERWORK_FUNC(ArmDisableBranchPrediction) .globl ASM_PFX(ArmDataMemoryBarrier) +INTERWORK_FUNC(ArmDataMemoryBarrier) .globl ASM_PFX(ArmDataSyncronizationBarrier) +INTERWORK_FUNC(ArmDataSyncronizationBarrier) .globl ASM_PFX(ArmInstructionSynchronizationBarrier) +INTERWORK_FUNC(ArmInstructionSynchronizationBarrier) .set DC_ON, (0x1<<2) diff --git a/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S b/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S index 281603b..f570f75 100644 --- a/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S +++ b/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S @@ -15,24 +15,43 @@ .text .align 2 .globl ASM_PFX(ArmCleanInvalidateDataCache) +INTERWORK_FUNC(ArmCleanInvalidateDataCache) .globl ASM_PFX(ArmCleanDataCache) +INTERWORK_FUNC(ArmCleanDataCache) .globl ASM_PFX(ArmInvalidateDataCache) +INTERWORK_FUNC(ArmInvalidateDataCache) .globl ASM_PFX(ArmInvalidateInstructionCache) +INTERWORK_FUNC(ArmInvalidateInstructionCache) .globl ASM_PFX(ArmInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmEnableMmu) +INTERWORK_FUNC(ArmEnableMmu) .globl ASM_PFX(ArmDisableMmu) +INTERWORK_FUNC(ArmDisableMmu) .globl ASM_PFX(ArmMmuEnabled) +INTERWORK_FUNC(ArmMmuEnabled) .globl ASM_PFX(ArmEnableDataCache) +INTERWORK_FUNC(ArmEnableDataCache) .globl ASM_PFX(ArmDisableDataCache) +INTERWORK_FUNC(ArmDisableDataCache) .globl ASM_PFX(ArmEnableInstructionCache) +INTERWORK_FUNC(ArmEnableInstructionCache) .globl ASM_PFX(ArmDisableInstructionCache) +INTERWORK_FUNC(ArmDisableInstructionCache) .globl ASM_PFX(ArmEnableBranchPrediction) +INTERWORK_FUNC(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) +INTERWORK_FUNC(ArmDisableBranchPrediction) .globl ASM_PFX(ArmDataMemoryBarrier) +INTERWORK_FUNC(ArmDataMemoryBarrier) .globl ASM_PFX(ArmDataSyncronizationBarrier) +INTERWORK_FUNC(ArmDataSyncronizationBarrier) .globl ASM_PFX(ArmInstructionSynchronizationBarrier) +INTERWORK_FUNC(ArmInstructionSynchronizationBarrier) .set DC_ON, (1<<2) diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S b/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S index 83ecdba..8ca37f0 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S @@ -13,22 +13,39 @@ #------------------------------------------------------------------------------ .globl ASM_PFX(Cp15IdCode) +INTERWORK_FUNC(Cp15IdCode) .globl ASM_PFX(Cp15CacheInfo) +INTERWORK_FUNC(Cp15CacheInfo) .globl ASM_PFX(ArmEnableInterrupts) +INTERWORK_FUNC(ArmEnableInterrupts) .globl ASM_PFX(ArmDisableInterrupts) +INTERWORK_FUNC(ArmDisableInterrupts) .globl ASM_PFX(ArmGetInterruptState) +INTERWORK_FUNC(ArmGetInterruptState) .globl ASM_PFX(ArmEnableFiq) +INTERWORK_FUNC(ArmEnableFiq) .globl ASM_PFX(ArmDisableFiq) +INTERWORK_FUNC(ArmDisableFiq) .globl ASM_PFX(ArmGetFiqState) +INTERWORK_FUNC(ArmGetFiqState) .globl ASM_PFX(ArmInvalidateTlb) +INTERWORK_FUNC(ArmInvalidateTlb) .globl ASM_PFX(ArmSetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmSetTranslationTableBaseAddress) .globl ASM_PFX(ArmGetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmGetTranslationTableBaseAddress) .globl ASM_PFX(ArmSetDomainAccessControl) +INTERWORK_FUNC(ArmSetDomainAccessControl) .globl ASM_PFX(ArmUpdateTranslationTableEntry) +INTERWORK_FUNC(ArmUpdateTranslationTableEntry) .globl ASM_PFX(CPSRMaskInsert) +INTERWORK_FUNC(CPSRMaskInsert) .globl ASM_PFX(CPSRRead) +INTERWORK_FUNC(CPSRRead) .globl ASM_PFX(ReadCCSIDR) +INTERWORK_FUNC(ReadCCSIDR) .globl ASM_PFX(ReadCLIDR) +INTERWORK_FUNC(ReadCLIDR) .text .align 2 diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S index d071c1a..991de89 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S @@ -13,26 +13,47 @@ #------------------------------------------------------------------------------ .globl ASM_PFX(ArmInvalidateInstructionCache) +INTERWORK_FUNC(ArmInvalidateInstructionCache) .globl ASM_PFX(ArmInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmInvalidateDataCacheEntryBySetWay) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryBySetWay) .globl ASM_PFX(ArmCleanDataCacheEntryBySetWay) +INTERWORK_FUNC(ArmCleanDataCacheEntryBySetWay) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryBySetWay) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryBySetWay) .globl ASM_PFX(ArmDrainWriteBuffer) +INTERWORK_FUNC(ArmDrainWriteBuffer) .globl ASM_PFX(ArmEnableMmu) +INTERWORK_FUNC(ArmEnableMmu) .globl ASM_PFX(ArmDisableMmu) +INTERWORK_FUNC(ArmDisableMmu) .globl ASM_PFX(ArmMmuEnabled) +INTERWORK_FUNC(ArmMmuEnabled) .globl ASM_PFX(ArmEnableDataCache) +INTERWORK_FUNC(ArmEnableDataCache) .globl ASM_PFX(ArmDisableDataCache) +INTERWORK_FUNC(ArmDisableDataCache) .globl ASM_PFX(ArmEnableInstructionCache) +INTERWORK_FUNC(ArmEnableInstructionCache) .globl ASM_PFX(ArmDisableInstructionCache) +INTERWORK_FUNC(ArmDisableInstructionCache) .globl ASM_PFX(ArmEnableBranchPrediction) +INTERWORK_FUNC(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) +INTERWORK_FUNC(ArmDisableBranchPrediction) .globl ASM_PFX(ArmV7AllDataCachesOperation) +INTERWORK_FUNC(ArmV7AllDataCachesOperation) .globl ASM_PFX(ArmDataMemoryBarrier) +INTERWORK_FUNC(ArmDataMemoryBarrier) .globl ASM_PFX(ArmDataSyncronizationBarrier) +INTERWORK_FUNC(ArmDataSyncronizationBarrier) .globl ASM_PFX(ArmInstructionSynchronizationBarrier) +INTERWORK_FUNC(ArmInstructionSynchronizationBarrier) .text .align 2 diff --git a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S index e5e9b54..a432acb 100644 --- a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S +++ b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S @@ -15,19 +15,34 @@ .text .align 2 .globl ASM_PFX(Cp15IdCode) +INTERWORK_FUNC(Cp15IdCode) .globl ASM_PFX(Cp15CacheInfo) +INTERWORK_FUNC(Cp15CacheInfo) .globl ASM_PFX(ArmEnableInterrupts) +INTERWORK_FUNC(ArmEnableInterrupts) .globl ASM_PFX(ArmDisableInterrupts) +INTERWORK_FUNC(ArmDisableInterrupts) .globl ASM_PFX(ArmGetInterruptState) +INTERWORK_FUNC(ArmGetInterruptState) .globl ASM_PFX(ArmEnableFiq) +INTERWORK_FUNC(ArmEnableFiq) .globl ASM_PFX(ArmDisableFiq) +INTERWORK_FUNC(ArmDisableFiq) .globl ASM_PFX(ArmGetFiqState) +INTERWORK_FUNC(ArmGetFiqState) .globl ASM_PFX(ArmInvalidateTlb) +INTERWORK_FUNC(ArmInvalidateTlb) .globl ASM_PFX(ArmSetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmSetTranslationTableBaseAddress) .globl ASM_PFX(ArmGetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmGetTranslationTableBaseAddress) .globl ASM_PFX(ArmSetDomainAccessControl) +INTERWORK_FUNC(ArmSetDomainAccessControl) .globl ASM_PFX(CPSRMaskInsert) +INTERWORK_FUNC(CPSRMaskInsert) .globl ASM_PFX(CPSRRead) +INTERWORK_FUNC(CPSRRead) + #------------------------------------------------------------------------------ diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S b/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S index 9d0d389..1cd1dae 100755 --- a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S +++ b/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S @@ -40,6 +40,7 @@ InternalMemCopyMem ( .text
.align 2
.globl ASM_PFX(InternalMemCopyMem)
+INTERWORK_FUNC(InternalMemCopyMem)
ASM_PFX(InternalMemCopyMem):
stmfd sp!, {r4-r11, lr}
diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S b/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S index 94aa0ca..29a50f5 100755 --- a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S +++ b/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S @@ -38,6 +38,7 @@ InternalMemSetMem ( .text
.align 2
.globl ASM_PFX(InternalMemSetMem)
+INTERWORK_FUNC(InternalMemSetMem)
ASM_PFX(InternalMemSetMem):
stmfd sp!, {r4-r11, lr}
diff --git a/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S b/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S index f340146..69db936 100755 --- a/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S +++ b/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S @@ -40,6 +40,7 @@ InternalMemCopyMem ( .text
.align 2
.globl ASM_PFX(InternalMemCopyMem)
+INTERWORK_FUNC(InternalMemCopyMem)
ASM_PFX(InternalMemCopyMem):
stmfd sp!, {r4, r9, lr}
diff --git a/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S b/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S index 3b4a03d..3eb901b 100755 --- a/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S +++ b/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S @@ -38,6 +38,7 @@ InternalMemSetMem ( .text
.align 2
.globl ASM_PFX(InternalMemSetMem)
+INTERWORK_FUNC(InternalMemSetMem)
ASM_PFX(InternalMemSetMem):
stmfd sp!, {r4-r7, lr}
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S index 669e396..64d0a33 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ashldi3) + INTERWORK_FUNC(__ashldi3)
ASM_PFX(__ashldi3): cmp r2, #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S index a55c782..3cb0e68 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ashrdi3) + INTERWORK_FUNC(__ashrdi3)
ASM_PFX(__ashrdi3): cmp r2, #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S index fedad74..2f9dcd4 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__clzsi2) + INTERWORK_FUNC(__clzsi2)
ASM_PFX(__clzsi2): @ frame_needed = 1, uses_anonymous_args = 0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S index 0f26c4a..b776ef4 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ctzsi2) + INTERWORK_FUNC(__ctzsi2)
ASM_PFX(__ctzsi2): uxth r3, r0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S index d6a5add..c6a889a 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__divdi3) + INTERWORK_FUNC(__divdi3)
ASM_PFX(__divdi3): @ args = 0, pretend = 0, frame = 0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S index df07e72..3d9b78c 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__divsi3) + INTERWORK_FUNC(__divsi3)
ASM_PFX(__divsi3): eor r3, r0, r0, asr #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S index d5a68ae..f8cd1aa 100755 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S @@ -16,6 +16,7 @@ .text .align 2 .globl ASM_PFX(__aeabi_ldivmod) + INTERWORK_FUNC(__aeabi_ldivmod)
// // A pair of (unsigned) long longs is returned in {{r0, r1}, {r2, r3}}, diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S index 2f0341c..8d8c98b 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__lshrdi3) + INTERWORK_FUNC(__lshrdi3)
ASM_PFX(__lshrdi3): cmp r2, #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S index 3c26981..ae20598 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(memcpy) + INTERWORK_FUNC(memcpy)
ASM_PFX(memcpy): stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S index 6992832..040bbf1 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S @@ -15,8 +15,10 @@ .text .align 2 - .globl _memset -_memset: + .globl ASM_PFX(memset) + INTERWORK_FUNC(memset)
+
+ASM_PFX(memset):
@ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S index a872b63..c7eb4b5 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__moddi3) + INTERWORK_FUNC(__moddi3)
ASM_PFX(__moddi3): stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S index 8924e7b..93ba234 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__modsi3) + INTERWORK_FUNC(__modsi3)
ASM_PFX(__modsi3): stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S index c405902..5c9aeef 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S @@ -15,7 +15,8 @@ .text .align 2 .globl ASM_PFX(__muldi3) - + INTERWORK_FUNC(__muldi3)
+ ASM_PFX(__muldi3): stmfd sp!, {r4, r5, r6, r7, lr} add r7, sp, #12 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S index 6791050..68cc974 100755 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S @@ -16,6 +16,8 @@ .text
.align 2
.globl ASM_PFX(__aeabi_ulcmp)
+ INTERWORK_FUNC(__aeabi_ulcmp)
+
ASM_PFX(__aeabi_ulcmp):
stmfd sp!, {r4, r5, r8}
cmp r3, r1
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S index 88419db..8c38a7a 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S @@ -17,7 +17,7 @@ .p2align 2 .globl ASM_PFX(__switch16) - +INTERWORK_FUNC(__switch16)
ASM_PFX(__switch16): ldrh ip, [lr, #-1] diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S index d6be556..d9bf800 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S @@ -17,7 +17,7 @@ .p2align 2 .globl ASM_PFX(__switch32) - +INTERWORK_FUNC(__switch32) ASM_PFX(__switch32): ldr ip, [lr, #-1] diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S index a526d59..1fbd48a 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S @@ -17,6 +17,7 @@ .p2align 2 .globl ASM_PFX(__switch8) +INTERWORK_FUNC(__switch8) ASM_PFX(__switch8): diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S index 8f057b8..ed0c115 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S @@ -17,6 +17,7 @@ .p2align 2 .globl ASM_PFX(__switchu8) +INTERWORK_FUNC(__switchu8) ASM_PFX(__switchu8): diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S index 18fccc6..5b7f5b7 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ucmpdi2) + INTERWORK_FUNC(__ucmpdi2) ASM_PFX(__ucmpdi2): stmfd sp!, {r4, r5, r8, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S index b03f653..fc9240e 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__udivdi3) + INTERWORK_FUNC(__udivdi3) ASM_PFX(__udivdi3): stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S index 77507e3..816e66a 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S @@ -15,7 +15,8 @@ .text .align 2 .globl ASM_PFX(__udivmoddi4) - + INTERWORK_FUNC(__udivmoddi4) + ASM_PFX(__udivmoddi4): stmfd sp!, {r4, r5, r6, r7, lr} add r7, sp, #12 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S index 452cfe5..77cfa72 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__udivsi3) + INTERWORK_FUNC(__udivsi3) ASM_PFX(__udivsi3): cmp r1, #0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S index 75761de..81e824c 100755 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S @@ -17,6 +17,7 @@ .text .align 2 .globl ASM_PFX(__aeabi_uldivmod) + INTERWORK_FUNC(__aeabi_uldivmod) // //UINT64 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S index b83d7b1..c801ba0 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__umoddi3) + INTERWORK_FUNC(__umoddi3) ASM_PFX(__umoddi3): stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S index 919018a..30dc551 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__umodsi3) + INTERWORK_FUNC(__umodsi3) ASM_PFX(__umodsi3): stmfd sp!, {r4, r5, r7, lr} diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc index 5e460c7..1a7b2cc 100644 --- a/BeagleBoardPkg/BeagleBoardPkg.dsc +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc @@ -364,7 +364,14 @@ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf - EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf + + EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf +# +# This version uses semi-hosting console +# EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf { +# <LibraryClasses> +# SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf +# } EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf diff --git a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S index e51a779..c8deed8 100644 --- a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S +++ b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S @@ -20,6 +20,7 @@ .globl ASM_PFX(CEntryPoint)
.globl ASM_PFX(_ModuleEntryPoint)
+INTERWORK_FUNC(_ModuleEntryPoint) ASM_PFX(_ModuleEntryPoint):
diff --git a/EmbeddedPkg/Library/GdbDebugAgent/Arm/ExceptionSupport.ARMv6.S b/EmbeddedPkg/Library/GdbDebugAgent/Arm/ExceptionSupport.ARMv6.S index 4b7b5c9..2682581 100755 --- a/EmbeddedPkg/Library/GdbDebugAgent/Arm/ExceptionSupport.ARMv6.S +++ b/EmbeddedPkg/Library/GdbDebugAgent/Arm/ExceptionSupport.ARMv6.S @@ -51,10 +51,15 @@ This is the stack constructed by the exception handler (low address to high addr .globl ASM_PFX(ExceptionHandlersStart) +INTERWORK_FUNC(ExceptionHandlersStart) .globl ASM_PFX(ExceptionHandlersEnd) +INTERWORK_FUNC(ExceptionHandlersEnd) .globl ASM_PFX(CommonExceptionEntry) +INTERWORK_FUNC(CommonExceptionEntry) .globl ASM_PFX(AsmCommonExceptionEntry) +INTERWORK_FUNC(AsmCommonExceptionEntry) .globl ASM_PFX(GdbExceptionHandler) +INTERWORK_FUNC(GdbExceptionHandler) .text .align 3 |