aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Grehan <grehan@FreeBSD.org>2002-09-19 04:31:39 +0000
committerPeter Grehan <grehan@FreeBSD.org>2002-09-19 04:31:39 +0000
commit1ce0c6b147758544a4a88a270cce06213cbd43f8 (patch)
tree86aed4406ea474376ed401cf623aade7b6110e5d
parentd6ce71e50a2eb10a51b86a315f7a1c32018cc2e2 (diff)
downloadsrc-1ce0c6b147758544a4a88a270cce06213cbd43f8.tar.gz
src-1ce0c6b147758544a4a88a270cce06213cbd43f8.zip
Clear on-demand BAT entries to properly restore OpenFirmware's
address space Approved by: benno
Notes
Notes: svn path=/head/; revision=103602
-rw-r--r--sys/powerpc/aim/ofw_machdep.c6
-rw-r--r--sys/powerpc/powerpc/ofw_machdep.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/sys/powerpc/aim/ofw_machdep.c b/sys/powerpc/aim/ofw_machdep.c
index b87d97afd7f9..11bc6de7c3f5 100644
--- a/sys/powerpc/aim/ofw_machdep.c
+++ b/sys/powerpc/aim/ofw_machdep.c
@@ -129,6 +129,12 @@ openfirmware(void *args)
srsave[i] = mfsrin(i << ADDR_SR_SHFT);
mtsrin(i << ADDR_SR_SHFT, ofw_pmap.pm_sr[i]);
}
+
+ /*
+ * Clear battable[] translations
+ */
+ __asm __volatile("mtdbatu 2, %0\n"
+ "mtdbatu 3, %0" : : "r" (0));
isync();
}
diff --git a/sys/powerpc/powerpc/ofw_machdep.c b/sys/powerpc/powerpc/ofw_machdep.c
index b87d97afd7f9..11bc6de7c3f5 100644
--- a/sys/powerpc/powerpc/ofw_machdep.c
+++ b/sys/powerpc/powerpc/ofw_machdep.c
@@ -129,6 +129,12 @@ openfirmware(void *args)
srsave[i] = mfsrin(i << ADDR_SR_SHFT);
mtsrin(i << ADDR_SR_SHFT, ofw_pmap.pm_sr[i]);
}
+
+ /*
+ * Clear battable[] translations
+ */
+ __asm __volatile("mtdbatu 2, %0\n"
+ "mtdbatu 3, %0" : : "r" (0));
isync();
}