linux 内核学习11-内核模块参数
内核模块作为一个可拓展的动态模块,为Linux内核提供灵活性,所以需要依据不同的场景来传递不同的参数,实现不同的功能
1. 准备工作
#define module_param(name,type,perm)
module_param_named(name,name,type,perm)
#define MODULE_PARM_DESC(_parm,desc) \
__MODULE_INFO(parm,_parm,#_parm ":" desc)
module_params() 宏一共有三个参数
| 参数 | 含义 |
|---|---|
| name | 参数名 |
| type | 参类型数 |
| perm | 参数的读写等权限 |
MODULE_PARM_DESC()宏为这个参数的简单说明,参数类型可以为byte,ushort,int,uint,long,ulong,char和bool等类型。perm指定sysfs中相应文件的访问权限,如设置为0表示不会出现在sysfs文件系统中;如果设置为S_IRUGO(0444)可以被所有人读取,但是不能修改,如果设置为S_IRUGO|S_IWUSR(0644),说明可以让root权限修改这个参数。
举个例子
<driver/misc/altera-stapl/altera.c>
static int debug=1
module_param(debug,int,

本文介绍了Linux内核模块参数的使用,包括module_params()宏的配置,如参数类型、权限设置,以及如何通过MODULE_PARM_DESC()宏添加说明。通过实例展示了如何定义和编译内核参数,并演示了加载模块、修改参数以及查看效果的过程。

2119

被折叠的 条评论
为什么被折叠?



