如何调用linux内核源码中的全局变量
内核编程新手。。
mem_map是一个struct page的数组,管理着系统中所有的物理内存页面。 的定义,在mm/memory.c中:
#ifndef CONFIG_NEED_MULTIPLE_NODES
/* use the per-pgdat data instead for discontigmem - mbligh */
unsigned long max_mapnr;
struct page *mem_map;
EXPORT_SYMBOL(max_mapnr);
EXPORT_SYMBOL(mem_map);
#endif
mem_map是一个全局变量。我想自己在模块中使用:
extern struct page *mem_map;
printk(KERN_ALERT "%ld/n",mem_map[0].flags);
编译提示:
WARNING: "mem_map" [/wyq/mem.ko] undefined!
insmod提示:
insmod: ERROR: could not insert module mem.ko: Unknown symbol in module
Unknown symbol mem_map
内核应该安装编译的没什么问题。不知道应该怎么写,是缺少什么头文件吗?