2.6.21相比2.4.18内核机制变更
本人正在把2.4.18的网关,防火墙,等公司的代码从2.4.18移植到2.6.18linux内核上去.本日志会不断更新,希望能让同在进行2.4到2.6内核移植 的朋友们一些帮助. IPMAC部分改动
1. 2.4内核: Save_flags();保存标志 cli();关闭中断 拥有帝国一切,皆有可能。欢迎访问phome.net Restore_flags();还原标志打开中断. 在2.6内核中由: local_irq_save(flags); local_irq_restore(flags); 取代.功能完全一样. 要使用save_flags功能需要删除CONFIG_SMP宏 拥有帝国一切,皆有可能。欢迎访问phome.net 在/include/linux/autoconf.h 2125行定义.
2. 修改后的nf_hook_ops结构体 static struct nf_hook_ops ipmac_rcv_ops= { {NULL, NULL}, my_ipmac_rcv, NULL, /2.4.18没有这个元素 拥有帝国一切,皆有可能。欢迎访问phome.net,2.6.21此参数原型为:struct module *owner;*、 PF_INET, NF_IP_PRE_ROUTING, SE_PRI_PRERT_IPMAC_BIND };
.3. 拥有帝国一切,皆有可能。欢迎访问phome.net 2.4 内核下,缺省情况时模块中的非静态全局变量及函数在模块加载后会输出到内核空间.2.6 内核下,缺省情况时模块中的非静态
全局变量及函数在模块加载后不会输出到内核空间,需要显式调用宏EXPORT_SYMBOL才能输出.在2.6 内核的模块下,EXPORT_N
拥有帝国一切,皆有可能。欢迎访问phome.netO_SYMBOLS宏的调用没有意义,是空操作.在同时支持2.4与2.6内核的设备驱动中,可以通过以下代码段来输出模块的内核符号
拥有帝国一切,皆有可能。欢迎访问phome.net 在2.6.21内核中定义的. 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |