Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-2-0]: src/sys/arch/sparc/include Pull up revisions 1.72-1.73 (req...
details: https://anonhg.NetBSD.org/src/rev/b0e893f88365
branches: netbsd-2-0
changeset: 560530:b0e893f88365
user: jdc <jdc%NetBSD.org@localhost>
date: Sat Apr 24 18:26:05 2004 +0000
description:
Pull up revisions 1.72-1.73 (requested by pk in ticket #179)
Many fixes for issues with sparc multi-processor support (includes
fixes to make HyperSPARC MP work).
diffstat:
sys/arch/sparc/include/pmap.h | 130 ++++++++++++++++++++---------------------
1 files changed, 64 insertions(+), 66 deletions(-)
diffs (181 lines):
diff -r 51a91bc2bc6e -r b0e893f88365 sys/arch/sparc/include/pmap.h
--- a/sys/arch/sparc/include/pmap.h Sat Apr 24 18:25:34 2004 +0000
+++ b/sys/arch/sparc/include/pmap.h Sat Apr 24 18:26:05 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.70.2.1 2004/04/08 21:01:57 jdc Exp $ */
+/* $NetBSD: pmap.h,v 1.70.2.2 2004/04/24 18:26:05 jdc Exp $ */
/*
* Copyright (c) 1996
@@ -173,7 +173,8 @@
struct segmap {
int *sg_pte; /* points to NPTESG PTEs */
pmeg_t sg_pmeg; /* the MMU segment number (4c) */
- u_char sg_npte; /* number of valid PTEs per seg */
+ u_char sg_npte; /* number of valid PTEs in sg_pte
+ * (not used for 4m/4d kernel_map) */
int8_t sg_nwired; /* number of wired pages */
};
@@ -237,9 +238,8 @@
#define PMAP_IOENC(io) (CPU_HAS_SRMMU ? PMAP_IOENC_SRMMU(io) \
: PMAP_IOENC_4(io))
-int pmap_dumpsize __P((void));
-int pmap_dumpmmu __P((int (*)__P((dev_t, daddr_t, caddr_t, size_t)),
- daddr_t));
+int pmap_dumpsize(void);
+int pmap_dumpmmu(int (*)(dev_t, daddr_t, caddr_t, size_t), daddr_t);
#define pmap_kernel() (&kernel_pmap_store)
#define pmap_resident_count(pm) ((pm)->pm_stats.resident_count)
@@ -250,71 +250,70 @@
/* FUNCTION DECLARATIONS FOR COMMON PMAP MODULE */
-void pmap_activate __P((struct lwp *));
-void pmap_deactivate __P((struct lwp *));
-void pmap_bootstrap __P((int nmmu, int nctx, int nregion));
-void pmap_prefer __P((vaddr_t, vaddr_t *));
-int pmap_pa_exists __P((paddr_t));
-void pmap_unwire __P((pmap_t, vaddr_t));
-void pmap_collect __P((pmap_t));
-void pmap_copy __P((pmap_t, pmap_t, vaddr_t, vsize_t, vaddr_t));
-pmap_t pmap_create __P((void));
-void pmap_destroy __P((pmap_t));
-void pmap_init __P((void));
-vaddr_t pmap_map __P((vaddr_t, paddr_t, paddr_t, int));
-paddr_t pmap_phys_address __P((int));
-void pmap_reference __P((pmap_t));
-void pmap_remove __P((pmap_t, vaddr_t, vaddr_t));
+void pmap_activate(struct lwp *);
+void pmap_deactivate(struct lwp *);
+void pmap_bootstrap(int nmmu, int nctx, int nregion);
+void pmap_prefer(vaddr_t, vaddr_t *);
+int pmap_pa_exists(paddr_t);
+void pmap_unwire(pmap_t, vaddr_t);
+void pmap_collect(pmap_t);
+void pmap_copy(pmap_t, pmap_t, vaddr_t, vsize_t, vaddr_t);
+pmap_t pmap_create(void);
+void pmap_destroy(pmap_t);
+void pmap_init(void);
+vaddr_t pmap_map(vaddr_t, paddr_t, paddr_t, int);
+paddr_t pmap_phys_address(int);
+void pmap_reference(pmap_t);
+void pmap_remove(pmap_t, vaddr_t, vaddr_t);
#define pmap_update(pmap) /* nothing (yet) */
-void pmap_virtual_space __P((vaddr_t *, vaddr_t *));
+void pmap_virtual_space(vaddr_t *, vaddr_t *);
#ifdef PMAP_GROWKERNEL
-vaddr_t pmap_growkernel __P((vaddr_t));
+vaddr_t pmap_growkernel(vaddr_t);
#endif
-void pmap_redzone __P((void));
-void kvm_uncache __P((caddr_t, int));
+void pmap_redzone(void);
+void kvm_uncache(caddr_t, int);
struct user;
-int mmu_pagein __P((struct pmap *pm, vaddr_t, int));
-void pmap_writetext __P((unsigned char *, int));
-void pmap_globalize_boot_cpuinfo __P((struct cpu_info *));
+int mmu_pagein(struct pmap *pm, vaddr_t, int);
+void pmap_writetext(unsigned char *, int);
+void pmap_globalize_boot_cpuinfo(struct cpu_info *);
void pmap_remove_all(struct pmap *pm);
/* SUN4/SUN4C SPECIFIC DECLARATIONS */
#if defined(SUN4) || defined(SUN4C)
-boolean_t pmap_clear_modify4_4c __P((struct vm_page *));
-boolean_t pmap_clear_reference4_4c __P((struct vm_page *));
-void pmap_copy_page4_4c __P((paddr_t, paddr_t));
-int pmap_enter4_4c __P((pmap_t, vaddr_t, paddr_t, vm_prot_t,
- int));
-boolean_t pmap_extract4_4c __P((pmap_t, vaddr_t, paddr_t *));
-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_kremove4_4c __P((vaddr_t, vsize_t));
-void pmap_kprotect4_4c __P((vaddr_t, vsize_t, vm_prot_t));
-void pmap_page_protect4_4c __P((struct vm_page *, vm_prot_t));
-void pmap_protect4_4c __P((pmap_t, vaddr_t, vaddr_t, vm_prot_t));
-void pmap_zero_page4_4c __P((paddr_t));
+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 *);
+boolean_t pmap_is_referenced4_4c(struct vm_page *);
+void pmap_kenter_pa4_4c(vaddr_t, paddr_t, vm_prot_t);
+void pmap_kremove4_4c(vaddr_t, vsize_t);
+void pmap_kprotect4_4c(vaddr_t, vsize_t, vm_prot_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);
#endif /* defined SUN4 || defined SUN4C */
/* SIMILAR DECLARATIONS FOR SUN4M/SUN4D MODULE */
#if defined(SUN4M) || defined(SUN4D)
-boolean_t pmap_clear_modify4m __P((struct vm_page *));
-boolean_t pmap_clear_reference4m __P((struct vm_page *));
-void pmap_copy_page4m __P((paddr_t, paddr_t));
+boolean_t pmap_clear_modify4m(struct vm_page *);
+boolean_t pmap_clear_reference4m(struct vm_page *);
+void pmap_copy_page4m(paddr_t, paddr_t);
void pmap_copy_page_viking_mxcc(paddr_t, paddr_t);
void pmap_copy_page_hypersparc(paddr_t, paddr_t);
-int pmap_enter4m __P((pmap_t, vaddr_t, paddr_t, vm_prot_t, int));
-boolean_t pmap_extract4m __P((pmap_t, vaddr_t, paddr_t *));
-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_kremove4m __P((vaddr_t, vsize_t));
-void pmap_kprotect4m __P((vaddr_t, vsize_t, vm_prot_t));
-void pmap_page_protect4m __P((struct vm_page *, vm_prot_t));
-void pmap_protect4m __P((pmap_t, vaddr_t, vaddr_t, vm_prot_t));
-void pmap_zero_page4m __P((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 *);
+boolean_t pmap_is_referenced4m(struct vm_page *);
+void pmap_kenter_pa4m(vaddr_t, paddr_t, vm_prot_t);
+void pmap_kremove4m(vaddr_t, vsize_t);
+void pmap_kprotect4m(vaddr_t, vsize_t, vm_prot_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_zero_page_viking_mxcc(paddr_t);
void pmap_zero_page_hypersparc(paddr_t);
#endif /* defined SUN4M || defined SUN4D */
@@ -349,18 +348,17 @@
#else /* must use function pointers */
-extern boolean_t(*pmap_clear_modify_p) __P((struct vm_page *));
-extern boolean_t(*pmap_clear_reference_p) __P((struct vm_page *));
-extern int (*pmap_enter_p) __P((pmap_t, vaddr_t, paddr_t, vm_prot_t,
- int));
-extern boolean_t (*pmap_extract_p) __P((pmap_t, vaddr_t, paddr_t *));
-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_kremove_p) __P((vaddr_t, vsize_t));
-extern void (*pmap_kprotect_p) __P((vaddr_t, vsize_t, vm_prot_t));
-extern void (*pmap_page_protect_p) __P((struct vm_page *, vm_prot_t));
-extern void (*pmap_protect_p) __P((pmap_t, vaddr_t, vaddr_t, vm_prot_t));
+extern boolean_t(*pmap_clear_modify_p)(struct vm_page *);
+extern boolean_t(*pmap_clear_reference_p)(struct vm_page *);
+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 *);
+extern boolean_t(*pmap_is_modified_p)(struct vm_page *);
+extern boolean_t(*pmap_is_referenced_p)(struct vm_page *);
+extern void (*pmap_kenter_pa_p)(vaddr_t, paddr_t, vm_prot_t);
+extern void (*pmap_kremove_p)(vaddr_t, vsize_t);
+extern void (*pmap_kprotect_p)(vaddr_t, vsize_t, vm_prot_t);
+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);
#define pmap_clear_modify (*pmap_clear_modify_p)
#define pmap_clear_reference (*pmap_clear_reference_p)
Home |
Main Index |
Thread Index |
Old Index