Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Aug 2013 21:27:31 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r253943 - in user/attilio/vmobj-fullread: cddl/contrib/opensolaris/cmd/zfs etc/devd sys/amd64/amd64 sys/amd64/include sys/arm/arm sys/arm/include sys/dev/iwn sys/geom/part sys/i386/i386...
Message-ID:  <201308042127.r74LRVaU002712@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Sun Aug  4 21:27:31 2013
New Revision: 253943
URL: http://svnweb.freebsd.org/changeset/base/253943

Log:
  MFC

Modified:
  user/attilio/vmobj-fullread/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  user/attilio/vmobj-fullread/etc/devd/usb.conf
  user/attilio/vmobj-fullread/sys/amd64/amd64/pmap.c
  user/attilio/vmobj-fullread/sys/amd64/include/pmap.h
  user/attilio/vmobj-fullread/sys/arm/arm/pmap-v6.c
  user/attilio/vmobj-fullread/sys/arm/arm/pmap.c
  user/attilio/vmobj-fullread/sys/arm/include/pmap.h
  user/attilio/vmobj-fullread/sys/dev/iwn/if_iwn.c
  user/attilio/vmobj-fullread/sys/geom/part/g_part.c
  user/attilio/vmobj-fullread/sys/geom/part/g_part_apm.c
  user/attilio/vmobj-fullread/sys/i386/i386/pmap.c
  user/attilio/vmobj-fullread/sys/i386/i386/vm_machdep.c
  user/attilio/vmobj-fullread/sys/i386/include/pmap.h
  user/attilio/vmobj-fullread/sys/i386/xen/pmap.c
  user/attilio/vmobj-fullread/sys/ia64/ia64/pmap.c
  user/attilio/vmobj-fullread/sys/mips/include/pmap.h
  user/attilio/vmobj-fullread/sys/mips/mips/pmap.c
  user/attilio/vmobj-fullread/sys/powerpc/aim/mmu_oea.c
  user/attilio/vmobj-fullread/sys/powerpc/aim/mmu_oea64.c
  user/attilio/vmobj-fullread/sys/powerpc/include/pmap.h
  user/attilio/vmobj-fullread/sys/vm/vm_page.h
Directory Properties:
  user/attilio/vmobj-fullread/   (props changed)
  user/attilio/vmobj-fullread/cddl/   (props changed)
  user/attilio/vmobj-fullread/cddl/contrib/opensolaris/   (props changed)
  user/attilio/vmobj-fullread/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  user/attilio/vmobj-fullread/sys/   (props changed)
  user/attilio/vmobj-fullread/sys/cddl/contrib/opensolaris/   (props changed)

Modified: user/attilio/vmobj-fullread/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==============================================================================
--- user/attilio/vmobj-fullread/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -57,6 +57,7 @@
 #include <sys/fs/zfs.h>
 #include <sys/types.h>
 #include <time.h>
+#include <err.h>
 
 #include <libzfs.h>
 #include <libzfs_core.h>

Modified: user/attilio/vmobj-fullread/etc/devd/usb.conf
==============================================================================
--- user/attilio/vmobj-fullread/etc/devd/usb.conf	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/etc/devd/usb.conf	Sun Aug  4 21:27:31 2013	(r253943)
@@ -777,7 +777,7 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x050d";
-	match "product" "(0x8053|0x805c|0x815c|0x825a|0x825b)";
+	match "product" "(0x8053|0x805c|0x815c)";
 	action "kldload -n if_run";
 };
 
@@ -785,6 +785,30 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x050d";
+	match "product" "0x815f";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x050d";
+	match "product" "(0x825a|0x825b)";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x050d";
+	match "product" "0x845a";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x050d";
 	match "product" "0x905b";
 	action "kldload -n if_rum";
 };
@@ -800,6 +824,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x050d";
+	match "product" "0x945a";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0525";
 	match "product" "(0x1080|0xa4a0)";
 	action "kldload -n udbp";
@@ -1249,6 +1281,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x06f8";
+	match "product" "(0xe031|0xe032)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x06f8";
 	match "product" "0xe033";
 	action "kldload -n if_urtwn";
 };
@@ -1457,6 +1497,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x07aa";
+	match "product" "0x0047";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x07aa";
 	match "product" "0x0056";
 	action "kldload -n if_urtwn";
 };
@@ -1561,6 +1609,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x07d1";
+	match "product" "(0x3300|0x3302|0x3303)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x07d1";
 	match "product" "0x3a0c";
 	action "kldload -n if_uath";
 };
