[rtems commit] bsp/qoriq: Enable branch prediction for T series
Sebastian Huber
sebh at rtems.org
Wed Jul 8 08:11:46 UTC 2015
Module: rtems
Branch: master
Commit: 3e02a472baf7764e37825257490e90df0487a778
Changeset: http://git.rtems.org/rtems/commit/?id=3e02a472baf7764e37825257490e90df0487a778
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Thu Jul 2 12:04:50 2015 +0200
bsp/qoriq: Enable branch prediction for T series
---
c/src/lib/libbsp/powerpc/qoriq/configure.ac | 4 ++++
c/src/lib/libbsp/powerpc/qoriq/start/start.S | 14 ++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/c/src/lib/libbsp/powerpc/qoriq/configure.ac b/c/src/lib/libbsp/powerpc/qoriq/configure.ac
index 409ac19..3cf8547 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 6b2187c..8a073bf 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
More information about the vc
mailing list