看板 DFBSD_kernel 關於我們 聯絡資訊
:Hi, : :If I have a vm_page_t array, 'mp' for this exercise, should: : : pmap_qenter(addr, mp, npages); : :be equivalent to : : for (i = 0; i < npages; i += PAGE_SIZE) : pmap_enter(&kernel_pmap, addr + i, mp[i / PAGE_SIZE], VM_PROT_ALL, 1); : :if all of the pages in the array have had m->valid set to :VM_PAGE_BITS_ALL and vm_page_wire() called on them? : :Thanks, :-- vs Well, pmap_kenter() and pmap_qenter() are designed for the kernel_map only, whereas pmap_enter() is designed for user pmaps but happens to also work on the kernel_map. p.s. on that example my assumption is 'npages' is meant to be in bytes and not pages. -Matt Matthew Dillon <dillon@backplane.com>