【发布时间】:2012-06-13 03:00:55
【问题描述】:
当我在内核中找到地址时,我有一个问题。我在内核中插入了一个hello模块,在这个模块中,我放了这些东西:
char mystring[]="this is my address";
printk("<1>The address of mystring is %p",virt_to_phys(mystring));
我想我可以得到mystring的物理地址,但是我发现,在syslog中,它的打印地址是0x38dd0000。但是,我把内存转储出来,发现它的真实地址是dcd2a000,这与前者有很大的不同。这要怎么解释?我做错事情了?谢谢
PS:我使用了一个工具来转储整个内存,物理地址。
【问题讨论】:
-
当你“转储内存”时,你没有得到虚拟地址吗?
-
我转储的内存是物理地址,我用了一个工具
-
什么是硬件平台?
标签: c linux kernel kernel-module