Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jul 2019 16:32:19 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r349975 - head/sys/arm64/arm64
Message-ID:  <201907131632.x6DGWJqZ084049@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907131632.x6DGWJqZ084049>