Re: On virt_to_phys doubts.

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

 



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@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[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