From owner-svn-src-user@FreeBSD.ORG Fri Jun 15 06:00:57 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 785F0106564A; Fri, 15 Jun 2012 06:00:57 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [69.147.83.44]) by mx1.freebsd.org (Postfix) with ESMTP id 623358FC1C; Fri, 15 Jun 2012 06:00:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q5F60vSZ046738; Fri, 15 Jun 2012 06:00:57 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q5F60vI9046730; Fri, 15 Jun 2012 06:00:57 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201206150600.q5F60vI9046730@svn.freebsd.org> From: Alan Cox Date: Fri, 15 Jun 2012 06:00:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r237112 - in user/alc/superpages/sys: arm/include i386/include ia64/include mips/include powerpc/include sparc64/include vm X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2012 06:00:57 -0000 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