Author: raj
Date: Mon Aug 19 16:16:49 2013
New Revision: 254536
URL: http://svnweb.freebsd.org/changeset/base/254536

Log:
  Do not use pv_kva on ARMv6/v7 and save some space on each vm_page.  It's only
  relevant for older ARM variants (with virtual cache).
  
  Submitted by: Zbigniew Bodek <z...@semihalf.com>
  Reviewed by:  gber
  Sponsored by: The FreeBSD Foundation, Semihalf

Modified:
  head/sys/arm/arm/pmap-v6.c
  head/sys/arm/include/pmap.h

Modified: head/sys/arm/arm/pmap-v6.c
==============================================================================
--- head/sys/arm/arm/pmap-v6.c  Mon Aug 19 15:58:39 2013        (r254535)
+++ head/sys/arm/arm/pmap-v6.c  Mon Aug 19 16:16:49 2013        (r254536)
@@ -4365,6 +4365,6 @@ pmap_page_set_memattr(vm_page_t m, vm_me
         * uncacheable, being careful to sync caches and PTEs (and maybe
         * invalidate TLB?) for any current mapping it modifies.
         */
-       if (m->md.pv_kva != 0 || TAILQ_FIRST(&m->md.pv_list) != NULL)
+       if (TAILQ_FIRST(&m->md.pv_list) != NULL)
                panic("Can't change memattr on page with existing mappings");
 }

Modified: head/sys/arm/include/pmap.h
==============================================================================
--- head/sys/arm/include/pmap.h Mon Aug 19 15:58:39 2013        (r254535)
+++ head/sys/arm/include/pmap.h Mon Aug 19 16:16:49 2013        (r254536)
@@ -121,7 +121,9 @@ struct      pv_chunk;
 struct md_page {
        int pvh_attrs;
        vm_memattr_t     pv_memattr;
+#if (ARM_MMU_V6 + ARM_MMU_V7) == 0
        vm_offset_t pv_kva;             /* first kernel VA mapping */
+#endif
        TAILQ_HEAD(,pv_entry)   pv_list;
 };
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to