@@ -1657,7 +1713,23 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x083a";
-	match "product" "(0x6618|0x7511|0x7512|0x7522|0x8522|0xa512|0xa618|0xa701|0xa702|0xb522|0xc522|0xd522)";
+	match "product" "(0x6618|0x7511|0x7512|0x7522|0x8522|0xa512|0xa618|0xa701|0xa702|0xb522)";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x083a";
+	match "product" "0xc512";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x083a";
+	match "product" "(0xc522|0xd522)";
 	action "kldload -n if_run";
 };
 
@@ -2137,7 +2209,39 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0b05";
-	match "product" "(0x1731|0x1732|0x1742|0x1760|0x1761|0x1784|0x1790|0x179d)";
+	match "product" "(0x1731|0x1732|0x1742|0x1760|0x1761|0x1784)";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0b05";
+	match "product" "0x1786";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0b05";
+	match "product" "0x1790";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0b05";
+	match "product" "0x1791";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0b05";
+	match "product" "0x179d";
 	action "kldload -n if_run";
 };
 
@@ -2273,7 +2377,23 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0bda";
-	match "product" "(0x8170|0x8176|0x8177|0x8178|0x817a|0x817b|0x817c|0x817d|0x817e)";
+	match "product" "0x8170";
+	action "kldload -n if_urtwn";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0bda";
+	match "product" "(0x8171|0x8172|0x8173|0x8174)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0bda";
+	match "product" "(0x8176|0x8177|0x8178|0x817a|0x817b|0x817c|0x817d|0x817e)";
 	action "kldload -n if_urtwn";
 };
 
@@ -2305,6 +2425,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0bda";
+	match "product" "(0x8712|0x8712)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0bda";
 	match "product" "0x8754";
 	action "kldload -n if_urtwn";
 };
@@ -2312,6 +2440,14 @@ nomatch 32 {
 nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
+	match "vendor" "0x0bda";
+	match "product" "0xc512";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
 	match "vendor" "0x0bed";
 	match "product" "(0x1100|0x1101)";
 	action "kldload -n uslcom";
@@ -2609,7 +2745,39 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0df6";
-	match "product" "(0x002b|0x002c|0x002d|0x0039|0x003b|0x003c|0x003d|0x003e|0x003f|0x0040|0x0041|0x0042|0x0047|0x0048|0x004a|0x004d)";
+	match "product" "(0x002b|0x002c|0x002d|0x0039|0x003b|0x003c|0x003d|0x003e|0x003f|0x0040|0x0041|0x0042)";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0df6";
+	match "product" "0x0045";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0df6";
+	match "product" "(0x0047|0x0048|0x004a)";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0df6";
+	match "product" "0x004b";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0df6";
+	match "product" "0x004d";
 	action "kldload -n if_run";
 };
 
@@ -2681,6 +2849,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x0e66";
+	match "product" "(0x0015|0x0016)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x0e66";
 	match "product" "0x0019";
 	action "kldload -n if_urtwn";
 };
@@ -3401,6 +3577,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x13d3";
+	match "product" "(0x3306|0x3309|0x3310|0x3311|0x3325)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x13d3";
 	match "product" "(0x3357|0x3358|0x3359)";
 	action "kldload -n if_urtwn";
 };
@@ -3553,6 +3737,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x14b2";
+	match "product" "(0x3300|0x3301|0x3302)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x14b2";
 	match "product" "0x3c02";
 	action "kldload -n if_ural";
 };
@@ -3945,6 +4137,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x1740";
+	match "product" "(0x9603|0x9605)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x1740";
 	match "product" "(0x9701|0x9702|0x9703|0x9705|0x9706|0x9707|0x9708|0x9709|0x9801)";
 	action "kldload -n if_run";
 };
@@ -3961,7 +4161,23 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x177f";
-	match "product" "(0x0153|0x0302|0x0313)";
+	match "product" "0x0153";
+	action "kldload -n if_run";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x177f";
+	match "product" "0x0154";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x177f";
+	match "product" "(0x0302|0x0313)";
 	action "kldload -n if_run";
 };
 
@@ -4353,6 +4569,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x2019";
+	match "product" "0xab28";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x2019";
 	match "product" "(0xab2a|0xab2b|0xab2e)";
 	action "kldload -n if_urtwn";
 };
@@ -4681,6 +4905,14 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x7392";
+	match "product" "(0x7611|0x7612|0x7622)";
+	action "kldload -n if_rsu";
+};
+
+nomatch 32 {
+	match "bus" "uhub[0-9]+";
+	match "mode" "host";
+	match "vendor" "0x7392";
 	match "product" "(0x7711|0x7717|0x7718)";
 	action "kldload -n if_run";
 };
@@ -4936,5 +5168,5 @@ nomatch 32 {
 	action "kldload -n umass";
 };
 
