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-head mailing list