summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/booke/pmap.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2012-07-02 21:15:56 +0000
committermarcel <marcel@FreeBSD.org>2012-07-02 21:15:56 +0000
commit67b1b7f52a4cd71315a30a4fc7f27ebf45ceaddb (patch)
treed7ffeb0c57f7fe7347f00d824f1a6d57b90cc097 /sys/powerpc/booke/pmap.c
parentce5683d3c56907d0392e960e5a6793755c4a0c8f (diff)
downloadFreeBSD-src-67b1b7f52a4cd71315a30a4fc7f27ebf45ceaddb.zip
FreeBSD-src-67b1b7f52a4cd71315a30a4fc7f27ebf45ceaddb.tar.gz
Invalidate any TLB1 entries we don't need. The firmware (e.g. U-Boot)
may have added entries that conflict with TLB0 entries.
Diffstat (limited to 'sys/powerpc/booke/pmap.c')
-rw-r--r--sys/powerpc/booke/pmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c
index beb6dd7..8b27e6e 100644
--- a/sys/powerpc/booke/pmap.c
+++ b/sys/powerpc/booke/pmap.c
@@ -3042,6 +3042,10 @@ tlb1_init(vm_offset_t ccsrbar)
/* Map in CCSRBAR. */
tlb1_set_entry(CCSRBAR_VA, ccsrbar, CCSRBAR_SIZE, _TLB_ENTRY_IO);
+ /* Purge the remaining entries */
+ for (i = tlb1_idx; i < TLB1_ENTRIES; i++)
+ tlb1_write_entry(i);
+
/* Setup TLB miss defaults */
set_mas4_defaults();
}
OpenPOWER on IntegriCloud