-# 2477 USB entries processed
+# 2515 USB entries processed
 

Modified: user/attilio/vmobj-fullread/sys/amd64/amd64/pmap.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/amd64/amd64/pmap.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/amd64/amd64/pmap.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -791,7 +791,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = PAT_WRITE_BACK;
+	m->md.pat_mode = PAT_WRITE_BACK;
 }
 
 /*
@@ -1454,7 +1454,7 @@ pmap_qenter(vm_offset_t sva, vm_page_t *
 	endpte = pte + count;
 	while (pte < endpte) {
 		m = *ma++;
-		pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->mdmemattr, 0);
+		pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->md.pat_mode, 0);
 		if ((*pte & (PG_FRAME | PG_PTE_CACHE)) != pa) {
 			oldpte |= *pte;
 			pte_store(pte, pa | PG_G | PG_RW | PG_V);
@@ -3470,7 +3470,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 		newpte |= PG_U;
 	if (pmap == kernel_pmap)
 		newpte |= PG_G;
-	newpte |= pmap_cache_bits(m->mdmemattr, 0);
+	newpte |= pmap_cache_bits(m->md.pat_mode, 0);
 
 	mpte = NULL;
 
@@ -3658,7 +3658,7 @@ pmap_enter_pde(pmap_t pmap, vm_offset_t 
 		    " in pmap %p", va, pmap);
 		return (FALSE);
 	}
-	newpde = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->mdmemattr, 1) |
+	newpde = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->md.pat_mode, 1) |
 	    PG_PS | PG_V;
 	if ((m->oflags & VPO_UNMANAGED) == 0) {
 		newpde |= PG_MANAGED;
@@ -3860,7 +3860,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_
 	 */
 	pmap_resident_count_inc(pmap, 1);
 
-	pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->mdmemattr, 0);
+	pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->md.pat_mode, 0);
 	if ((prot & VM_PROT_EXECUTE) == 0)
 		pa |= pg_nx;
 
@@ -3901,7 +3901,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 	pd_entry_t *pde;
 	vm_paddr_t pa, ptepa;
 	vm_page_t p, pdpg;
-	vm_memattr_t pat_mode;
+	int pat_mode;
 
 	VM_OBJECT_ASSERT_WLOCKED(object);
 	KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG,
@@ -3912,7 +3912,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 		p = vm_page_lookup(object, pindex);
 		KASSERT(p->valid == VM_PAGE_BITS_ALL,
 		    ("pmap_object_init_pt: invalid page %p", p));
-		pat_mode = p->mdmemattr;
+		pat_mode = p->md.pat_mode;
 
 		/*
 		 * Abort the mapping if the first page is not physically
@@ -3933,7 +3933,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 			KASSERT(p->valid == VM_PAGE_BITS_ALL,
 			    ("pmap_object_init_pt: invalid page %p", p));
 			if (pa != VM_PAGE_TO_PHYS(p) ||
-			    pat_mode != p->mdmemattr)
+			    pat_mode != p->md.pat_mode)
 				return;
 			p = TAILQ_NEXT(p, listq);
 		}
@@ -5121,7 +5121,7 @@ void
 pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 {
 
-	m->mdmemattr = ma;
+	m->md.pat_mode = ma;
 
 	/*
 	 * If "m" is a normal page, update its direct mapping.  This update
@@ -5130,7 +5130,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me
 	 */
 	if ((m->flags & PG_FICTITIOUS) == 0 &&
 	    pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
-	    m->mdmemattr))
+	    m->md.pat_mode))
 		panic("memory attribute change on the direct map failed");
 }
 

Modified: user/attilio/vmobj-fullread/sys/amd64/include/pmap.h
==============================================================================
--- user/attilio/vmobj-fullread/sys/amd64/include/pmap.h	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/amd64/include/pmap.h	Sun Aug  4 21:27:31 2013	(r253943)
@@ -233,6 +233,7 @@ struct	pv_chunk;
 
 struct md_page {
 	TAILQ_HEAD(,pv_entry)	pv_list;
+	int			pat_mode;
 };
 
 /*
@@ -299,7 +300,7 @@ extern vm_paddr_t dump_avail[];
 extern vm_offset_t virtual_avail;
 extern vm_offset_t virtual_end;
 
-#define	pmap_page_get_memattr(m)	((m)->mdmemattr)
+#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/attilio/vmobj-fullread/sys/arm/arm/pmap-v6.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/arm/arm/pmap-v6.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/arm/arm/pmap-v6.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -1183,7 +1183,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = VM_MEMATTR_DEFAULT;
+	m->md.pv_memattr = VM_MEMATTR_DEFAULT;
 }
 
 static vm_offset_t
@@ -2823,7 +2823,7 @@ validate:
 		if (!(prot & VM_PROT_EXECUTE))
 			npte |= L2_XN;
 
-		if (m->mdmemattr != VM_MEMATTR_UNCACHEABLE)
+		if (m->md.pv_memattr != VM_MEMATTR_UNCACHEABLE)
 			npte |= pte_l2_s_cache_mode;
 	}
 
@@ -4379,7 +4379,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me
 	 * Remember the memattr in a field that gets used to set the appropriate
 	 * bits in the PTEs as mappings are established.
 	 */
