From 12d8a729137ec58107236c472ddb14a819e7bd0b Mon Sep 17 00:00:00 2001 From: "rev13@wp.pl" Date: Sun, 1 Mar 2015 12:44:39 +0100 Subject: ARM: Add ARMv7-M support Signed-off-by: Kamil Lulko --- arch/arm/lib/relocate.S | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'arch/arm/lib/relocate.S') diff --git a/arch/arm/lib/relocate.S b/arch/arm/lib/relocate.S index 92f5314..475d503 100644 --- a/arch/arm/lib/relocate.S +++ b/arch/arm/lib/relocate.S @@ -9,6 +9,9 @@ #include #include #include +#ifdef CONFIG_CPU_V7M +#include +#endif /* * Default/weak exception vectors relocation routine @@ -23,6 +26,15 @@ 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, @@ -47,6 +59,7 @@ ENTRY(relocate_vectors) ldmia r0!, {r2-r8,r10} stmia r1!, {r2-r8,r10} #endif +#endif bx lr ENDPROC(relocate_vectors) -- cgit v1.1