Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Jan 2004 15:16:45 -0800 (PST)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 44777 for review
Message-ID:  <200401042316.i04NGjnU028017@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=44777

Change 44777 by jmallett@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.
  */



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