阅读:1560回复:3
谁要是能解决我的问题,我将200分相送!!!
1)请问linux操作系统在什么地方屏蔽CPU的中断屏蔽寄存器!!!!
2)安装了网络驱动之后,ifconfig device_name up!!就完蛋,怎样解决?!!!!! |
|
沙发#
发布于:2004-06-12 11:57
1. spin_lock_irqsave();
2. debug your nic driver |
|
|
板凳#
发布于:2004-06-14 17:22
1. enable_irq() 和 disable_irq()
2. ifconfig ** up 会调用driver的open函数,估计是会死机是因为 写io port有问题或者dma出错。 |
|
地板#
发布于:2004-06-24 16:52
谢谢两位的支持(每人50分)!!!我有几点个人见解!!
1)关于中断考虑到CPU中断屏蔽寄存器,我在中断屏蔽表中找到解决的方法!!!! 2)第二个问题,原采用的是register_netdev(struct net_device *dev)注册函数,所以系统在dev_open(dev)调用中死于dev->open(dev)之前,所以还没有等到调用驱动程序open函数,就死了!!! 后来采用了init_ethdev(0,0)注册函数,系统可以通过up命令。但是系统在该命令中没有调用open(dev)函数,而是tx(skb,dev)函数(我不理解)!!而且传给tx的dev内容与注册时的不同!!!!!! 我还没有解决!!!!!!!!!!!!! ――――――我是eldk的ppc_82xx内核,硬件平台是Powerpc8265!! |
|