svn commit: r349975 - head/sys/arm64/arm64
Alan Cox
alc at FreeBSD.org
Sat Jul 13 16:32:20 UTC 2019
Author: alc
Date: Sat Jul 13 16:32:19 2019
New Revision: 349975
URL: https://svnweb.freebsd.org/changeset/base/349975
Log:
Revert r349442, which was a workaround for bus errors caused by an errant
TLB entry. Specifically, at the start of pmap_enter_quick_locked(), we
would sometimes have a TLB entry for an invalid PTE, and we would need to
issue a TLB invalidation before exiting pmap_enter_quick_locked(). However,
we should never have a TLB entry for an invalid PTE. r349905 has addressed
the root cause of the problem, and so we no longer need this workaround.
X-MFC after: r349905
Modified:
head/sys/arm64/arm64/pmap.c
Modified: head/sys/arm64/arm64/pmap.c
==============================================================================
--- head/sys/arm64/arm64/pmap.c Sat Jul 13 16:07:38 2019 (r349974)
+++ head/sys/arm64/arm64/pmap.c Sat Jul 13 16:32:19 2019 (r349975)
@@ -3713,14 +3713,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
cpu_icache_sync_range(PHYS_TO_DMAP(pa), PAGE_SIZE);
pmap_load_store(l3, l3_val);
-
- /*
- * XXX In principle, because this L3 entry was invalid, we should not
- * need to perform a TLB invalidation here. However, in practice,
- * when simply performing a "dsb ishst" here, processes are being
- * terminated due to bus errors and segmentation violations.
- */
- pmap_invalidate_page(pmap, va);
+ dsb(ishst);
return (mpte);
}
More information about the svn-src-all
mailing list