Re: Allocate continuous memory and physical address.

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

 



On 11/12/09, Johnny Hung <johnny.hacking@xxxxxxxxx> 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 ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux