diff options
author | cognet <cognet@FreeBSD.org> | 2004-11-10 21:46:04 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2004-11-10 21:46:04 +0000 |
commit | bcb8f16584f324babf88fc97ab7cf7e95bb00a15 (patch) | |
tree | c7c2f9c4391bde61ccc0b2b1dbd750962ed60e68 /sys/arm | |
parent | 828644a064b59d479ce314ca52bcf3745d53e502 (diff) | |
download | FreeBSD-src-bcb8f16584f324babf88fc97ab7cf7e95bb00a15.zip FreeBSD-src-bcb8f16584f324babf88fc97ab7cf7e95bb00a15.tar.gz |
Invalidate the data cache in pmap_qremove() instead of in pmap_kenter(),
and in pmap_enter_quick() instead of pmap_enter().
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/pmap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c index 9d02e7c..a79a6d6 100644 --- a/sys/arm/arm/pmap.c +++ b/sys/arm/arm/pmap.c @@ -2811,7 +2811,6 @@ pmap_kenter_internal(vm_offset_t va, vm_offset_t pa, int flags) if (flags & KENTER_CACHE) *pte |= pte_l2_s_cache_mode; PTE_SYNC(pte); - cpu_dcache_wbinv_all(); /* XXX: shouldn't be needed */ } void @@ -2895,6 +2894,7 @@ pmap_qenter(vm_offset_t va, vm_page_t *m, int count) KENTER_CACHE); va += PAGE_SIZE; } + cpu_dcache_wbinv_all(); /* XXX: shouldn't be needed */ } @@ -3392,7 +3392,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, pmap_vac_me_harder(m, pmap, va); } - pmap_dcache_wbinv_all(pmap) /* XXX: Shouldn't be needed. */; vm_page_unlock_queues(); } @@ -3411,6 +3410,7 @@ vm_page_t pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte) { pmap_enter(pmap, va, m, VM_PROT_READ|VM_PROT_EXECUTE, FALSE); + pmap_dcache_wbinv_all(pmap); /* XXX: shouldn't be needed */ return (NULL); } |