Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Apr 2014 00:17:41 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r264183 - head/sys/arm/arm
Message-ID:  <201404060017.s360Hfej072007@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ian
Date: Sun Apr  6 00:17:41 2014
New Revision: 264183
URL: http://svnweb.freebsd.org/changeset/base/264183

Log:
  Add a couple more required TLB flushes.
  
  These should have been part of r264129, they are part of the overall set
  of changes that got several weeks of testing.  I must have fumbled them
  while merging various patchsets.

Modified:
  head/sys/arm/arm/pmap-v6.c

Modified: head/sys/arm/arm/pmap-v6.c
==============================================================================
--- head/sys/arm/arm/pmap-v6.c	Sat Apr  5 23:20:49 2014	(r264182)
+++ head/sys/arm/arm/pmap-v6.c	Sun Apr  6 00:17:41 2014	(r264183)
@@ -853,6 +853,8 @@ pmap_free_l2_bucket(pmap_t pmap, struct 
 	if (l1pd == (L1_C_DOM(pmap->pm_domain) | L1_TYPE_C)) {
 		*pl1pd = 0;
 		PTE_SYNC(pl1pd);
+		cpu_tlb_flushD_SE((vm_offset_t)ptep);
+		cpu_cpwait();
 	}
 
 	/*
@@ -2147,6 +2149,8 @@ pmap_grow_l2_bucket(pmap_t pmap, vm_offs
 			    L1_C_PROTO;
 			PTE_SYNC(pl1pd);
 	}
+	cpu_tlb_flushID_SE(va);
+	cpu_cpwait();
 
 	return (l2b);
 }
@@ -2427,6 +2431,7 @@ pmap_kenter_internal(vm_offset_t va, vm_
 		if (opte == 0)
 			l2b->l2b_occupancy++;
 	}
+	cpu_cpwait();
 
 	PDEBUG(1, printf("pmap_kenter: pte = %08x, opte = %08x, npte = %08x\n",
 	    (uint32_t) ptep, opte, *ptep));
@@ -4956,10 +4961,10 @@ pmap_advise(pmap_t pmap, vm_offset_t sva
 					cpu_tlb_flushID_SE(sva);
 				else if (PTE_BEEN_REFD(opte))
 					cpu_tlb_flushD_SE(sva);
-				cpu_cpwait();
 			}
 		}
 	}
+	cpu_cpwait();
 	rw_wunlock(&pvh_global_lock);
 	PMAP_UNLOCK(pmap);
 }



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