Date: Wed, 4 Jun 1997 10:29:06 -0700 (PDT) From: Pat Bozeman <peb@george.lbl.gov> To: freebsd-hackers@FreeBSD.ORG Subject: Re: Virtual address question for VM guru's Message-ID: <Pine.SOL.3.95.970604100035.1799F-100000@george.lbl.gov> In-Reply-To: <199706040745.RAA16094@ogre.dtir.qld.gov.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks to all for the input, here is what I propose to do, if this doesn't make sense can someone please correct me (although I understand the general ideas behind the FreeBSD VM system, I don't really have a good handle on the details of the implementation so this may not quite make sense) fault in and wire all pages in user supplied buffer (already working) build vm_page_t ms[] of pages in buffer get a new kva by calling kmem_alloc_pageable(kernel_map, buffer_size) associate buffer pages with kva by calling pmap_qenter(kva, ms, npages) My understanding is that kmem_alloc_pagable allocates virutal addresses that do not have coresponding physical addresses. Then, pmap_qenter takes the new virtual address and associates n pages starting at that address with the physical addresses of the vm_page_t array.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.3.95.970604100035.1799F-100000>