Linux 開機時期保留記憶體實做
在LDD一書中提過要獲取大量連續記憶體有幾種方法
1) 設定cmdline parameter mem=XXM
2) 在開機時候保留記憶體
之前適用第一種方法,但是要boot loader配合
這次實驗第二種方法,於是開始HACK KERNEL
函示原型跟標頭檔如下:
#include linux/bootmem.h
void *alloc_bootmem(unsigned long size);
void *alloc_bootmem_low(unsigned long size);
void *alloc_bootmem_pages(unsigned long size);
void *alloc_bootmem_low_pages(unsigned long size);
實做步驟:
1) 修改init/main.c,找到start_kernel函示
2) 在setup_arch(..)之後,加入alloc_bootmem_XX的程式碼
3) 把得到的指標export出來,大功告成
1) 設定cmdline parameter mem=XXM
2) 在開機時候保留記憶體
之前適用第一種方法,但是要boot loader配合
這次實驗第二種方法,於是開始HACK KERNEL
函示原型跟標頭檔如下:
#include linux/bootmem.h
void *alloc_bootmem(unsigned long size);
void *alloc_bootmem_low(unsigned long size);
void *alloc_bootmem_pages(unsigned long size);
void *alloc_bootmem_low_pages(unsigned long size);
實做步驟:
1) 修改init/main.c,找到start_kernel函示
2) 在setup_arch(..)之後,加入alloc_bootmem_XX的程式碼
3) 把得到的指標export出來,大功告成
留言