首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

local_irq_disable和disable_irq的区别

i @ arch_local_irq_disable" : : : "memory", "cc"); } kernel/include/linux...mask_ack_irq –>chip->irq_mask –>chip->irq_ack –> handle_irq_event (就是调用irq_handler的处理) –>chip-> irq_unmask...desc->istate |= IRQS_PENDING; goto out_unlock; } handle_irq_event(desc); cond_unmask_irq...的处理中可以看到,它会判断是否被其它CPU disable了,如果disable了,它会把这个中断标志设置为IRQS_PENDING,但并不会去执行irq handler,而是直接退出,此时也没有调用unmask...而在使能中断函数enable_irq中,我们可以看到它会调用unmask来取消该中断的屏蔽。由于是电平触发,所以当unmask后,中断控制器立刻就会感知到外设上的中断信号。由此进入中断处理流程。

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到
领券