PERFORCE change 44777 for review

Juli Mallett jmallett at FreeBSD.org
Sun Jan 4 15:16:48 PST 2004


http://perforce.freebsd.org/chv.cgi?CH=44777

Change 44777 by jmallett at jmallett_oingo on 2004/01/04 15:16:41

	minor diff reduce with alpha, very incomplete.  revert change
	to use xkphys in pmap_map until that's being consistently used,
	and the arcs code knows how to deal with those addresses.

Affected files ...

.. //depot/projects/mips/sys/mips/mips/pmap.c#26 edit

Differences ...

==== //depot/projects/mips/sys/mips/mips/pmap.c#26 (text+ko) ====

@@ -358,7 +358,7 @@
 	}
 
 	va = (void *)MIPS_PHYS_TO_KSEG0(m->phys_addr);
-	if ((m->flags & PG_ZERO) == 0)
+	if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0)
 		bzero(va, PAGE_SIZE);
 	return (va);
 }
@@ -411,7 +411,7 @@
 	if (initial_pvs < MINPV)
 		initial_pvs = MINPV;
 	pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL,
-	    NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM);
+	    NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
 	uma_prealloc(pvzone, initial_pvs);
 
 	/*
@@ -674,7 +674,10 @@
 vm_offset_t
 pmap_map(vm_offset_t *virt, vm_offset_t start, vm_offset_t end, int prot)
 {
+#if 0 /* XXX notyet, need pmap_extract etc., to love us. */
 	return MIPS_PHYS_TO_XKPHYS(MIPS_XKPHYS_UC, start);
+#endif
+	return MIPS_PHYS_TO_KSEG0(start);
 }
 
 void
@@ -798,7 +801,6 @@
 	panic("pmap_growkernel to %lx unimplemented\n", addr);
 }
 
-
 /***************************************************
  * page management routines.
  ***************************************************/
@@ -892,10 +894,11 @@
 	pv->pv_pmap = pmap;
 	pv->pv_ptem = mpte;
 
+	vm_page_lock_queues();
 	TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist);
 	TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
 	m->md.pv_list_count++;
-
+	vm_page_unlock_queues();
 	splx(s);
 }
 
@@ -1525,7 +1528,6 @@
 	return (TRUE);
 }
 
-
 /*
  *	Clear the modify bits on the specified physical page.
  */


More information about the p4-projects mailing list