这里仅仅涉及到共享全局变量。
方法1: 内核中新增头文件声明
内核中本身就存在全局变量, 比如jiffies。
类似的在内核的模块中include/linux/xxx.h新建这个头文件。将你向共享的变量的声明放在这个地方。
方法2:模块间导出符号表并引用
采用函数来操作全局变量也可以,直接导出全局变量也可以。
宏: EXPORT_SYMBOL()
这种方式引用的时候需要在引用此变量的模块中修改Makefile.
KBUILD_EXTRA_SYMBOLS += /path/to/Modules.symvers
export KBUILD_EXTRA_SYMBOLS