-	m->mdmemattr = ma;
+	m->md.pv_memattr = ma;
 
 	/*
 	 * It appears that this function can only be called before any mappings

Modified: user/attilio/vmobj-fullread/sys/arm/arm/pmap.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/arm/arm/pmap.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/arm/arm/pmap.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -1380,7 +1380,7 @@ pmap_fix_cache(struct vm_page *pg, pmap_
 		    (pv->pv_flags & PVF_NC)) {
 
 			pv->pv_flags &= ~PVF_NC;
-			if (pg->mdmemattr != VM_MEMATTR_UNCACHEABLE)
+			if (pg->md.pv_memattr != VM_MEMATTR_UNCACHEABLE)
 				pmap_set_cache_entry(pv, pm, va, 1);
 			continue;
 		}
@@ -1390,7 +1390,7 @@ pmap_fix_cache(struct vm_page *pg, pmap_
 		    !pmwc && (pv->pv_flags & PVF_NC)) {
 
 			pv->pv_flags &= ~(PVF_NC | PVF_MWC);
-			if (pg->mdmemattr != VM_MEMATTR_UNCACHEABLE)
+			if (pg->md.pv_memattr != VM_MEMATTR_UNCACHEABLE)
 				pmap_set_cache_entry(pv, pm, va, 1);
 		}
 	}
@@ -1442,7 +1442,8 @@ pmap_clearbit(struct vm_page *pg, u_int 
 
 		if (!(oflags & maskbits)) {
 			if ((maskbits & PVF_WRITE) && (pv->pv_flags & PVF_NC)) {
-				if (pg->mdmemattr != VM_MEMATTR_UNCACHEABLE) {
+				if (pg->md.pv_memattr != 
+				    VM_MEMATTR_UNCACHEABLE) {
 					PMAP_LOCK(pm);
 					l2b = pmap_get_l2_bucket(pm, va);
 					ptep = &l2b->l2b_kva[l2pte_index(va)];
@@ -1479,7 +1480,7 @@ pmap_clearbit(struct vm_page *pg, u_int 
 				 * permission.
 				 */
 				if (maskbits & PVF_WRITE) {
-					if (pg->mdmemattr !=
+					if (pg->md.pv_memattr !=
 					    VM_MEMATTR_UNCACHEABLE)
 						npte |= pte_l2_s_cache_mode;
 					pv->pv_flags &= ~(PVF_NC | PVF_MWC);
@@ -1810,7 +1811,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = VM_MEMATTR_DEFAULT;
+	m->md.pv_memattr = VM_MEMATTR_DEFAULT;
 }
 
 /*
@@ -3411,7 +3412,7 @@ do_l2b_alloc:
 		    (m->oflags & VPO_UNMANAGED) == 0)
 			vm_page_aflag_set(m, PGA_WRITEABLE);
 	}
-	if (m->mdmemattr != VM_MEMATTR_UNCACHEABLE)
+	if (m->md.pv_memattr != VM_MEMATTR_UNCACHEABLE)
 		npte |= pte_l2_s_cache_mode;
 	if (m && m == opg) {
 		/*
@@ -5036,7 +5037,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me
 	 * Remember the memattr in a field that gets used to set the appropriate
 	 * bits in the PTEs as mappings are established.
 	 */
-	m->mdmemattr = ma;
+	m->md.pv_memattr = ma;
 
 	/*
 	 * It appears that this function can only be called before any mappings

Modified: user/attilio/vmobj-fullread/sys/arm/include/pmap.h
==============================================================================
--- user/attilio/vmobj-fullread/sys/arm/include/pmap.h	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/arm/include/pmap.h	Sun Aug  4 21:27:31 2013	(r253943)
@@ -96,7 +96,7 @@ enum mem_type {
 
 #endif
 
-#define	pmap_page_get_memattr(m)	((m)->mdmemattr)
+#define	pmap_page_get_memattr(m)	((m)->md.pv_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)
 void pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma);
@@ -120,6 +120,7 @@ struct	pv_chunk;
 
 struct	md_page {
 	int pvh_attrs;
+	vm_memattr_t	 pv_memattr;
 	vm_offset_t pv_kva;		/* first kernel VA mapping */
 	TAILQ_HEAD(,pv_entry)	pv_list;
 };

