[rtems commit] bsps/arm: Add start up support for ARMv6 RPi Models

Sebastian Huber sebh at rtems.org
Wed Jul 7 18:10:18 UTC 2021


Module:    rtems
Branch:    master
Commit:    8b0e3334873daf7ec98e5b8a0900be25b423c276
Changeset: http://git.rtems.org/rtems/commit/?id=8b0e3334873daf7ec98e5b8a0900be25b423c276

Author:    Pranav Dangi <dangipranav at gmail.com>
Date:      Tue Jul  6 21:41:12 2021 +0530

bsps/arm: Add start up support for ARMv6 RPi Models

---

 bsps/arm/shared/start/start.S | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S
index 698495d..be87a16 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



More information about the vc mailing list