projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
arm: lib: Drop underscore from private libgcc filenames
[oweals/u-boot.git]
/
arch
/
arm
/
lib
/
relocate.S
diff --git
a/arch/arm/lib/relocate.S
b/arch/arm/lib/relocate.S
index 92f531452d5435c1adbfce9d4bc80a0e572cdb3f..475d503dd9df63fda046d225c47205a1bc9c80af 100644
(file)
--- a/
arch/arm/lib/relocate.S
+++ b/
arch/arm/lib/relocate.S
@@
-9,6
+9,9
@@
#include <asm-offsets.h>
#include <config.h>
#include <linux/linkage.h>
#include <asm-offsets.h>
#include <config.h>
#include <linux/linkage.h>
+#ifdef CONFIG_CPU_V7M
+#include <asm/armv7m.h>
+#endif
/*
* Default/weak exception vectors relocation routine
/*
* Default/weak exception vectors relocation routine
@@
-23,6
+26,15
@@
ENTRY(relocate_vectors)
ENTRY(relocate_vectors)
+#ifdef CONFIG_CPU_V7M
+ /*
+ * On ARMv7-M we only have to write the new vector address
+ * to VTOR register.
+ */
+ ldr r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */
+ ldr r1, =V7M_SCB_BASE
+ str r0, [r1, V7M_SCB_VTOR]
+#else
#ifdef CONFIG_HAS_VBAR
/*
* If the ARM processor has the security extensions,
#ifdef CONFIG_HAS_VBAR
/*
* If the ARM processor has the security extensions,
@@
-46,6
+58,7
@@
ENTRY(relocate_vectors)
stmia r1!, {r2-r8,r10}
ldmia r0!, {r2-r8,r10}
stmia r1!, {r2-r8,r10}
stmia r1!, {r2-r8,r10}
ldmia r0!, {r2-r8,r10}
stmia r1!, {r2-r8,r10}
+#endif
#endif
bx lr
#endif
bx lr