识别内存地址

时间:2019-01-25 13:43:37

标签: c memory linux-kernel ram kernel-module

我想构建一个内核模块,以便在重新引导后读取内存(RAM)地址内容。如何识别我可以读取但系统不使用的内存地址或范围。

  • CPU:64位ARMv8-A RAM:4 GB

我的代码:

 #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");
     }

0 个答案:

没有答案