当前位置: 技术问答>linux和unix
3.6.6 x86 bootmem 初始化
来源: 互联网 发布时间:2017-03-26
本文导语: 在x86下的setup_arch中调用initmem_init函数,该函数调用setup_bootmem_allocator初始化bootmem,但是进去一看只有两个打印语句和一个after_bootmem=1;,那么bootmem的具体初始化代码哪去了? bootmem的初始化好像是调用/mm/bootmem.c中的init_...
在x86下的setup_arch中调用initmem_init函数,该函数调用setup_bootmem_allocator初始化bootmem,但是进去一看只有两个打印语句和一个after_bootmem=1;,那么bootmem的具体初始化代码哪去了?
bootmem的初始化好像是调用/mm/bootmem.c中的init_bootmem的函数初始化吧,但是查看该函数所有调用的地方根本就没有x86下的代码调用。
x86现在还在使用bootmem吗,如果是,那么在哪初始化?求各位大牛解答
bootmem的初始化好像是调用/mm/bootmem.c中的init_bootmem的函数初始化吧,但是查看该函数所有调用的地方根本就没有x86下的代码调用。
x86现在还在使用bootmem吗,如果是,那么在哪初始化?求各位大牛解答
|
memblock_set_node(0, (phys_addr_t)ULLONG_MAX, 0);
sparse_memory_present_with_active_regions(0);
|
void __init setup_bootmem_allocator(void)
{
int nodeid;
unsigned long bootmap_size, bootmap;
/*
* Initialize the boot-time allocator (with low memory only):
*/
bootmap_size = bootmem_bootmap_pages(max_low_pfn)