我想构建一个内核模块,以便在重新引导后读取内存(RAM)地址内容。如何识别我可以读取但系统不使用的内存地址或范围。
我的代码:
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
long start_addr;
long end_addr;
long *i;
long *start;
long *end ;
start_addr = 0xffffffbffc00201c; //
end_addr = 0xffffffbffc00303c; //
start= (long*)start_addr ;
end= (long*)end_addr;
for(i=start ; i <= end ; i++ ){
printk(KERN_ALERT "\nThe Address = 0x%p\n", i);
printk(KERN_ALERT "\nThe content = %lx\n", *i);
}
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world 1.\n");
}