On virt_to_phys doubts.

Miles MH Chen orca.chen at gmail.com
Sat Sep 13 04:31:33 EDT 2014


Hi,

Do you know the value of PHYS_OFFSET of your platform?
PHYS_OFFSET defines the starting physical address of your DRAM.

physical address = kmalloc'ed address - PAGE_OFFSET + PHYS_OFFSET

MH

On Sat, Sep 13, 2014 at 4:02 PM, mind entropy <mindentropy at gmail.com> wrote:

> Hi,
>
>   I want to know the physical address [just for debugging and info.Not
> for DMA etc] of a particular virtual address allocated via kmalloc.
>
>    I am running the below code on S3C2440 with 64MB of RAM. The
> /proc/meminfo returns
>
> MemTotal:          59164 kB
> MemFree:           35884 kB
> MemAvailable:      47148 kB
>
>
>   I run the following module for printing the addresses. [This module
> is only for test. So excuse if I have cut corners].
>
> ------------------------------------------------
>
> #include <linux/init.h>
> #include <linux/kernel.h>
> #include <linux/printk.h>
> #include <linux/module.h>
> #include <linux/gfp.h>
> #include <linux/types.h>
> #include <linux/mm.h>
> #include <linux/mm_types.h>
> #include <linux/slab.h>
>
> static int vm_mem_test_init(void)
> {
>
>     void *km;
>
>     printk(KERN_ALERT "vm mem test init\n");
>
>     km = kmalloc(1,GFP_KERNEL);
>
>     if(km == NULL) {
>         printk(KERN_ALERT "Could not kmalloc\n");
>         return -1;
>     } else {
>         printk(KERN_ALERT "Allocated\n");
>         printk(KERN_ALERT "Virtual addr : %x\n",(unsigned int)km);
>         printk(KERN_ALERT "Kernel physical addr :
> 0x%x\n",virt_to_phys(km));
>         kfree(km);
>     }
>
>   return 0;
>
> }
>
>
> The output for the following is:
>
> Virtual addr : c2c080e0
> Kernel physical addr : 0x32c080e0
>
> -----------------------------------------------------------
>
> The kernel physical address is wrong as I only have 64MB. Should I be
> doing a kernel page table walk to get the associated physical address?
>
> Thanks
> Gautam.
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140913/342faf6a/attachment.html 


More information about the Kernelnewbies mailing list