summaryrefslogtreecommitdiff
path: root/BeagleBoardPkg
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-17 02:25:41 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-17 02:25:41 +0000
commitbff4e9ea4f2acbca0ba03d501b55ac733cc9a8bb (patch)
treea0a8e9d6cecea0da34aaa36ae0da10ab8cd6b27e /BeagleBoardPkg
parent7781f9fe98517b10088cfd8cfb3a4b4472cd6e35 (diff)
Sync up ARMASM and GCC version
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10261 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BeagleBoardPkg')
-rw-r--r--BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S13
-rw-r--r--BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm2
2 files changed, 12 insertions, 3 deletions
diff --git a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S
index d8cabeb25..950ba43c6 100644
--- a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S
+++ b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S
@@ -37,11 +37,20 @@ ASM_PFX(_ModuleEntryPoint):
mcr p15, 0, r0, c1, c0, 0
// Set CPU vectors to start of DRAM
- mov r0, #0x80000000
+ LoadConstantToReg (FixedPcdGet32(PcdCpuVectorBaseAddress) ,r0) // Get vector base
mcr p15, 0, r0, c12, c0, 0
isb // Sync changes to control registers
- /* before we call C code, lets setup the stack pointer in internal RAM*/
+ // Fill vector table with branchs to current pc (jmp $)
+ ldr r1, ShouldNeverGetHere
+ movs r2, #0
+FillVectors:
+ str r1, [r0, r2]
+ adds r2, r2, #4
+ cmp r2, #32
+ bne FillVectors
+
+ /* before we call C code, lets setup the stack pointer in internal RAM */
stack_pointer_setup:
//
diff --git a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm
index 414adcb26..033f03c68 100644
--- a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm
+++ b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm
@@ -53,7 +53,7 @@ FillVectors
cmp r2, #32
bne FillVectors
- /* before we call C code, lets setup the stack pointer in internal RAM*/
+ /* before we call C code, lets setup the stack pointer in internal RAM */
stack_pointer_setup
//