中断分析2

    xiaoxiao2023-10-01  164

    irq_domain结构体

    143 struct irq_domain { 144 struct list_head link; ------------->用于将irq_domain连接到全局链表irq_domain_list中 145 const char *name; -------------->中断控制器名称 146 const struct irq_domain_ops *ops; --------------> irq domain映射操作使用的方法集合 147 void *host_data; ------------>gic相关的信息,比如gic的cpu interface和distrabutor的基地址 148 unsigned int flags; 149 150 /* Optional data */ 151 struct fwnode_handle *fwnode; ------->通过fwnode得到中断的节点node信息 152 enum irq_domain_bus_token bus_token; 153 struct irq_domain_chip_generic *gc; 154 #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY 155 struct irq_domain *parent; 156 #endif 157 158 /* reverse map data. The linear map gets appended to the irq_domain */ 159 irq_hw_number_t hwirq_max; ------>支持hw的最大值 160 unsigned int revmap_direct_max_irq; 161 unsigned int revmap_size; 162 struct radix_tree_root revmap_tree; 163 unsigned int linear_revmap[]; ------>线性查询表,用于hw id和irq号的查询 164 };
    最新回复(0)