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