Modified: user/attilio/vmobj-fullread/sys/dev/iwn/if_iwn.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/dev/iwn/if_iwn.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/dev/iwn/if_iwn.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -7489,7 +7489,7 @@ iwn_hw_reset(void *arg0, int pending)
 #define	COUNTOF(array) (sizeof(array) / sizeof(array[0]))
 
 /*
- * Transate CSR code to string
+ * Translate CSR code to string
  */
 static char *iwn_get_csr_string(int csr)
 {

Modified: user/attilio/vmobj-fullread/sys/geom/part/g_part.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/geom/part/g_part.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/geom/part/g_part.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/bio.h>
-#include <sys/diskmbr.h>
 #include <sys/endian.h>
 #include <sys/kernel.h>
 #include <sys/kobj.h>

Modified: user/attilio/vmobj-fullread/sys/geom/part/g_part_apm.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/geom/part/g_part_apm.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/geom/part/g_part_apm.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/apm.h>
 #include <sys/bio.h>
-#include <sys/diskmbr.h>
 #include <sys/endian.h>
 #include <sys/kernel.h>
 #include <sys/kobj.h>

Modified: user/attilio/vmobj-fullread/sys/i386/i386/pmap.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/i386/i386/pmap.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/i386/i386/pmap.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -645,7 +645,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = PAT_WRITE_BACK;
+	m->md.pat_mode = PAT_WRITE_BACK;
 }
 
 #ifdef PAE
@@ -1534,7 +1534,7 @@ pmap_qenter(vm_offset_t sva, vm_page_t *
 	endpte = pte + count;
 	while (pte < endpte) {
 		m = *ma++;
-		pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->mdmemattr, 0);
+		pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->md.pat_mode, 0);
 		if ((*pte & (PG_FRAME | PG_PTE_CACHE)) != pa) {
 			oldpte |= *pte;
 			pte_store(pte, pa | pgeflag | PG_RW | PG_V);
@@ -3532,7 +3532,7 @@ validate:
 	/*
 	 * Now validate mapping with desired protection/wiring.
 	 */
-	newpte = (pt_entry_t)(pa | pmap_cache_bits(m->mdmemattr, 0) | PG_V);
+	newpte = (pt_entry_t)(pa | pmap_cache_bits(m->md.pat_mode, 0) | PG_V);
 	if ((prot & VM_PROT_WRITE) != 0) {
 		newpte |= PG_RW;
 		if ((newpte & PG_MANAGED) != 0)
@@ -3621,7 +3621,7 @@ pmap_enter_pde(pmap_t pmap, vm_offset_t 
 		    " in pmap %p", va, pmap);
 		return (FALSE);
 	}
-	newpde = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->mdmemattr, 1) |
+	newpde = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->md.pat_mode, 1) |
 	    PG_PS | PG_V;
 	if ((m->oflags & VPO_UNMANAGED) == 0) {
 		newpde |= PG_MANAGED;
@@ -3812,7 +3812,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_
 	 */
 	pmap->pm_stats.resident_count++;
 
-	pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->mdmemattr, 0);
+	pa = VM_PAGE_TO_PHYS(m) | pmap_cache_bits(m->md.pat_mode, 0);
 #ifdef PAE
 	if ((prot & VM_PROT_EXECUTE) == 0)
 		pa |= pg_nx;
@@ -3855,7 +3855,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 	pd_entry_t *pde;
 	vm_paddr_t pa, ptepa;
 	vm_page_t p;
-	vm_memattr_t pat_mode;
+	int pat_mode;
 
 	VM_OBJECT_ASSERT_WLOCKED(object);
 	KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG,
@@ -3867,7 +3867,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 		p = vm_page_lookup(object, pindex);
 		KASSERT(p->valid == VM_PAGE_BITS_ALL,
 		    ("pmap_object_init_pt: invalid page %p", p));
