基本要求
-
环境:
处理器架构:arm64
内核源码:linux-6.6.29
ubuntu版本:20.04.1
代码阅读工具:vim+ctags+cscope
本文主要介绍内核开发中常用的模块传参手段,通过模块参数传递可以通过用户态来获取内核的一些信息,也可以通过用户态写入一些值来控制内核相关行为。一般内核开发者很喜欢使用模块传参来调试内核功能,如damon模块(数据访问监控器)。
主要由以下部分组成:
-
常用内核API
-
支持的参数数据类型
-
参数文件访问权限
-
模块参数的读写
-
示例代码
-
参考资料
1.常用内核API
1.1 module_param
/**
* module_param - typesafe helper for a module/cmdline parameter
* @name: the variable to alter, and exposed parameter name.
* @type: the type of the parameter
* @perm: visibility in sysfs