内核模块调用设备驱动问题
http://baoqunmin.cublog.cn 最近在做Linux下PCI驱动程序,程序供freeswan调用,freeswan是静态编译到内核中的。所以驱动调用不涉及到用户态,但是驱动的介绍都是在用户态下调用驱动程序的,我们也在实现了这个。看了很多帖子,写了个内核模块,在模块中使用了open,ioctl,
驱动程序能正确工作,但是一旦编译进内核,ping另一台电脑就死机。最后简化到只使用open打开设备,还是死机。
无奈了,看网上说的内核中可以使用sys_open,我写了个模块测试了下,编译没有问题,加载时显示unresolved symbol sys_open
。模块无法加载。但是我直接在换成sys_open编译进内核,竟然可以打开设备,然后把其他的改为sys_xx,重新编译,ping又死机了。
在下是新手,望哪位高手能指点一下。非常感谢! 可以 include 他的head file, 然后直接调用函数啊 您的意思是在freeswan中直接include头文件,再调用此函数是吧,然后一起编译进内核,但是那样都open不了设备啊,
我想再提一个问题,能在动态加载模块中通过的,静态编译进内核一定可以用吗?还是有些区别?谢了! 问题已解决,谢谢! 怎么解决的?
页:
[1]