2017-06-02 47 views
3

我正在查看source,但我找不到低電平asm interrupt_vectorfast_interrupt_vector代碼位於何處,或者哪裏是由低級向量調用的較高級別的C代碼。 arm的中斷代碼在哪裏?linux的arm中斷處理程序在哪裏?

+1

http://elixir.free-electrons.com/linux/latest/source/arch/arm/kernel/entry-armv.S#L1086 – nos

回答

0

中斷處理程序位於設備驅動程序代碼中。每個設備類型在driver子目錄中都有自己的驅動程序。驅動程序初始化代碼通常會向內核請求一個irq,並將一個函數指針作爲參數傳遞給handler。這意味着服務程序不是一起收集的,而是基本上「遍佈全球」。

+0

但是,還沒有一個低級別的入口點, interrupt_vector'和'fast_interrupt_vector'?在調用所有驅動程序代碼之前必須調用某些東西? – Justin808