歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux下分配G級物理內存的方法-alloc_bootmem()

2.6.22.9的Linux內核
使用alloc_bootmem函數
在內核代碼  init/main.c文件中
  1. asmlinkage void __init start_kernel(void)  
  2. {  
  3.         char * command_line;  
  4.         extern struct kernel_param __start___param[], __stop___param[];  
  5.         .  
  6.         .  
  7.         .  
  8.         cpuset_init_early();  
  9.         yy_p = alloc_bootmem(500000000);//yy_p在開始時定義   
  10.         if (!yy_p)  
  11.         {  
  12.                 printk("yy: alloc error!\n");  
  13.         }  
  14.         else  
  15.         {  
  16.                 printk("yy: alloc success! \n");  
  17.         }  
  18.         //一定要在mem_init函數前   
  19.         mem_init();  
  20.         .  
  21.         .  
  22.         .  
  23. }  

重新編譯內核

這樣,進系統後cat /proc/meminfo 就會發現自己的物理內存少了500M

只要把yy_p這個指針EXPORT_SYMBOL後,內核的驅動程序就可以訪問500M內存了

Copyright © Linux教程網 All Rights Reserved