diff packages/hal/arm/arch/current/src/vectors.S @ 46:797268ecc331 ecos-sw-1999-10-19

Merge from eCos master repository on 1999-10-19-18:55:31-BST
author jlarmour
date Tue, 19 Oct 1999 19:19:52 +0000
parents a3cc6665b684
children a0774359f013
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/src/vectors.S
+++ b/packages/hal/arm/arch/current/src/vectors.S
@@ -116,11 +116,18 @@ PTR(start) // This is copied to 0x28 for
 	   // location 0x40 is used for storing DRAM size if known
 	   // for some platforms.
 
+// Other vectors
+	.balign 16      // Should be at 0x50
+	.balign 32
+
 	.text	
 // Startup code which will get the machine into supervisor mode
 	.global	reset_vector
 	.type	reset_vector,function
 reset_vector:
+	PLATFORM_SETUP1		// Early stage platform initialization
+				// which can set DRAM size at 0x40
+				// see <cyg/hal/hal_platform_setup.h>
 
 #if defined(CYG_HAL_STARTUP_RAM) && \
     !defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
@@ -130,16 +137,14 @@ reset_vector:
 	beq	start
 #endif
 
-	PLATFORM_SETUP1		// Early stage platform initialization
-				// which can set DRAM size at 0x40
-				// see <cyg/hal/hal_platform_setup.h>
 	// We cannot access any LED registers until after PLATFORM_SETUP1
 	LED 7
 
 	mov	r0,#0		// move vectors
 	// We cannot perform a store until after PLATFORM_SETUP1
 	str	r0, [r0,#0x40]  // DRAM size to zero => unknown
-	ldr	r1,.__exception_handlers
+
+        ldr	r1,=__exception_handlers
 #ifndef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
 	// Wait with this if stubs are included (see further down).
 	ldr	r2,[r1,#0x04]	// undefined instruction
@@ -149,6 +154,8 @@ reset_vector:
 #endif
 	ldr	r2,[r1,#0x08]	// software interrupt
 	str	r2,[r0,#0x08]
+
+
 #if defined(CYG_HAL_STARTUP_RAM)
 // Ugly hack to get into supervisor mode
 	ldr	r2,[r1,#0x40]
@@ -295,7 +302,7 @@ init_done:
 
 //
 // Exception handlers
-// Assmumption: get here from a Supervisor context [mode]
+// Assumption: get here from a Supervisor context [mode]
 //
 	.code	32
 undefined_instruction: