summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/configure.ac4
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/start/start.S14
2 files changed, 18 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/configure.ac b/c/src/lib/libbsp/powerpc/qoriq/configure.ac
index 409ac193c4..3cf8547d5b 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/configure.ac
+++ b/c/src/lib/libbsp/powerpc/qoriq/configure.ac
@@ -146,6 +146,10 @@ RTEMS_BSPOPTS_SET([QORIQ_INITIAL_SPEFSCR],[qoriq_t*],[])
RTEMS_BSPOPTS_SET([QORIQ_INITIAL_SPEFSCR],[*],[0x00000000])
RTEMS_BSPOPTS_HELP([QORIQ_INITIAL_SPEFSCR],[initial SPEFSCR value])
+RTEMS_BSPOPTS_SET([QORIQ_INITIAL_BUCSR],[qoriq_t*],[0x01400201])
+RTEMS_BSPOPTS_SET([QORIQ_INITIAL_BUCSR],[*],[])
+RTEMS_BSPOPTS_HELP([QORIQ_INITIAL_BUCSR],[initial BUCSR value])
+
RTEMS_BSPOPTS_SET([QORIQ_MMU_DEVICE_MAS7],[qoriq_t*],[0xf])
RTEMS_BSPOPTS_SET([QORIQ_MMU_DEVICE_MAS7],[*],[0x0])
RTEMS_BSPOPTS_HELP([QORIQ_MMU_DEVICE_MAS7],[MAS7 value for device TLB1 entries])
diff --git a/c/src/lib/libbsp/powerpc/qoriq/start/start.S b/c/src/lib/libbsp/powerpc/qoriq/start/start.S
index 6b2187c1be..8a073bf09e 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/start/start.S
+++ b/c/src/lib/libbsp/powerpc/qoriq/start/start.S
@@ -66,6 +66,13 @@ _start:
ori r0, INITIAL_MSR, MSR_IS | MSR_DS
mtmsr r0
+#ifdef QORIQ_INITIAL_BUCSR
+ /* BUCSR initialization */
+ LWI r0, QORIQ_INITIAL_BUCSR
+ mtspr FSL_EIS_BUCSR, r0
+ isync
+#endif
+
/* Initialize start stack */
LWI r1, start_stack_end - PPC_MINIMUM_STACK_FRAME_SIZE
clrrwi r1, r1, PPC_STACK_ALIGN_POWER
@@ -210,6 +217,13 @@ _start_secondary_processor:
ori r0, INITIAL_MSR, MSR_IS | MSR_DS
mtmsr r0
+#ifdef QORIQ_INITIAL_BUCSR
+ /* BUCSR initialization */
+ LWI r0, QORIQ_INITIAL_BUCSR
+ mtspr FSL_EIS_BUCSR, r0
+ isync
+#endif
+
/* Initialize start stack */
subi r1, r1, PPC_MINIMUM_STACK_FRAME_SIZE
clrrwi r1, r1, PPC_STACK_ALIGN_POWER