summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/mvme5500/start/pgtbl_activate.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/mvme5500/start/pgtbl_activate.c')
-rw-r--r--bsps/powerpc/mvme5500/start/pgtbl_activate.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/bsps/powerpc/mvme5500/start/pgtbl_activate.c b/bsps/powerpc/mvme5500/start/pgtbl_activate.c
new file mode 100644
index 0000000000..79725c6a06
--- /dev/null
+++ b/bsps/powerpc/mvme5500/start/pgtbl_activate.c
@@ -0,0 +1,37 @@
+/*
+ * Default activation of the page tables. This is a weak
+ * alias, so applications may easily override this
+ * default activation procedure.
+ */
+
+/* Author: Till Straumann, <strauman@slac.stanford.edu>, 4/2002
+ * Kate Feng <feng1@bnl.gov> ported it to MVME5500, 4/2004
+ */
+
+#include <rtems.h>
+#include <libcpu/pte121.h>
+#include <libcpu/bat.h>
+
+static void
+__BSP_default_pgtbl_activate(Triv121PgTbl pt)
+{
+ if (!pt)
+ return;
+
+ /* switch the text/ro sements to RO only after
+ * initializing the interrupts because the irq_mng
+ * installs some code...
+ *
+ * activate the page table; it is still masked by the
+ * DBAT0, however
+ */
+ triv121PgTblActivate(pt);
+
+ /* finally, switch off DBAT0 & DBAT1 */
+ setdbat(0,0,0,0,0);
+ setdbat(1,0,0,0,0); /* <skf> */
+ /* At this point, DBAT0 is available for other use... */
+}
+
+void BSP_pgtbl_activate(Triv121PgTbl)
+ __attribute__ (( weak, alias("__BSP_default_pgtbl_activate") ));