summaryrefslogtreecommitdiffstats
path: root/sys/mips/include
diff options
context:
space:
mode:
authorjchandra <jchandra@FreeBSD.org>2010-08-12 10:09:28 +0000
committerjchandra <jchandra@FreeBSD.org>2010-08-12 10:09:28 +0000
commitdd04fae40355355f03caa7a83a59a64280929d41 (patch)
tree41d4c60512432e03d9a4c062400cac224f4912a5 /sys/mips/include
parent38929d2468d35651a8d5868c5b9a4ce02a7734bd (diff)
downloadFreeBSD-src-dd04fae40355355f03caa7a83a59a64280929d41.zip
FreeBSD-src-dd04fae40355355f03caa7a83a59a64280929d41.tar.gz
Implement pmap changes suggested by alc@:
1. Move dirty bit emulation code that is duplicted for kernel and user in trap.c to a function pmap_emulate_modified() in pmap.c. 2. While doing dirty bit emulation, it is not necessary to update the TLB entry on all CPUs using smp_rendezvous(), we can just update the TLB entry on the current CPU, and let the other CPUs update their TLB entry lazily if they get an exception. Reviewed by: alc, neel
Diffstat (limited to 'sys/mips/include')
-rw-r--r--sys/mips/include/pmap.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/mips/include/pmap.h b/sys/mips/include/pmap.h
index 4b3f69f..5432519 100644
--- a/sys/mips/include/pmap.h
+++ b/sys/mips/include/pmap.h
@@ -157,16 +157,14 @@ void pmap_bootstrap(void);
void *pmap_mapdev(vm_offset_t, vm_size_t);
void pmap_unmapdev(vm_offset_t, vm_size_t);
vm_offset_t pmap_steal_memory(vm_size_t size);
-void pmap_set_modified(vm_offset_t pa);
int page_is_managed(vm_offset_t pa);
void pmap_kenter(vm_offset_t va, vm_paddr_t pa);
void pmap_kremove(vm_offset_t va);
void *pmap_kenter_temporary(vm_paddr_t pa, int i);
void pmap_kenter_temporary_free(vm_paddr_t pa);
int pmap_compute_pages_to_dump(void);
-void pmap_update_page(pmap_t pmap, vm_offset_t va, pt_entry_t pte);
void pmap_flush_pvcache(vm_page_t m);
-
+int pmap_emulate_modified(pmap_t pmap, vm_offset_t va);
#endif /* _KERNEL */
#endif /* !LOCORE */
OpenPOWER on IntegriCloud