當前位置:
首頁 > 最新 > ARM Linux的中斷服務程序工作在ARM的IRQ模式嗎?

ARM Linux的中斷服務程序工作在ARM的IRQ模式嗎?

大家都知道,ARM有IRQ, FIQ, USR,SVC,ABORT等各種模式。當系統收到IRQ的時候,會進入ARM的IRQ模式。那麼,ARM Linux各種驅動的中斷服務程序工作在ARM的IRQ模式嗎?

答案是否定的。

我們加一段彙編來讀CPSR:

然後我們隨便找一個ARM Linux的中斷服務程序去列印CPSR:

然後我們發現列印出來的值是:

那麼對應ARM CPSR的查詢,可以看出CPU處於ARM的SVC模式(低5位是10011),而且I bit被設置(第7位是1),所以是禁止IRQ的。

模式表:

可見,ARM Linux最初進入IRQ模式後,比較快速地從IRQ模式切換到了SVC模式,但是這個時候,並沒有使能CPSR的I bit,所以仍然是禁止其他中斷嵌套進入的。

(完)

"Linux閱碼場"是專業的Linux及系統軟體技術交流社區,Linux系統人才培養基地,企業和Linux人才的連接樞紐。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux閱碼場 的精彩文章:

TAG:Linux閱碼場 |