diff options
Diffstat (limited to 'sys/arch/sparc/include/pmap.h')
-rw-r--r-- | sys/arch/sparc/include/pmap.h | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/sys/arch/sparc/include/pmap.h b/sys/arch/sparc/include/pmap.h index afa47beedda..f3bd9b09faa 100644 --- a/sys/arch/sparc/include/pmap.h +++ b/sys/arch/sparc/include/pmap.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.h,v 1.12 1999/11/11 12:30:35 art Exp $ */ +/* $OpenBSD: pmap.h,v 1.13 1999/12/08 10:44:48 art Exp $ */ /* $NetBSD: pmap.h,v 1.30 1997/08/04 20:00:47 pk Exp $ */ /* @@ -286,7 +286,11 @@ void *pmap_bootstrap_alloc __P((int)); void pmap_change_wiring __P((pmap_t, vaddr_t, boolean_t)); void pmap_collect __P((pmap_t)); void pmap_copy __P((pmap_t, pmap_t, vaddr_t, vsize_t, vaddr_t)); +#ifdef PMAP_NEW +pmap_t pmap_create __P((void)); +#else pmap_t pmap_create __P((vsize_t)); +#endif void pmap_destroy __P((pmap_t)); void pmap_init __P((void)); vaddr_t pmap_map __P((vaddr_t, paddr_t, paddr_t, int)); @@ -310,15 +314,29 @@ void pmap_writetext __P((unsigned char *, int)); /* SUN4/SUN4C SPECIFIC DECLARATIONS */ #if defined(SUN4) || defined(SUN4C) +#ifdef PMAP_NEW +boolean_t pmap_clear_modify4_4c __P((struct vm_page *)); +boolean_t pmap_clear_reference4_4c __P((struct vm_page *)); +#else void pmap_clear_modify4_4c __P((paddr_t pa)); void pmap_clear_reference4_4c __P((paddr_t pa)); +#endif void pmap_copy_page4_4c __P((paddr_t, paddr_t)); void pmap_enter4_4c __P((pmap_t, vaddr_t, paddr_t, vm_prot_t, boolean_t, vm_prot_t)); paddr_t pmap_extract4_4c __P((pmap_t, vaddr_t)); +#ifdef PMAP_NEW +boolean_t pmap_is_modified4_4c __P((struct vm_page *)); +boolean_t pmap_is_referenced4_4c __P((struct vm_page *)); +void pmap_kenter_pa4_4c __P((vaddr_t, paddr_t, vm_prot_t)); +void pmap_kenter_pgs4_4c __P((vaddr_t, struct vm_page **, int)); +void pmap_kremove4_4c __P((vaddr_t, vsize_t)); +void pmap_page_protect4_4c __P((struct vm_page *, vm_prot_t)); +#else boolean_t pmap_is_modified4_4c __P((paddr_t pa)); boolean_t pmap_is_referenced4_4c __P((paddr_t pa)); void pmap_page_protect4_4c __P((paddr_t, vm_prot_t)); +#endif void pmap_protect4_4c __P((pmap_t, vaddr_t, vaddr_t, vm_prot_t)); void pmap_zero_page4_4c __P((paddr_t)); void pmap_changeprot4_4c __P((pmap_t, vaddr_t, vm_prot_t, int)); @@ -327,15 +345,29 @@ void pmap_changeprot4_4c __P((pmap_t, vaddr_t, vm_prot_t, int)); /* SIMILAR DECLARATIONS FOR SUN4M MODULE */ #if defined(SUN4M) +#ifdef PMAP_NEW +boolean_t pmap_clear_modify4m __P((struct vm_page *)); +boolean_t pmap_clear_reference4m __P((struct vm_page *)); +#else void pmap_clear_modify4m __P((paddr_t pa)); void pmap_clear_reference4m __P((paddr_t pa)); +#endif void pmap_copy_page4m __P((paddr_t, paddr_t)); void pmap_enter4m __P((pmap_t, vaddr_t, paddr_t, vm_prot_t, boolean_t, vm_prot_t)); paddr_t pmap_extract4m __P((pmap_t, vaddr_t)); +#ifdef PMAP_NEW +boolean_t pmap_is_modified4m __P((struct vm_page *)); +boolean_t pmap_is_referenced4m __P((struct vm_page *)); +void pmap_kenter_pa4m __P((vaddr_t, paddr_t, vm_prot_t)); +void pmap_kenter_pgs4m __P((vaddr_t, struct vm_page **, int)); +void pmap_kremove4m __P((vaddr_t, vsize_t)); +void pmap_page_protect4m __P((struct vm_page *, vm_prot_t)); +#else boolean_t pmap_is_modified4m __P((paddr_t pa)); boolean_t pmap_is_referenced4m __P((paddr_t pa)); void pmap_page_protect4m __P((paddr_t, vm_prot_t)); +#endif void pmap_protect4m __P((pmap_t, vaddr_t, vaddr_t, vm_prot_t)); void pmap_zero_page4m __P((paddr_t)); void pmap_changeprot4m __P((pmap_t, vaddr_t, vm_prot_t, int)); @@ -350,6 +382,9 @@ void pmap_changeprot4m __P((pmap_t, vaddr_t, vm_prot_t, int)); #define pmap_extract pmap_extract4_4c #define pmap_is_modified pmap_is_modified4_4c #define pmap_is_referenced pmap_is_referenced4_4c +#define pmap_kenter_pa pmap_kenter_pa4_4c +#define pmap_kenter_pgs pmap_kenter_pgs4_4c +#define pmap_kremove pmap_kremove4_4c #define pmap_page_protect pmap_page_protect4_4c #define pmap_protect pmap_protect4_4c #define pmap_zero_page pmap_zero_page4_4c @@ -364,6 +399,9 @@ void pmap_changeprot4m __P((pmap_t, vaddr_t, vm_prot_t, int)); #define pmap_extract pmap_extract4m #define pmap_is_modified pmap_is_modified4m #define pmap_is_referenced pmap_is_referenced4m +#define pmap_kenter_pa pmap_kenter_pa4m +#define pmap_kenter_pgs pmap_kenter_pgs4m +#define pmap_kremove pmap_kremove4m #define pmap_page_protect pmap_page_protect4m #define pmap_protect pmap_protect4m #define pmap_zero_page pmap_zero_page4m @@ -371,15 +409,31 @@ void pmap_changeprot4m __P((pmap_t, vaddr_t, vm_prot_t, int)); #else /* must use function pointers */ +#ifdef PMAP_NEW +extern boolean_t (*pmap_clear_modify_p) __P((struct vm_page *)); +extern boolean_t (*pmap_clear_reference_p) __P((struct vm_page *)); +#else extern void (*pmap_clear_modify_p) __P((paddr_t pa)); extern void (*pmap_clear_reference_p) __P((paddr_t pa)); +#endif extern void (*pmap_copy_page_p) __P((paddr_t, paddr_t)); extern void (*pmap_enter_p) __P((pmap_t, vaddr_t, paddr_t, vm_prot_t, boolean_t, vm_prot_t)); extern paddr_t (*pmap_extract_p) __P((pmap_t, vaddr_t)); +#ifdef PMAP_NEW +extern boolean_t (*pmap_is_modified_p) __P((struct vm_page *)); +extern boolean_t (*pmap_is_referenced_p) __P((struct vm_page *)); +extern void (*pmap_kenter_pa_p) __P((vaddr_t, paddr_t, vm_prot_t)); +extern void (*pmap_kenter_pgs_p) __P((vaddr_t, struct vm_page **, + int)); +extern void (*pmap_kremove_p) __P((vaddr_t, vsize_t)); +extern void (*pmap_page_protect_p) __P((struct vm_page *, + vm_prot_t)); +#else extern boolean_t (*pmap_is_modified_p) __P((paddr_t pa)); extern boolean_t (*pmap_is_referenced_p) __P((paddr_t pa)); extern void (*pmap_page_protect_p) __P((paddr_t, vm_prot_t)); +#endif extern void (*pmap_protect_p) __P((pmap_t, vaddr_t, vaddr_t, vm_prot_t)); extern void (*pmap_zero_page_p) __P((paddr_t)); @@ -393,6 +447,9 @@ extern void (*pmap_changeprot_p) __P((pmap_t, vaddr_t, #define pmap_extract (*pmap_extract_p) #define pmap_is_modified (*pmap_is_modified_p) #define pmap_is_referenced (*pmap_is_referenced_p) +#define pmap_kenter_pa (*pmap_kenter_pa_p) +#define pmap_kenter_pgs (*pmap_kenter_pgs_p) +#define pmap_kremove (*pmap_kremove_p) #define pmap_page_protect (*pmap_page_protect_p) #define pmap_protect (*pmap_protect_p) #define pmap_zero_page (*pmap_zero_page_p) |