DragonFly BSD
DragonFly kernel List (threaded) for 2011-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: pmap_enter vs pmap_qenter


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 11 Jan 2011 17:02:10 -0800 (PST)

: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>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]