alloc_bootmem是在DMA之上分配
时间:2005-02-24 来源:baozhao
#ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE
extern void __init reserve_bootmem (unsigned long addr, unsigned long size);
#define alloc_bootmem(x)
__alloc_bootmem((x), SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_low(x)
__alloc_bootmem((x), SMP_CACHE_BYTES, 0)
#define alloc_bootmem_pages(x)
__alloc_bootmem((x), PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_low_pages(x)
__alloc_bootmem((x), PAGE_SIZE, 0)
#endif /* !CONFIG_HAVE_ARCH_BOOTMEM_NODE */
从setup_arch==>setup_memory启动bootmem allocator开始,到mem_init调用__free_all_bootmem拆除bootmem allocator结束,期间所有的XXX_init函数动态申请空间都是通过bootmem allocator。
相关阅读 更多 +