summaryrefslogtreecommitdiffstats
path: root/bsps/arm/shared
diff options
context:
space:
mode:
authorPranav Dangi <dangipranav@gmail.com>2021-07-06 21:23:12 +0530
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-07 20:09:47 +0200
commit8b0e3334873daf7ec98e5b8a0900be25b423c276 (patch)
treea1c59bba1392dcb1840262b2766f819e10b28f4f /bsps/arm/shared
parentbsp/raspberrypi: Fix <bsp/irq.h> header guard (diff)
downloadrtems-8b0e3334873daf7ec98e5b8a0900be25b423c276.tar.bz2
bsps/arm: Add start up support for ARMv6 RPi Models
Diffstat (limited to 'bsps/arm/shared')
-rw-r--r--bsps/arm/shared/start/start.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S
index 698495d32e..be87a16f7a 100644
--- a/bsps/arm/shared/start/start.S
+++ b/bsps/arm/shared/start/start.S
@@ -482,16 +482,22 @@ bsp_start_hook_0_done:
.Lvector_table_copy_done:
-#if (__ARM_ARCH >= 7 && __ARM_ARCH_PROFILE == 'A') || __ARM_ARCH >= 8
/*
* This code path is only executed by the primary processor. Set the
* VBAR to the normal vector table. For secondary processors, this is
* done by bsp_start_hook_0().
*/
+#if (__ARM_ARCH >= 7 && __ARM_ARCH_PROFILE == 'A') || __ARM_ARCH >= 8
ldr r0, =bsp_vector_table_begin
dsb
mcr p15, 0, r0, c12, c0, 0
isb
+#elif defined(__ARM_ARCH_6KZ__)
+ mov r1, #0
+ ldr r0, =bsp_vector_table_begin
+ mcr p15, 0, r1, c7, c10, 4 /* DataSync */
+ mcr p15, 0, r0, c12, c0, 0 /* Load VBAR */
+ mcr p15, 0, r1, c7, c5, 4 /* Flush Prefetch */
#endif
SWITCH_FROM_ARM_TO_THUMB r3