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出来,大功告成

相关内容