On 11/12/09, Johnny Hung <johnny.hack...@gmail.com> wrote:
> Hi All:
>     I am writing user space application and need to allocate a
> continuous memory. The size is just 64KB and I also need to know the
> allocated physical memory address. Is is possible to do it in user
> space or it should be done it kernel space?

To the best I know, in user space, all kind of memory allocation done
via functions like malloc(), mmap(), brk etc never guarantees
continous physical memory. Only continous virtual memory. The reason
is that they are all basically just reserve or extend existing VMA.
The real allocation, which is done on per page basis, is deferred 'til
page fault happen.

>BTW, how to allocate
> continuous physical memory and got it physical address in kernel
> space?

IIRC, get_free_pages(). I might be wrong though...The return value of
this function is the starting virtual address of the page. And to
convert it to physical address, IIRC, you can use virt_to_phys()
function.

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to