Advertisement

How to determine conditional compilation in Linux kernel for determining

阅读量:

在研读Linux源码的过程中,常常会遇到条件编译的场景,具体示例如下:

#ifdef CONFIG_FLAT_NODE_MEM_MAP

/* ia64架构拥有独立的node_mem_map,在此之前未使用bootmem */

if (!pgdat->node_mem_map) {

......

}

#ifndef CONFIG_NEED_MULTIPLE_NODES

/*

  • 在没有DISCONTIG的情况下,全局mem_map仅作为节点0的映射

*/

if (pgdat == NODE_DATA(0)) {

mem_map = NODE_DATA(0)->node_mem_map;

#ifdef CONFIG_ARCH_POPULATES_NODE_MAP

if (page_to_pfn(mem_map) != pgdat->node_start_pfn)

  • mem_map -= (pgdat->node_start_pfn - ARCH_PFN_OFFSET);
  • #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */

全部评论 (0)

还没有任何评论哟~