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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to