e84fe91c51
emulation of managed pages. This required the following `interesting' changes: * File system buffers must be entered with an access type of VM_PROT_READ|VM_PROT_WRITE, so that the pages will be accessible immediately. Otherwise we would have to teach pagemove() to update the R/M information. Since they're never eligible for paging, the latter is overkill. * We must insure that pages allocated before the pmap is completely set up (that is, pages allocated early by the VM system) are not eligible for R/M emulation, since the memory needed for this isn't available. We do this by allocating the pmap's internal memory with uvm_pageboot_alloc(). This also fixes an absolutely horrible hack where the pmap only worked because page 0 happened to be mapped. to be mapped. Also: * Push the wired page counting into the p->v list maintenance functions. This avoids code duplication, and fixes some cases where we were confused about which pages to do it with. * Fix lots of problems associated with pmap_nightmare() (and rename it to pmap_vac_me_harder()). * Since the early pages are no longer considered `managed', just make pmap_*_pv() panic if !pmap_initialized. |
||
---|---|---|
.. | ||
com_ofisa_consolehack.c | ||
com_ofisa_machdep.c | ||
if_cs_ofisa_machdep.c | ||
lpt_ofisa_machdep.c | ||
ofisa_machdep.c | ||
ofisapc.c | ||
ofisascr.c | ||
ofrom.c | ||
oftodclock.c | ||
ofw_irq.S | ||
ofw_irqhandler.c | ||
ofw.c | ||
ofwgencfg_clock.c | ||
ofwgencfg_machdep.c | ||
openfirm.c | ||
wdc_ofisa_machdep.c |