Идентификация адресов памяти - PullRequest
0 голосов
/ 25 января 2019

Я хочу собрать модуль ядра для чтения содержимого памяти (ram) после перезагрузки. Как определить адреса или диапазоны памяти, которые я могу прочитать и которые не используются системой.

  • ЦП: 64-разрядная ARMv8-A, ОЗУ: 4 ГБ

Мой код:

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