【linux学习笔记】中断上下文

中断是我们的老朋友了,在裸机开发中中断处于不可或缺的地位。在linux开发中,也有一套自己的中断体系。与裸机开发最大的不同是,操作系统通常将中断划分为了上下文。比如上文处理硬件请求,而下文则对数据进行处理,网卡是一个典型的例子。

中断上文

相关函数接口

申请一个中断:

int request_irq(unsigned int irq, 
				irqreturn_t (*handler)(int, void *, struct pt_regs *),
		 		unsigned long irq_flags, 
		 		const char * devname, 
		 		void *dev_id)

参数分别是中断号、中断处理程序入口、flag(书的94页)、设备名称(可查询)、dev_id用于共享中断线(没有的话写NULL)。
这个函数可能会引起休眠,因此不能在中断上下文中调用(原因可能是需要申请空间,用到了kmalloc)。

irqreturn_t (*handler)(int irq, void *dev
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值