-		pat_mode = p->mdmemattr;
+		pat_mode = p->md.pat_mode;
 
 		/*
 		 * Abort the mapping if the first page is not physically
@@ -3888,7 +3888,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 			KASSERT(p->valid == VM_PAGE_BITS_ALL,
 			    ("pmap_object_init_pt: invalid page %p", p));
 			if (pa != VM_PAGE_TO_PHYS(p) ||
-			    pat_mode != p->mdmemattr)
+			    pat_mode != p->md.pat_mode)
 				return;
 			p = TAILQ_NEXT(p, listq);
 		}
@@ -4119,7 +4119,7 @@ pmap_zero_page(vm_page_t m)
 		panic("pmap_zero_page: CMAP2 busy");
 	sched_pin();
 	*sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(m) | PG_A | PG_M |
-	    pmap_cache_bits(m->mdmemattr, 0);
+	    pmap_cache_bits(m->md.pat_mode, 0);
 	invlcaddr(sysmaps->CADDR2);
 	pagezero(sysmaps->CADDR2);
 	*sysmaps->CMAP2 = 0;
@@ -4144,7 +4144,7 @@ pmap_zero_page_area(vm_page_t m, int off
 		panic("pmap_zero_page_area: CMAP2 busy");
 	sched_pin();
 	*sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(m) | PG_A | PG_M |
-	    pmap_cache_bits(m->mdmemattr, 0);
+	    pmap_cache_bits(m->md.pat_mode, 0);
 	invlcaddr(sysmaps->CADDR2);
 	if (off == 0 && size == PAGE_SIZE) 
 		pagezero(sysmaps->CADDR2);
@@ -4169,7 +4169,7 @@ pmap_zero_page_idle(vm_page_t m)
 		panic("pmap_zero_page_idle: CMAP3 busy");
 	sched_pin();
 	*CMAP3 = PG_V | PG_RW | VM_PAGE_TO_PHYS(m) | PG_A | PG_M |
-	    pmap_cache_bits(m->mdmemattr, 0);
+	    pmap_cache_bits(m->md.pat_mode, 0);
 	invlcaddr(CADDR3);
 	pagezero(CADDR3);
 	*CMAP3 = 0;
@@ -4197,9 +4197,9 @@ pmap_copy_page(vm_page_t src, vm_page_t 
 	invlpg((u_int)sysmaps->CADDR1);
 	invlpg((u_int)sysmaps->CADDR2);
 	*sysmaps->CMAP1 = PG_V | VM_PAGE_TO_PHYS(src) | PG_A |
-	    pmap_cache_bits(src->mdmemattr, 0);
+	    pmap_cache_bits(src->md.pat_mode, 0);
 	*sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(dst) | PG_A | PG_M |
-	    pmap_cache_bits(dst->mdmemattr, 0);
+	    pmap_cache_bits(dst->md.pat_mode, 0);
 	bcopy(sysmaps->CADDR1, sysmaps->CADDR2, PAGE_SIZE);
 	*sysmaps->CMAP1 = 0;
 	*sysmaps->CMAP2 = 0;
@@ -4236,9 +4236,9 @@ pmap_copy_pages(vm_page_t ma[], vm_offse
 		b_pg_offset = b_offset & PAGE_MASK;
 		cnt = min(cnt, PAGE_SIZE - b_pg_offset);
 		*sysmaps->CMAP1 = PG_V | VM_PAGE_TO_PHYS(a_pg) | PG_A |
-		    pmap_cache_bits(b_pg->mdmemattr, 0);
+		    pmap_cache_bits(b_pg->md.pat_mode, 0);
 		*sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(b_pg) | PG_A |
-		    PG_M | pmap_cache_bits(b_pg->mdmemattr, 0);
+		    PG_M | pmap_cache_bits(b_pg->md.pat_mode, 0);
 		a_cp = sysmaps->CADDR1 + a_pg_offset;
 		b_cp = sysmaps->CADDR2 + b_pg_offset;
 		bcopy(a_cp, b_cp, cnt);
@@ -5050,7 +5050,7 @@ void
 pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 {
 
-	m->mdmemattr = ma;
+	m->md.pat_mode = ma;
 	if ((m->flags & PG_FICTITIOUS) != 0)
 		return;
 
@@ -5088,7 +5088,7 @@ pmap_flush_page(vm_page_t m)
 			panic("pmap_flush_page: CMAP2 busy");
 		sched_pin();
 		*sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(m) |
-		    PG_A | PG_M | pmap_cache_bits(m->mdmemattr, 0);
+		    PG_A | PG_M | pmap_cache_bits(m->md.pat_mode, 0);
 		invlcaddr(sysmaps->CADDR2);
 		sva = (vm_offset_t)sysmaps->CADDR2;
 		eva = sva + PAGE_SIZE;

Modified: user/attilio/vmobj-fullread/sys/i386/i386/vm_machdep.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/i386/i386/vm_machdep.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/i386/i386/vm_machdep.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -864,10 +864,10 @@ sf_buf_alloc(struct vm_page *m, int flag
 	opte = *ptep;
 #ifdef XEN
        PT_SET_MA(sf->kva, xpmap_ptom(VM_PAGE_TO_PHYS(m)) | pgeflag
-	   | PG_RW | PG_V | pmap_cache_bits(m->mdmemattr, 0));
+	   | PG_RW | PG_V | pmap_cache_bits(m->md.pat_mode, 0));
 #else
 	*ptep = VM_PAGE_TO_PHYS(m) | pgeflag | PG_RW | PG_V |
-	    pmap_cache_bits(m->mdmemattr, 0);
+	    pmap_cache_bits(m->md.pat_mode, 0);
 #endif
 
 	/*

Modified: user/attilio/vmobj-fullread/sys/i386/include/pmap.h
==============================================================================
--- user/attilio/vmobj-fullread/sys/i386/include/pmap.h	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/i386/include/pmap.h	Sun Aug  4 21:27:31 2013	(r253943)
@@ -429,6 +429,7 @@ struct	pv_chunk;
 
 struct md_page {
 	TAILQ_HEAD(,pv_entry)	pv_list;
+	int			pat_mode;
 };
 
 struct pmap {
@@ -498,7 +499,7 @@ extern char *ptvmmap;		/* poor name! */
 extern vm_offset_t virtual_avail;
 extern vm_offset_t virtual_end;
 
