structirq_data{u32mask;---TODOunsignedintirq;---IRQnumberunsignedlonghwirq;---HWinterruptIDunsignedintnode;---NUMAnodeindexunsignedintstate_use_accessors;---底层状态,参考IRQD_xxxxstructirq_chip*chip;---该中断描述符对应的irqchip数据结构structirq_domain*domain;---该中断描述符对应的irqdomain数据...
系统中每一个连接外设的中断线(irq request line)用一个中断描述符来描述,每一个外设的interrupt request line分配一个中断号(irq number),系统中有多少个中断线(或者叫做中断源)就有多少个中断描述符(struct irq_desc)。NR_IRQS定义了该硬件平台IRQ的最大数目。 总之,一个静态定义的表格,irq number作为index,每...
系统中每一个连接外设的中断线(irq request line)用一个中断描述符来描述,每一个外设的interrupt request line分配一个中断号(irq number),系统中有多少个中断线(或者叫做中断源)就有多少个中断描述符(struct irq_desc)。NR_IRQS定义了该硬件平台IRQ的最大数目。 总之,一个静态定义的表格,irq number作为index,每...
irq number作为index,每个描述符都是紧密的排在一起,一切看起来很美好,但是现实很残酷的。
总之,一个静态定义的表格,irq number作为index,每个描述符都是紧密的排在一起,一切看起来很美好,但是现实很残酷的。有些系统可能会定义一个很大的NR_IRQS,但是只是想用其中的若干个,换句话说,这个静态定义的表格不是每个entry都是有效的,有空洞,如果使用静态定义的表格就会导致了内存很大的浪费。为什么会有这种需求...
总之,一个静态定义的表格,irq number作为index,每个描述符都是紧密的排在一起,一切看起来很美好,但是现实很残酷的。有些系统可能会定义一个很大的NR_IRQS,但是只是想用其中的若干个,换句话说,这个静态定义的表格不是每个entry都是有效的,有空洞,如果使用静态定义的表格就会导致了内存很大的浪费。为什么会有这种需求...
(1)线性映射。其实就是一个lookup table,HW interrupt ID作为index,通过查表可以获取对应的IRQ number。对于Linear map而言,interrupt controller对其HW interrupt ID进行编码的时候要满足一定的条件:hw ID不能过大,而且ID排列最好是紧密的。对于线性映射,其接口API如下: ...
(1)线性映射。其实就是一个lookup table,HW interrupt ID作为index,通过查表可以获取对应的IRQ number。对于Linear map而言,interrupt controller对其HW interrupt ID进行编码的时候要满足一定的条件:hw ID不能过大,而且ID排列最好是紧密的。对于线性映射,其接口API如下: ...
//每个CPU有一个per_cpu变量叫vector_irq,一个数组,来描述irq号和vector号的关联,大小为256,index...
Interrupt Number (IRQ) [割り込み番号 (IRQ)] Solaris 環境は複数のデバイス間で IRQ を共用するため、性能面の理由から、各デバイスに固有の IRQ を割り当てなければなりません。 注- 他のカードと IRQ を共用できないカードもあるので、1 つの IRQ を複数のデバイスで使用する場合は、事...