svn commit: r237112 - in user/alc/superpages/sys: arm/include i386/include ia64/include mips/include powerpc/include sparc64/include vm

Alan Cox alc at FreeBSD.org
Fri Jun 15 06:00:57 UTC 2012


Author: alc
Date: Fri Jun 15 06:00:56 2012
New Revision: 237112
URL: http://svn.freebsd.org/changeset/base/237112

Log:
  Add pmap_page_is_write_mapped() to the non-amd64 architectures.

Modified:
  user/alc/superpages/sys/arm/include/pmap.h
  user/alc/superpages/sys/i386/include/pmap.h
  user/alc/superpages/sys/ia64/include/pmap.h
  user/alc/superpages/sys/mips/include/pmap.h
  user/alc/superpages/sys/powerpc/include/pmap.h
  user/alc/superpages/sys/sparc64/include/pmap.h
  user/alc/superpages/sys/vm/pmap.h

Modified: user/alc/superpages/sys/arm/include/pmap.h
==============================================================================
--- user/alc/superpages/sys/arm/include/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/arm/include/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -78,6 +78,7 @@
 
 #define	pmap_page_get_memattr(m)	VM_MEMATTR_DEFAULT
 #define	pmap_page_is_mapped(m)	(!TAILQ_EMPTY(&(m)->md.pv_list))
+#define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) != 0)
 #define	pmap_page_set_memattr(m, ma)	(void)0
 
 /*

Modified: user/alc/superpages/sys/i386/include/pmap.h
==============================================================================
--- user/alc/superpages/sys/i386/include/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/i386/include/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -498,6 +498,7 @@ extern vm_offset_t virtual_avail;
 extern vm_offset_t virtual_end;
 
 #define	pmap_page_get_memattr(m)	((vm_memattr_t)(m)->md.pat_mode)
+#define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) != 0)
 #define	pmap_unmapbios(va, sz)	pmap_unmapdev((va), (sz))
 
 /*

Modified: user/alc/superpages/sys/ia64/include/pmap.h
==============================================================================
--- user/alc/superpages/sys/ia64/include/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/ia64/include/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -118,6 +118,7 @@ extern int pmap_vhpt_log2size;
 
 #define	pmap_page_get_memattr(m)	((m)->md.memattr)
 #define	pmap_page_is_mapped(m)	(!TAILQ_EMPTY(&(m)->md.pv_list))
+#define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) != 0)
 #define	pmap_mapbios(pa, sz)	pmap_mapdev(pa, sz)
 #define	pmap_unmapbios(va, sz)	pmap_unmapdev(va, sz)
 

Modified: user/alc/superpages/sys/mips/include/pmap.h
==============================================================================
--- user/alc/superpages/sys/mips/include/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/mips/include/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -151,6 +151,7 @@ extern vm_paddr_t dump_avail[PHYS_AVAIL_
 
 #define	pmap_page_get_memattr(m)	VM_MEMATTR_DEFAULT
 #define	pmap_page_is_mapped(m)	(!TAILQ_EMPTY(&(m)->md.pv_list))
+#define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) != 0)
 #define	pmap_page_set_memattr(m, ma)	(void)0
 
 void pmap_bootstrap(void);

Modified: user/alc/superpages/sys/powerpc/include/pmap.h
==============================================================================
--- user/alc/superpages/sys/powerpc/include/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/powerpc/include/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -223,6 +223,8 @@ extern	struct pmap kernel_pmap_store;
 #define	PMAP_TRYLOCK(pmap)	mtx_trylock(&(pmap)->pm_mtx)
 #define	PMAP_UNLOCK(pmap)	mtx_unlock(&(pmap)->pm_mtx)
 
+#define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) != 0)
+
 void		pmap_bootstrap(vm_offset_t, vm_offset_t);
 void		pmap_kenter(vm_offset_t va, vm_paddr_t pa);
 void		pmap_kenter_attr(vm_offset_t va, vm_offset_t pa, vm_memattr_t);

Modified: user/alc/superpages/sys/sparc64/include/pmap.h
==============================================================================
--- user/alc/superpages/sys/sparc64/include/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/sparc64/include/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -80,6 +80,7 @@ struct pmap {
 #define	PMAP_UNLOCK(pmap)	mtx_unlock(&(pmap)->pm_mtx)
 
 #define	pmap_page_get_memattr(m)	VM_MEMATTR_DEFAULT
+#define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) != 0)
 #define	pmap_page_set_memattr(m, ma)	(void)0
 
 void	pmap_bootstrap(u_int cpu_impl);

Modified: user/alc/superpages/sys/vm/pmap.h
==============================================================================
--- user/alc/superpages/sys/vm/pmap.h	Fri Jun 15 05:57:40 2012	(r237111)
+++ user/alc/superpages/sys/vm/pmap.h	Fri Jun 15 06:00:56 2012	(r237112)
@@ -80,10 +80,11 @@ struct pmap_statistics {
 typedef struct pmap_statistics *pmap_statistics_t;
 
 /*
- * Each machine dependent implementation is expected to provide:
+ * Each machine-dependent implementation is required to provide:
  *
  * vm_memattr_t	pmap_page_get_memattr(vm_page_t);
  * boolean_t	pmap_page_is_mapped(vm_page_t);
+ * boolean_t	pmap_page_is_write_mapped(vm_page_t);
  * void		pmap_page_set_memattr(vm_page_t, vm_memattr_t);
  */
 #include <machine/pmap.h>


More information about the svn-src-user mailing list