struct irq_data:一个具体中断控制器,包括两个结构体,分别是irq_chip和irq_domain,其中irq_chip中的每个字段是描述了具体操作中断控制器的功能,irq_domain主要的功能是对hwirq和virq创建映射,把某些中断所具有的同样功能抽象出来,然后组成一个domain,这样就可以被其他中断控制器所用; struct irqaction:一个中断要做...
irq_desc数据结构用于描述一个irq对应的各种信息,主要有以下方面:irq_data,描述该irq的irq number,irq chip,irq domain,处理器亲和力等等 handle_irq,highlevel irq-eventshandler,流处理函数 irq_action,一个链表,每个成员包含该irq中断处理函数等信息 depth,中断嵌套深度 name,cat /proc/interrupts时显示的名称 等等...
DX_IRQDATA 结构包含驱动程序提供的 IRQ 信息。语法C++ 复制 typedef struct _DX_IRQDATA { DWORD dwIrqFlags; } DX_IRQDATA, *PDX_IRQDATA; 成员dwIrqFlags指定已发生的 IRQ 的类型。 以下一项或多项:展开表 标志含义 DDIRQ_BUSMASTER 生成IRQ 是因为传输请求已完成。 DDIRQ_DISPLAY_VSYNC 设备可以...
一个新的字段 'parent_data' 被添加到irq_data结构中;它用于建立层次结构irq_data以 匹配irq_domain层次结构。irq_data用于存储irq_domain指针和硬件irq号。 新的回调被添加到irq_domain_ops结构中,以支持层次结构的irq_domain操作。 在支持分层irq_domain和分层irq_data准备就绪后,为每个中断控制器建立一个irq_do...
三、中断描述符数据结构 Notes:中断描述符irq_desc是用于描述一个中断的;irq_chip是中断控制器的callback函数;irq_data是描述中断控制器的,常挂在irq_desc下。 1、底层irq chip相关的数据结构 中断描述符中应该会包括底层irq chip相关的数据结构,linux kernel中把这些数据组织在一起,形成struct irq_data,具体代码...
层次结构:具体是irq_domain_alloc_irq_data函数建立: 系统创建的irq_domain:总共4个。通过parent成员组成 层次结构。根为ffff8020c0030400。 [ 0.000000] ===__irq_domain_add domain ffff8020c0030400 name irqchip@(___ptrval___) === irq-gic-v3.c [ 0.000000] ===__irq_domain_add domain ffff8020...
1、底层irq chip相关的数据结构 中断描述符中应该会包括底层irq chip相关的数据结构,linux kernel中把这些数据组织在一起,形成struct irq_data,具体代码如下: struct irq_data { u32 mask;---TODO unsigned int irq;---IRQ number unsigned long hwirq...
1、底层irq chip相关的数据结构 中断描述符中应该会包括底层irq chip相关的数据结构,linux kernel中把这些数据组织在一起,形成struct irq_data,具体代码如下: struct irq_data { u32 mask;---TODO unsigned int irq;---IRQ number unsigned long hwirq...
1、底层irq chip相关的数据结构 中断描述符中应该会包括底层irq chip相关的数据结构,linux kernel中把这些数据组织在一起,形成struct irq_data,具体代码如下: struct irq_data { u32 mask;---TODO unsigned int irq;---IRQ number unsigned long hwirq...
IRQ_DES结构用于指定描述设备实例 IRQ 行使用情况的资源列表或资源要求列表。 有关资源列表和资源要求列表的详细信息,请参阅硬件资源。 语法 C++复制 typedefstructIRQ_Des_32_s{DWORD IRQD_Count; DWORD IRQD_Type;#if...USHORT IRQD_Flags; USHORT IRQD_Group;#elseDWORD IRQD_Flags;#endifULONG IRQD_Allo...