- 论坛徽章:
- 0
|
#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。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4101/showart_13020.html |
|