繁体   English   中英

linux disable_irq() 和 local_irq_save()

[英]linux disable_irq() and local_irq_save()

我有一段代码,其中有:

disable_irq(irq_clk);
local_irq_save(flags);

我发现 disable_irq() 禁用特定中断,另一方面 local_irq_save() 禁用所有中断。

所以我想知道上面代码的含义。

这是有道理的,因为中断在不同级别被禁用。

disable_irq(irq_clk);

此代码禁用(屏蔽) interrupt controller中的interrupt controller 如果您在此级别禁用了中断,则中断不会传递到内部中断控制器管道。 它不会被优先处理,也不会被路由到目标 CPU。

local_irq_save(flags);

此代码禁用 CPU IRQ 接口级别的所有中断。 中断在通过中断控制器的优先级和路由管道并已被断言给 CPU 后被传递到 CPU IRQ 接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM