Linux开机时分配大量连续内存

2014-11-24 00:35:34 · 作者: · 浏览: 8

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