[rtems commit] bsp/qoriq: Set M and G bits in ENTRY_DEV_CACHED()

Sebastian Huber sebh at rtems.org
Mon May 9 11:07:08 UTC 2016


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Apr 28 10:19:54 2016 +0200

bsp/qoriq: Set M and G bits in ENTRY_DEV_CACHED()

Set M and G MMU attribute bits in ENTRY_DEV_CACHED().

---

 c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c
index ceb64a6..414bcb4 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c
@@ -78,10 +78,19 @@ typedef struct {
 	.mas7 = QORIQ_MMU_DEVICE_MAS7 \
 }
 
+/*
+ * MMU entry for BMan and QMan software portals.
+ *
+ * The M bit must be set if stashing is used, see 3.3.8.6 DQRR Entry Stashing
+ * and 3.3.8 Software Portals in T4240DPAARM.
+ *
+ * The G bit must be set, otherwise ECC errors in the QMan software portals
+ * will occur.  No documentation reference for this is available.
+ */
 #define ENTRY_DEV_CACHED(b, s) { \
 	.begin = (uint32_t) b, \
 	.size = (uint32_t) s, \
-	.mas2 = 0, \
+	.mas2 = FSL_EIS_MAS2_M | FSL_EIS_MAS2_G, \
 	.mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW, \
 	.mas7 = QORIQ_MMU_DEVICE_MAS7 \
 }



More information about the vc mailing list