Skip site navigation (1)Skip section navigation (2)
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>