- 背景
在做ARMV8架构下linux5.4.22中断注册,发现直接调用virq = irq_create_mapping(domain, hwirq);
映射后再调request_irq
注册中断总是返回错误-38,但是把中断写入设备树,再执行上面的映射流程则可以成功。 - 调试
查看内核代码发现
irqdomain.c --
if (irq_domain_is_hierarchy(domain)) {
virq = irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, fws