Linux中断处理之一(共享中断处理初探)
在看LKD(第二版)第六章(中断和中断处理程序)的时候,刚开始接触到中断线号和共享中断线的时候半天愣是没有想明白,原来理解的中断和中断和中断处理程序就是通过中断线号来进行关联,硬件发生中断,然后通过中断线号查找对应的中断处理程序,最后中断处理程序返回,此次中断则处理完毕,没想到冒出来个共享中断线,呵呵,比较一下,感觉知识真的要及时更新,呵呵。
从个人的理解,Linux2.6内核对中断处理程序的现在的处理可以分为两种模式,一种就是上面说的老的模式(非共享中断线),一种属于使用共享中断线的新模式,从其使用的注册中断处理程序的函数中来分析,函数原型如下:
int request_irq(unsigned int irq,
irqreturn_t (*handler)(int, void *, struct pt_regs *),
unsigned long irqflags,
const char * devname,
void * dev_id);
参数1:中断线号
参数2:中断处理程序函数指针
参数3:标志掩码(SA_INTERRUPT, SA_SAMPLE_RANDOM, SA_SHIRQ)
参数4:用于参数3为SA_SHIRQ(共享中断线)的时候,其他为NULL
原来对于计算机设备比较少的时候,可能一个中断线好可以对应一个中断处理程序(非共享中断线),这时候参数4为NULL,没有任何用,但随着计算机设备的增加,一个中断线号对应一个中断处理程序已经不太现实,这
相关文档:
-------------------------------------------------------------------------------------------------------
By:yuyongbao
QQ:673360056
1、 linux下共享文件。安装smbserver。然后在《系统设置》中打开《服务器设置》的《smb server》服务器,输入相关路径即可。然后在window中,使用网络邻居查找linux。(注 ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LINUX 内核结构体
struct attribute
{
const char * name;
struct module &nb ......
当今,不考虑 Linux 和无线网络技术的话,就无法谈到计算机和网络。在这篇文章中,Sreekrishnan Venkateswaran 用
Linux 观点阐释了通过 WLAN、Bluetooth、GPRS、GSM 以及 IrDA
实现无线联网。他使用各种不同的无线设备和相应的内核层,以及用户空间工具来示范它们在 Linux 下如何工作。
无线技术,例如
WLAN (Wireles ......
经过艰苦的奋斗,终于搞定了fedora系统从安装到3D特效(本人安装的是fedora
11),为了方便后来的linuxer,特留下本人的全过程以供参考。以下步骤有的来自于google搜索,有部分来自于嘉佑中文博客
(http://www.my-guides.net/en/content/view/164/26/),并感谢各方前辈的笔迹。
1.添加rpm fusion源
rpm -ivh
http://do ......