mirror of https://github.com/acidanthera/audk.git
Update to use DEBUG/RELEASE properly in DSC now tools have been fixed. Add VectorBase PCD to SEC. Don't assume it is at start of DRAM.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10200 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
4951b2482f
commit
0f02314814
|
@ -34,7 +34,7 @@
|
|||
|
||||
|
||||
[LibraryClasses.common]
|
||||
!if DEBUG_TARGET == RELEASE
|
||||
!if $(BUILD_TARGETS) == RELEASE
|
||||
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
||||
!else
|
||||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
|
|
|
@ -40,7 +40,7 @@ _ModuleEntryPoint
|
|||
mcr p15, 0, r0, c1, c0, 0
|
||||
|
||||
// Set CPU vectors to start of DRAM
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0 */
|
||||
LoadConstantToReg (FixedPcdGet32(PcdCpuVectorBaseAddress) ,r0) // Get vector base
|
||||
mcr p15, 0, r0, c12, c0, 0
|
||||
isb // Sync changes to control registers
|
||||
|
||||
|
@ -60,8 +60,8 @@ stack_pointer_setup
|
|||
// Set stack based on PCD values. Need to do it this way to make C code work
|
||||
// when it runs from FLASH.
|
||||
//
|
||||
LoadConstantToReg (FixedPcdGet32(PcdPrePiStackBase) ,r2) /* stack base arg2 */
|
||||
LoadConstantToReg (FixedPcdGet32(PcdPrePiStackSize) ,r3) /* stack size arg3 */
|
||||
LoadConstantToReg (FixedPcdGet32(PcdPrePiStackBase) ,r2) // stack base arg2
|
||||
LoadConstantToReg (FixedPcdGet32(PcdPrePiStackSize) ,r3) // stack size arg3
|
||||
add r4, r2, r3
|
||||
|
||||
//Enter SVC mode and set up SVC stack pointer
|
||||
|
@ -70,9 +70,9 @@ stack_pointer_setup
|
|||
mov r13,r4
|
||||
|
||||
// Call C entry point
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1) /* memory size arg1 */
|
||||
// LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) Done above
|
||||
blx CEntryPoint /* Assume C code is thumb */
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1) // memory size arg1
|
||||
LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) // memory start arg0
|
||||
blx CEntryPoint // Assume C code is thumb
|
||||
|
||||
ShouldNeverGetHere
|
||||
/* _CEntryPoint should never return */
|
||||
|
|
|
@ -66,3 +66,5 @@
|
|||
gOmap35xxTokenSpaceGuid.PcdBeagleConsoleUart
|
||||
gOmap35xxTokenSpaceGuid.PcdBeagleFreeTimer
|
||||
|
||||
gArmTokenSpaceGuid.PcdCpuVectorBaseAddress
|
||||
|
||||
|
|
Loading…
Reference in New Issue