summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-02-20 21:46:04 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-02-20 21:46:04 +0000
commitea29ba63acf3e25efb932447ab89487ed2aa822b (patch)
tree3d8292825a8d6cf257602d4990a365eb075421be /c/src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c
parent2003-02-20 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-ea29ba63acf3e25efb932447ab89487ed2aa822b.tar.bz2
2003-02-20 Till Straumann <strauman@slac.stanford.edu>
PR 349/bsps * startup/pgtbl_setup.c, startup/pgtbl_activate.c: New files * startup/Makefile.am, startup/bspstart.c, startup/linkcmds: Let the powerpc/shared (+derived) BSPs use pagetable support from libcpu.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c b/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c
new file mode 100644
index 0000000000..32059b927f
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c
@@ -0,0 +1,34 @@
+/* $Id$ */
+
+#include <rtems.h>
+#include <libcpu/pte121.h>
+#include <libcpu/bat.h>
+
+/* 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 */
+
+void
+BSP_pgtbl_activate(Triv121PgTbl) __attribute__ (( weak, alias("__BSP_default_pgtbl_activate") ));
+
+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 */
+ setdbat(0,0,0,0,0);
+ /* At this point, DBAT0 is available for other use... */
+}