diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-09-10 18:29:45 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-09-10 18:29:45 +0000 |
commit | dc9f06d0330e3e7e4470e3ea0dc68bebaef4bff9 (patch) | |
tree | 1503c1f1af5126456f6dc9827abc9b960308687f /sys/arch/sparc/include | |
parent | 7730c554bf1c303d60002833793768dbd9a6a681 (diff) |
Change the pmap_zero_page and pmap_copy_page API to take the struct vm_page *
instead of the pa. Most callers already had it handy and those who didn't
only called it for managed pages and were outside time-critical code.
This will allow us to make those functions clean and fast on sparc and
sparc64 letting us to avoid unnecessary cache flushes.
deraadt@ miod@ drahn@ ok.
Diffstat (limited to 'sys/arch/sparc/include')
-rw-r--r-- | sys/arch/sparc/include/pmap.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/arch/sparc/include/pmap.h b/sys/arch/sparc/include/pmap.h index 2a03b363b8f..d4bc88aba33 100644 --- a/sys/arch/sparc/include/pmap.h +++ b/sys/arch/sparc/include/pmap.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.h,v 1.32 2002/03/14 03:16:00 millert Exp $ */ +/* $OpenBSD: pmap.h,v 1.33 2002/09/10 18:29:43 art Exp $ */ /* $NetBSD: pmap.h,v 1.30 1997/08/04 20:00:47 pk Exp $ */ /* @@ -315,7 +315,6 @@ void pmap_writetext(unsigned char *, int); #if defined(SUN4) || defined(SUN4C) boolean_t pmap_clear_modify4_4c(struct vm_page *); boolean_t pmap_clear_reference4_4c(struct vm_page *); -void pmap_copy_page4_4c(paddr_t, paddr_t); int pmap_enter4_4c(pmap_t, vaddr_t, paddr_t, vm_prot_t, int); boolean_t pmap_extract4_4c(pmap_t, vaddr_t, paddr_t *); boolean_t pmap_is_modified4_4c(struct vm_page *); @@ -324,7 +323,8 @@ void pmap_kenter_pa4_4c(vaddr_t, paddr_t, vm_prot_t); void pmap_kremove4_4c(vaddr_t, vsize_t); void pmap_page_protect4_4c(struct vm_page *, vm_prot_t); void pmap_protect4_4c(pmap_t, vaddr_t, vaddr_t, vm_prot_t); -void pmap_zero_page4_4c(paddr_t); +void pmap_copy_page4_4c(struct vm_page *, struct vm_page *); +void pmap_zero_page4_4c(struct vm_page *); void pmap_changeprot4_4c(pmap_t, vaddr_t, vm_prot_t, int); #endif @@ -333,7 +333,6 @@ void pmap_changeprot4_4c(pmap_t, vaddr_t, vm_prot_t, int); #if defined(SUN4M) boolean_t pmap_clear_modify4m(struct vm_page *); boolean_t pmap_clear_reference4m(struct vm_page *); -void pmap_copy_page4m(paddr_t, paddr_t); int pmap_enter4m(pmap_t, vaddr_t, paddr_t, vm_prot_t, int); boolean_t pmap_extract4m(pmap_t, vaddr_t, paddr_t *); boolean_t pmap_is_modified4m(struct vm_page *); @@ -342,7 +341,8 @@ void pmap_kenter_pa4m(vaddr_t, paddr_t, vm_prot_t); void pmap_kremove4m(vaddr_t, vsize_t); void pmap_page_protect4m(struct vm_page *, vm_prot_t); void pmap_protect4m(pmap_t, vaddr_t, vaddr_t, vm_prot_t); -void pmap_zero_page4m(paddr_t); +void pmap_copy_page4m(struct vm_page *, struct vm_page *); +void pmap_zero_page4m(struct vm_page *); void pmap_changeprot4m(pmap_t, vaddr_t, vm_prot_t, int); #endif /* defined SUN4M */ @@ -382,7 +382,6 @@ void pmap_changeprot4m(pmap_t, vaddr_t, vm_prot_t, int); extern boolean_t (*pmap_clear_modify_p)(struct vm_page *); extern boolean_t (*pmap_clear_reference_p)(struct vm_page *); -extern void (*pmap_copy_page_p)(paddr_t, paddr_t); extern int (*pmap_enter_p)(pmap_t, vaddr_t, paddr_t, vm_prot_t, int); extern boolean_t (*pmap_extract_p)(pmap_t, vaddr_t, paddr_t *); @@ -394,7 +393,8 @@ extern void (*pmap_page_protect_p)(struct vm_page *, vm_prot_t); extern void (*pmap_protect_p)(pmap_t, vaddr_t, vaddr_t, vm_prot_t); -extern void (*pmap_zero_page_p)(paddr_t); +extern void (*pmap_copy_page_p)(struct vm_page *, struct vm_page *); +extern void (*pmap_zero_page_p)(struct vm_page *); extern void (*pmap_changeprot_p)(pmap_t, vaddr_t, vm_prot_t, int); |