svn commit: r254536 - in head/sys/arm: arm include

Rafal Jaworowski raj at FreeBSD.org
Mon Aug 19 16:16:49 UTC 2013


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 <zbb at 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;
 };
 


More information about the svn-src-all mailing list