[rtems commit] bsp/mpc55xx: Add mpc55xx_mmu_apply_config()

Sebastian Huber sebh at rtems.org
Wed Feb 6 14:31:40 UTC 2013


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Feb  5 16:31:30 2013 +0100

bsp/mpc55xx: Add mpc55xx_mmu_apply_config()

---

 c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h b/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h
index e7bb839..b1b625c 100644
--- a/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h
+++ b/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h
@@ -42,9 +42,10 @@
 #ifndef LIBCPU_POWERPC_MPC55XX_H
 #define LIBCPU_POWERPC_MPC55XX_H
 
-#include <stddef.h>
-
 #include <mpc55xx/regs.h>
+#include <mpc55xx/regs-mmu.h>
+
+#include <libcpu/powerpc-utility.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -138,6 +139,15 @@ static inline mpc55xx_wait_for_interrupt(void)
   #endif
 }
 
+static inline void mpc55xx_mmu_apply_config(const struct MMU_tag *config)
+{
+  PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS0, config->MAS0.R);
+  PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS1, config->MAS1.R);
+  PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS2, config->MAS2.R);
+  PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS3, config->MAS3.R);
+  __asm__ volatile ("tlbwe");
+}
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */




More information about the vc mailing list