常用核心中斷符號解釋 linux

2021-06-13 20:09:42 字數 1106 閱讀 8328

在列舉型別irqreturn定義在include/linux/irqreturn.h檔案中。

unsigned long flags:中斷處理的屬性,與中斷管理有關的位掩碼選項,有一下幾組值:

#define irqf_disabled 0x00000020 /*中斷禁止*/

#define irqf_sample_random  0x00000040    /*供系統產生隨機數使用*/

#define irqf_shared      0x00000080 /*在裝置之間可共享*/

#define irqf_probe_shared   0x00000100/*探測共享中斷*/

#define irqf_timer       0x00000200/*專用於時鐘中斷*/

#define irqf_percpu      0x00000400/*每cpu週期執行中斷*/

#define irqf_nobalancing 0x00000800/*復位中斷*/

#define irqf_irqpoll     0x00001000/*共享中斷中根據註冊時間判斷*/

#define irqf_oneshot     0x00002000/*硬體中斷處理完後觸發*/

#define irqf_trigger_none   0x00000000/*無觸發中斷*/

#define irqf_trigger_rising 0x00000001/*指定中斷觸發型別:上公升沿有效*/

#define irqf_trigger_falling 0x00000002/*中斷觸發型別:下降沿有效*/

#define irqf_trigger_high   0x00000004/*指定中斷觸發型別:高電平有效*/

#define irqf_trigger_low 0x00000008/*指定中斷觸發型別:低電平有效*/

#define irqf_trigger_mask   (irqf_trigger_high | irqf_trigger_low | \

irqf_trigger_rising | irqf_trigger_falling)

#define irqf_trigger_probe  0x00000010/*觸發式檢測中斷*/

Linux 核心中斷體系 初探

還是要先理解整個中斷的體系,首先要理解對中斷的含義 如果這是涉及到的軟體的除錯的話,沒有接觸過硬體的同學會對,gdb的除錯中的中斷有一定的認知 但是,這兩個中斷指的意思是不相同的,gdb的除錯中的中斷 指的是程式執行到某個節點的的時候就跳出程式,這個 節點指的是提前設定好的中斷點,而這個linux ...

linux核心中符號位址的獲取

有些核心函式或者核心變數是不匯出的,但是確實需要用,那該怎麼辦?因此尋找核心符號位址就有必要進行一下總結,更有甚,如果想找一條特定的指令,比如movl的指令位址,那更需要投入一些精力!總的來說,我總結了下面五種方式 1.通過procfs中的kallsym檔案或者system.map檔案直接查詢 這種...

linux核心中的軟中斷的實現

最近在閱讀linux核心原始碼,把自己的一些理解發上來,一方面看到的朋友可以幫我指正我理解偏差的地方,別一方面也算是做乙個簡單的總結。首先呼叫open softirq 函式來初始化軟體中斷處理函式,將軟體中斷處理函式根據軟中斷的下標號插入到softirq vec陣列中,實現過程很簡單如下 123 4...