From 81be6e070f4d9b3cb3bb756302c3090d406744ba Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Tue, 1 Nov 2011 23:32:04 +0000 Subject: ArmPkg/ArmCpuLib: Fix GCC/XCode builds git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12626 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.S | 6 +++++- .../Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.asm | 8 +++++++- ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.S | 8 +++++++- ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.asm | 10 +++++++++- ArmPkg/Drivers/TimerDxe/TimerDxe.c | 1 + .../DebugUncachedMemoryAllocationLib.c | 1 + .../DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf | 3 +-- ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc | 2 +- 8 files changed, 32 insertions(+), 7 deletions(-) diff --git a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.S b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.S index b3e0597ddd..feeefcdd44 100644 --- a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.S +++ b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.S @@ -34,7 +34,11 @@ ASM_PFX(ArmCpuSynchronizeWait): cmp r0, #ARM_CPU_EVENT_BOOT_MEM_INIT // The SCU enabled is the event to tell us the Init Boot Memory is initialized beq ArmWaitGicDistributorEnabled - bx ASM_PFX(CArmCpuSynchronizeWait) + push {r1,lr} + LoadConstantToReg (ASM_PFX(CArmCpuSynchronizeWait), r1) + blx r1 + pop {r1,lr} + bx lr // IN None ArmWaitGicDistributorEnabled: diff --git a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.asm b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.asm index 7dbff1b043..886c00b61a 100644 --- a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.asm +++ b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Helper.asm @@ -35,7 +35,13 @@ ArmCpuSynchronizeWait cmp r0, #ARM_CPU_EVENT_BOOT_MEM_INIT // The SCU enabled is the event to tell us the Init Boot Memory is initialized beq ArmWaitGicDistributorEnabled - b CArmCpuSynchronizeWait + // Case when the stack has been set up + push {r1,lr} + LoadConstantToReg (CArmCpuSynchronizeWait, r1) + blx r1 + pop {r1,lr} + bx lr + // IN None ArmWaitGicDistributorEnabled diff --git a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.S b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.S index a66e8e7856..c69c8d44c5 100644 --- a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.S +++ b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.S @@ -11,6 +11,7 @@ // // +#include #include #include @@ -29,7 +30,12 @@ ASM_PFX(ArmCpuSynchronizeWait): cmp r0, #ARM_CPU_EVENT_BOOT_MEM_INIT // The SCU enabled is the event to tell us the Init Boot Memory is initialized beq ASM_PFX(ArmWaitScuEnabled) - b ASM_PFX(CArmCpuSynchronizeWait) + // Case when the stack has been set up + push {r1,lr} + LoadConstantToReg (ASM_PFX(CArmCpuSynchronizeWait), r1) + blx r1 + pop {r1,lr} + bx lr // IN None // OUT r0 = SCU Base Address diff --git a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.asm b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.asm index d0fc2b5a8a..ef5015c189 100644 --- a/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.asm +++ b/ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.asm @@ -11,9 +11,12 @@ // // +#include #include #include + INCLUDE AsmMacroIoLib.inc + EXPORT ArmCpuSynchronizeWait EXPORT ArmGetScuBaseAddress IMPORT CArmCpuSynchronizeWait @@ -29,7 +32,12 @@ ArmCpuSynchronizeWait cmp r0, #ARM_CPU_EVENT_BOOT_MEM_INIT // The SCU enabled is the event to tell us the Init Boot Memory is initialized beq ArmWaitScuEnabled - b CArmCpuSynchronizeWait + // Case when the stack has been set up + push {r1,lr} + LoadConstantToReg (CArmCpuSynchronizeWait, r1) + blx r1 + pop {r1,lr} + bx lr // IN None // OUT r0 = SCU Base Address diff --git a/ArmPkg/Drivers/TimerDxe/TimerDxe.c b/ArmPkg/Drivers/TimerDxe/TimerDxe.c index 3cde15ca40..90dcec4563 100644 --- a/ArmPkg/Drivers/TimerDxe/TimerDxe.c +++ b/ArmPkg/Drivers/TimerDxe/TimerDxe.c @@ -16,6 +16,7 @@ #include +#include #include #include #include diff --git a/ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.c b/ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.c index 80ee5aa249..6253c0d5c7 100644 --- a/ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.c +++ b/ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.c @@ -22,6 +22,7 @@ **/ +#include #include #include #include diff --git a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf index 21e9edc959..2388c5c015 100644 --- a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf +++ b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf @@ -37,5 +37,4 @@ DebugLib PeCoffGetEntryPointLib ArmDisassemblerLib - - + SerialPortLib diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc index 73aff703b3..d2c13a9ff7 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc +++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc @@ -68,7 +68,7 @@ GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a9 -mfpu=neon -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4 - XCODE:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a -mfpu=neon -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4 + XCODE:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a9 -mfpu=neon -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4 ################################################################################ # -- cgit v1.2.3