diff options
author | marcel <marcel@FreeBSD.org> | 2012-07-02 21:15:56 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2012-07-02 21:15:56 +0000 |
commit | 67b1b7f52a4cd71315a30a4fc7f27ebf45ceaddb (patch) | |
tree | d7ffeb0c57f7fe7347f00d824f1a6d57b90cc097 /sys/powerpc | |
parent | ce5683d3c56907d0392e960e5a6793755c4a0c8f (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/powerpc/booke/pmap.c | 4 |
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(); } |