[英]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.