Remove dead file, and update startup code to null out vector table.
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 5 Mar 2010 02:38:18 +0000 (02:38 +0000)
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 5 Mar 2010 02:38:18 +0000 (02:38 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10199 6f19259b-4bc3-4df7-8a09-765794883524

BeagleBoardPkg/Sec/Arm/Macro.inc [deleted file]
BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S
BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm

diff --git a/BeagleBoardPkg/Sec/Arm/Macro.inc b/BeagleBoardPkg/Sec/Arm/Macro.inc
deleted file mode 100755 (executable)
index cacfef9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-//%HEADER%\r
-  MACRO\r
-  MmioWrite32Macro $Address, $Data\r
-  ldr  r1, = ($Address)               \r
-  ldr  r0, = ($Data)                \r
-  str  r0, [r1] \r
-  MEND
-    
-  MACRO\r
-  MmioOr32Macro $Address, $OrData\r
-  ldr  r1, =($Address)              \r
-  ldr  r2, =($OrData)               \r
-  ldr  r0, [r1]                     \r
-  orr  r0, r0, r2                   \r
-  str  r0, [r1]\r
-  MEND
-
-  MACRO\r
-  MmioAnd32Macro $Address, $AndData\r
-  ldr  r1, =($Address)                \r
-  ldr  r2, =($AndData)                \r
-  ldr  r0, [r1]                       \r
-  and  r0, r0, r2                     \r
-  str  r0, [r1]\r
-  MEND
-
-  MACRO\r
-  MmioAndThenOr32Macro $Address, $AndData, $OrData\r
-  ldr  r1, =($Address)                        \r
-  ldr  r0, [r1]                                       \r
-  ldr  r2, =($AndData)                                \r
-  and  r0, r0, r2                                     \r
-  ldr  r2, =($OrData)                                 \r
-  orr  r0, r0, r2                                     \r
-  str  r0, [r1]         \r
-  MEND
-
-  MACRO\r
-  MmioWriteFromReg32Macro $Address, $Reg\r
-  ldr  r1, =($Address)  \r
-  str  $Reg, [r1]       \r
-  MEND
-
-  MACRO\r
-  MmioRead32Macro $Address  \r
-  ldr  r1, =($Address)        \r
-  ldr  r0, [r1]  \r
-  MEND
-
-  MACRO\r
-  MmioReadToReg32Macro $Address, $Reg\r
-  ldr  r1, =($Address)                  \r
-  ldr  $Reg, [r1]       \r
-  MEND
-
-  MACRO\r
-  LoadConstantMacro $Data\r
-  ldr  r0, =($Data)\r
-  MEND
-
-  MACRO\r
-  LoadConstantToRegMacro $Data, $Reg\r
-  ldr  $Reg, =($Data)\r
-  MEND\r
-  \r
-  END\r
-  
\ No newline at end of file
index 882aed4..d8cabeb 100644 (file)
@@ -39,6 +39,8 @@ ASM_PFX(_ModuleEntryPoint):
   // Set CPU vectors to start of DRAM\r
   mov     r0, #0x80000000\r
   mcr     p15, 0, r0, c12, c0, 0\r
+  isb                               // Sync changes to control registers\r
+\r
   /* before we call C code, lets setup the stack pointer in internal RAM*/\r
 stack_pointer_setup:\r
 \r
index 5217169..eef6c3d 100644 (file)
@@ -40,8 +40,19 @@ _ModuleEntryPoint
   mcr     p15, 0, r0, c1, c0, 0\r
  \r
   // Set CPU vectors to start of DRAM\r
-  mov     r0, #0x80000000\r
+  LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0         */\r
   mcr     p15, 0, r0, c12, c0, 0\r
+  isb                               // Sync changes to control registers\r
+\r
+  // Fill vector table with branchs to current pc (jmp $)\r
+  ldr     r1, ShouldNeverGetHere\r
+  movs    r2, #0\r
+FillVectors\r
+  str     r1, [r0, r2]\r
+  adds    r2, r2, #4\r
+  cmp     r2, #32\r
+  bne     FillVectors\r
+   \r
   /* before we call C code, lets setup the stack pointer in internal RAM*/\r
 stack_pointer_setup\r
 \r
@@ -54,13 +65,13 @@ stack_pointer_setup
   add     r4, r2, r3\r
 \r
   //Enter SVC mode and set up SVC stack pointer\r
-  mov     r0,#0x13|0x80|0x40\r
-  msr     CPSR_c,r0\r
+  mov     r5,#0x13|0x80|0x40\r
+  msr     CPSR_c,r5\r
   mov     r13,r4\r
 \r
   // Call C entry point\r
   LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1)    /* memory size arg1          */\r
-  LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0)    /* memory size arg0         */\r
+//  LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0)  Done above  \r
   blx     CEntryPoint       /* Assume C code is thumb    */\r
 \r
 ShouldNeverGetHere\r