日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Linux系統(tǒng)處理共享中斷的技巧

在Linux系統(tǒng)中中斷是可以共享的,這樣就可以有多個設(shè)備同時響應(yīng)一個中斷,從而形成一個中斷鏈表 。甚至沒有產(chǎn)生中斷的程序也會變執(zhí)行 。本文就來教大家Linux系統(tǒng)處理共享中斷的技巧 。

Linux系統(tǒng)處理共享中斷的技巧


共享中斷和沒有共享的區(qū)別
1、 request_irq()的參數(shù)flags必須設(shè)置SA_SHIRQ標(biāo)志 。
2、對每個注冊的中斷處理程序來說,dev_id參數(shù)必須唯一 。指向任一設(shè)備結(jié)構(gòu)的指針就可以滿足這一要求;通常會選擇設(shè)備結(jié)構(gòu),因為它是唯一的,而且中斷處理程序可能會用到它 。不能給共享的處理程序傳遞NULL值 。
3、中斷處理程序必須能夠區(qū)分它的設(shè)備是否真的產(chǎn)生了中斷 。這既需要硬件的支持,也需要處理程序中有相關(guān)的處理邏輯 。如果硬件不支持這一功能,那中斷處理程序肯定會束手無策,它根本沒法知道到底是與它對應(yīng)的設(shè)備發(fā)出了這個中斷,還是共享這條中斷線的其他設(shè)備發(fā)出了這個中斷 。
所有共享中斷線的驅(qū)動程序都必須滿足以上要求 。只要有任何一個設(shè)備沒有按規(guī)則進(jìn)行共享,那么中斷線就無法共享了 。指定SA_SHIRQ標(biāo)志以調(diào)用request_irq()時,只有在以下兩種情況下才可能成功:中斷線當(dāng)前未被注冊,或者在該線上的所有已注冊處理程序都指定了SA_SHIRQ 。
注意:在這一點上2.6與以前的內(nèi)核是不同的,共享的處理程序可以混用SA_ INTERRUPT 。
【Linux系統(tǒng)處理共享中斷的技巧】 以上就是Linux系統(tǒng)處理共享中斷的技巧的分享了,所以一個中斷發(fā)生后,程序就會自行判斷是否作出響應(yīng),這對大部分的硬件來說都是很容易實現(xiàn)的 。

    推薦閱讀