Author: neel Date: Wed Jul 3 23:38:37 2013 New Revision: 252653 URL: http://svnweb.freebsd.org/changeset/base/252653
Log: vm_phys_fictitious_reg_range() was losing the 'memattr' because it would be reset by pmap_page_init() right after being initialized in vm_page_initfake(). The statement above is with reference to the amd64 implementation of pmap_page_init(). Fix this by calling 'pmap_page_init()' in 'vm_page_initfake()' before changing the 'memattr'. Reviewed by: kib MFC after: 2 weeks Modified: head/sys/vm/vm_page.c head/sys/vm/vm_phys.c Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Wed Jul 3 23:38:02 2013 (r252652) +++ head/sys/vm/vm_page.c Wed Jul 3 23:38:37 2013 (r252653) @@ -645,6 +645,7 @@ vm_page_initfake(vm_page_t m, vm_paddr_t /* Fictitious pages don't use "order" or "pool". */ m->oflags = VPO_BUSY | VPO_UNMANAGED; m->wire_count = 1; + pmap_page_init(m); memattr: pmap_page_set_memattr(m, memattr); } Modified: head/sys/vm/vm_phys.c ============================================================================== --- head/sys/vm/vm_phys.c Wed Jul 3 23:38:02 2013 (r252652) +++ head/sys/vm/vm_phys.c Wed Jul 3 23:38:37 2013 (r252653) @@ -559,7 +559,6 @@ vm_phys_fictitious_reg_range(vm_paddr_t } for (i = 0; i < page_count; i++) { vm_page_initfake(&fp[i], start + PAGE_SIZE * i, memattr); - pmap_page_init(&fp[i]); fp[i].oflags &= ~(VPO_BUSY | VPO_UNMANAGED); } mtx_lock(&vm_phys_fictitious_reg_mtx); _______________________________________________ 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"