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