linux中断系列之中断重要的数据结构(二)

本文深入探讨Linux内核中的中断处理,重点分析了irq_desc数据结构及其在中断处理中的关键作用,同时提及了相关结构irq_chip的相关信息。
摘要由CSDN通过智能技术生成
内核用于中断处理的数据结构主要有3个,分别为:irq_chip、irq_desc和irqaction
一、中断描述符 irq_desc
    注:先讲述一下上篇文章中与门描述符的区别,中断描述符适用于描述IRQ线的属性和状态,又称中断描述符;
  而门描述符它是存放在中断描述符表(IDT)中,它是IDT的一个表项,通过门描述符可以找到异常或中断的服务程序。
每一个IRQ都有自己的irq_desc对象,所有的irq_desc对象组成irq_desc数组,即中断描述符数组。

以下是irq_desc的数据结构:(位置:include/linux/irq.h)  

struct irq_desc {
	/* 处理中断电流特性的回调 */
	irq_flow_handler_t	handle_irq;
	/* 电流处理和芯片相关操作 */
	struct irq_chip		*chip;
	struct msi_desc		*msi_desc;
	/* 传递给handle_irq的私有数据 */
	void			*handler_data;
	void			*chip_data;
	/* 第一个irq指针,形成一个ISR处理链表 */
	struct irqaction	*action;	/* IRQ action list */
	/* IRQ状态,如IRQ_DISABLED */
	unsigned int		status;		/* IRQ status */
	/* 该中断被禁用的次数 */
	unsigned int		depth;		/* nested irq disable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值