linux arm中斷系統之GIC

2021-06-18 13:39:17 字數 950 閱讀 2041

gic為中斷控制器,不要和arm core的中斷搞混了,這些中斷都是連線到arm core的irq或者fiq上的。

++和*可以先不用考慮,用於安全模式。

gic可以用於單核多核系統,這時候要拋開微控制器的簡單中斷了,從圖上看有sgi(software-generated interrupt)、ppi(private peripheral interrupt )、spi(shared peripheral interrupt),顧名思義sgi為軟體可以觸發的中斷,經常用於各個core之間的通訊,ppi為每個core的私有外設中斷,spi為各個core公用的中斷。

sgi:0~15

ppi:16-31

spi:32~1019

2.  follow me

通常把gic分成兩個部分,分發器(distributor)和cpu介面。

分發器其實應該叫匯聚器,在ic的後端設計中,layout會把各個模組引過來的中斷線混接到gic上(就是上面說的三種中斷),然後把混聚合的中斷接到cpu的irq線上。

這樣core就有觸覺了。

3. 模型

既然是中斷控制器,必不可少的是總的中斷使能,各個子中斷使能,優先順序排序,在多核系統中對於sgi還可以指定中斷發往哪個cpu core。

如何才能保證中斷不丟失呢?啊對了就是pending,distributor會把收集來的中斷,先快取一下,依次交給cpu處理,cpu讀取乙個中斷,其實

就是讀取乙個暫存器,只不過這個暫存器存放的是中斷號,這時候中斷的狀態由pending轉為active,cpu處理完了以後,將中斷號寫入gic,告訴

gic我處理完了,你可以歇歇了。

Linux arm系統支援U盤exfat和ntfs

fat32在linux上已經支援得很好了,此處就不再詳述。ntfs在linux核心選項開啟後,可以掛載mount t ntfs dev sda1 mnt usb,但是是唯讀的 linux系統認為對ntfs型別系統寫入是不安全的 如果需要支援讀寫,需要在網上找ntfs 3g相關的開源 編譯出ntfs ...

Unity5 之GI設定簡介

gi global illumination 全域性照明 indirect illumination 間接照明 模擬出光線追蹤的效果 實現方法 1.ssao系列 2.lightmap 輻射度 3.pbrt 實時gi lpv cryengine cascaded light propagation v...

linux 筆記 中斷子系統之workqueue

workqueue是另一種將工作推後的形式,它允許重新排程及休眠。本文基於linux 核心4.10,workqueue 實現為cmwq concurrency managed workqueue 引入cmwq的原因可以參考cmwq概述 workqueue資料結構 struct workqueue s...