簡體   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