-#define	pmap_page_get_memattr(m)	((m)->mdmemattr)
+#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/attilio/vmobj-fullread/sys/i386/xen/pmap.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/i386/xen/pmap.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/i386/xen/pmap.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -536,7 +536,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = PAT_WRITE_BACK;
+	m->md.pat_mode = PAT_WRITE_BACK;
 }
 
 /*
@@ -3110,7 +3110,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 	pd_entry_t *pde;
 	vm_paddr_t pa, ptepa;
 	vm_page_t p;
-	vm_memattr_t pat_mode;
+	int pat_mode;
 
 	VM_OBJECT_ASSERT_WLOCKED(object);
 	KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG,
@@ -3122,7 +3122,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 		p = vm_page_lookup(object, pindex);
 		KASSERT(p->valid == VM_PAGE_BITS_ALL,
 		    ("pmap_object_init_pt: invalid page %p", p));
-		pat_mode = p->mdmemattr;
+		pat_mode = p->md.pat_mode;
 
 		/*
 		 * Abort the mapping if the first page is not physically
@@ -3143,7 +3143,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs
 			KASSERT(p->valid == VM_PAGE_BITS_ALL,
 			    ("pmap_object_init_pt: invalid page %p", p));
 			if (pa != VM_PAGE_TO_PHYS(p) ||
-			    pat_mode != p->mdmemattr)
+			    pat_mode != p->md.pat_mode)
 				return;
 			p = TAILQ_NEXT(p, listq);
 		}
@@ -4065,7 +4065,7 @@ void
 pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 {
 
-	m->mdmemattr = ma;
+	m->md.pat_mode = ma;
 	if ((m->flags & PG_FICTITIOUS) != 0)
 		return;
 
@@ -4104,7 +4104,7 @@ pmap_flush_page(vm_page_t m)
 		sched_pin();
 		PT_SET_MA(sysmaps->CADDR2, PG_V | PG_RW |
 		    VM_PAGE_TO_MACH(m) | PG_A | PG_M |
-		    pmap_cache_bits(m->mdmemattr, 0));
+		    pmap_cache_bits(m->md.pat_mode, 0));
 		invlcaddr(sysmaps->CADDR2);
 		sva = (vm_offset_t)sysmaps->CADDR2;
 		eva = sva + PAGE_SIZE;

Modified: user/attilio/vmobj-fullread/sys/ia64/ia64/pmap.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/ia64/ia64/pmap.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/ia64/ia64/pmap.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -473,7 +473,7 @@ pmap_page_to_va(vm_page_t m)
 	vm_offset_t va;
 
 	pa = VM_PAGE_TO_PHYS(m);
-	va = (m->mdmemattr == VM_MEMATTR_UNCACHEABLE) ? IA64_PHYS_TO_RR6(pa) :
+	va = (m->md.memattr == VM_MEMATTR_UNCACHEABLE) ? IA64_PHYS_TO_RR6(pa) :
 	    IA64_PHYS_TO_RR7(pa);
 	return (va);
 }
@@ -486,7 +486,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = VM_MEMATTR_DEFAULT;
+	m->md.memattr = VM_MEMATTR_DEFAULT;
 }
 
 /*
@@ -1439,7 +1439,7 @@ pmap_qenter(vm_offset_t va, vm_page_t *m
 		else
 			pmap_enter_vhpt(pte, va);
 		pmap_pte_prot(kernel_pmap, pte, VM_PROT_ALL);
-		pmap_pte_attr(pte, m[i]->mdmemattr);
+		pmap_pte_attr(pte, m[i]->md.memattr);
 		pmap_set_pte(pte, va, VM_PAGE_TO_PHYS(m[i]), FALSE, FALSE);
 		va += PAGE_SIZE;
 	}
@@ -1768,7 +1768,7 @@ validate:
 	 * adds the pte to the VHPT if necessary.
 	 */
 	pmap_pte_prot(pmap, pte, prot);
-	pmap_pte_attr(pte, m->mdmemattr);
+	pmap_pte_attr(pte, m->md.memattr);
 	pmap_set_pte(pte, va, pa, wired, managed);
 
 	/* Invalidate the I-cache when needed. */
@@ -1875,7 +1875,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_
 		pmap_enter_vhpt(pte, va);
 		pmap_pte_prot(pmap, pte,
 		    prot & (VM_PROT_READ | VM_PROT_EXECUTE));
-		pmap_pte_attr(pte, m->mdmemattr);
+		pmap_pte_attr(pte, m->md.memattr);
 		pmap_set_pte(pte, va, VM_PAGE_TO_PHYS(m), FALSE, managed);
 
 		if (prot & VM_PROT_EXECUTE)
@@ -2417,7 +2417,7 @@ pmap_remove_write(vm_page_t m)
 			}
 			prot &= ~VM_PROT_WRITE;
 			pmap_pte_prot(pmap, pte, prot);
-			pmap_pte_attr(pte, m->mdmemattr);
+			pmap_pte_attr(pte, m->md.memattr);
 			pmap_invalidate_page(pv->pv_va);
 		}
 		pmap_switch(oldpmap);
@@ -2499,7 +2499,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me
 	void *va;
 
 	rw_wlock(&pvh_global_lock);
-	m->mdmemattr = ma;
+	m->md.memattr = ma;
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
 		pmap = PV_PMAP(pv);
 		PMAP_LOCK(pmap);

Modified: user/attilio/vmobj-fullread/sys/mips/include/pmap.h
==============================================================================
--- user/attilio/vmobj-fullread/sys/mips/include/pmap.h	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/mips/include/pmap.h	Sun Aug  4 21:27:31 2013	(r253943)
@@ -69,6 +69,7 @@ struct pv_entry;
 struct pv_chunk;
 
 struct md_page {
+	int pv_flags;
 	TAILQ_HEAD(, pv_entry) pv_list;
 };
 

Modified: user/attilio/vmobj-fullread/sys/mips/mips/pmap.c
==============================================================================
--- user/attilio/vmobj-fullread/sys/mips/mips/pmap.c	Sun Aug  4 21:24:54 2013	(r253942)
+++ user/attilio/vmobj-fullread/sys/mips/mips/pmap.c	Sun Aug  4 21:27:31 2013	(r253943)
@@ -594,7 +594,7 @@ pmap_page_init(vm_page_t m)
 {
 
 	TAILQ_INIT(&m->md.pv_list);
-	m->mdmemattr = 0;
+	m->md.pv_flags = 0;
 }
 
 /*
@@ -1435,9 +1435,9 @@ pmap_pv_reclaim(pmap_t locked_pmap)
 				m = PHYS_TO_VM_PAGE(TLBLO_PTE_TO_PA(oldpte));
 				if (pte_test(&oldpte, PTE_D))
 					vm_page_dirty(m);
-				if (m->mdmemattr & PV_TABLE_REF)
+				if (m->md.pv_flags & PV_TABLE_REF)
 					vm_page_aflag_set(m, PGA_REFERENCED);
-				m->mdmemattr &= ~PV_TABLE_REF;
+				m->md.pv_flags &= ~PV_TABLE_REF;
 				TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
 				if (TAILQ_EMPTY(&m->md.pv_list))
 					vm_page_aflag_clear(m, PGA_WRITEABLE);
@@ -1705,9 +1705,9 @@ pmap_remove_pte(struct pmap *pmap, pt_en
 			    __func__, (void *)va, (uintmax_t)oldpte));
 			vm_page_dirty(m);
 		}
-		if (m->mdmemattr & PV_TABLE_REF)
+		if (m->md.pv_flags & PV_TABLE_REF)
 			vm_page_aflag_set(m, PGA_REFERENCED);
-		m->mdmemattr &= ~PV_TABLE_REF;
+		m->md.pv_flags &= ~PV_TABLE_REF;
 
 		pmap_remove_entry(pmap, m, va);
 	}
@@ -1846,7 +1846,7 @@ pmap_remove_all(vm_page_t m)
 	    ("pmap_remove_all: page %p is not managed", m));
 	rw_wlock(&pvh_global_lock);
 
-	if (m->mdmemattr & PV_TABLE_REF)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308042127.r74LRVaU002712>