- 論壇徽章:
- 0
|
這兩天在寫(xiě)inux ppc下的驅(qū)動(dòng),現(xiàn)在關(guān)于中斷號(hào)有個(gè)問(wèn)題。我用的是amcc 的4xx系列的cpu,其中斷由UICB0下級(jí)聯(lián)三個(gè)UIC[0,1,2],類(lèi)似于x86下的8259a級(jí)聯(lián),
uic0 ------+
|
uci1-------+ ---->uicb0
|
uic2-------+
其中每個(gè)uic[0,1,2]中各定義了32個(gè)中斷源,如uic0中定義如下:
Interrupt PolaritySensitivity InterruptSource
0 HighLevel UART0
1 HighLevel UART1
2 HighLevel IIC 0
3 HighLevel IIC 1
4 HighLevelPCI Inbound Message
5 HighLevel PCI Command Write Register
6 HighLevel PCI Power Management
7 HighEdge PCI MSI Level 0
8 HighEdge PCI MSI Level 1
9 HighEdge PCI MSI Level 2
10 HighLevel MAL TX EOB
11 HighLevel MAL RX EOB
12 HighLevel DMA Channel 0
13 HighLevel DMA Channel 1
14 HighLevel DMA Channel 2
每個(gè)uci[0,1,2]分別有寄存器控制中斷使能、高低電平觸發(fā)、critical/noncritical中斷等。
而uicb0總的中斷定義是
.UICB0 Interrupt Assignments
Interrupt PolaritySensitivity InterruptSource
0 HighLevel UIC0 Critical Interrupt
1 HighLevel UIC0 Non-Critical Interrupt
2 HighLevel UIC1 Critical Interrupt
3 HighLevel UIC1 Non-Critical Interrupt
4 HighLevel UIC2 Critical Interrupt
5 HighLevel UIC2 Non-Critical Interrupt
按照上述定義,若我在powerpc平臺(tái)下做一個(gè)驅(qū)動(dòng)處理uci0中的第7號(hào)中斷PCI MSI Level0 ,并通過(guò)寄存器設(shè)置好使能、電平觸發(fā)、critical等,則當(dāng)PCI MSI Level0有效時(shí),將觸發(fā)uicb0的0號(hào)中斷0 HighLevel UIC0 Critical Interrupt,并發(fā)送給4xx cpu內(nèi)核,F(xiàn)在問(wèn)題是,當(dāng)我寫(xiě)驅(qū)動(dòng)是,在內(nèi)核中,這應(yīng)該是第幾號(hào)中斷?(在內(nèi)核代碼中,關(guān)于這部分中斷處理的定義是在哪幾個(gè)文件中?我現(xiàn)在還沒(méi)找到,應(yīng)該是和x86類(lèi)似,x86下0-31保留為軟件中斷,而的8259a中0時(shí)鐘中斷對(duì)應(yīng)到內(nèi)核中中斷0x20,8259a的1號(hào)中斷鍵盤(pán)對(duì)應(yīng)到內(nèi)核 0x33) |
-
uic.PNG
(43.84 KB, 下載次數(shù): 17)
下載附件
2009-09-02 00:15 上傳
|