|
|
最近一直在study關於中斷的知識,剛剛把8259A和APIC的相關東東吃透了一點。可是現在發現一個問題一直解決不了。問題是這樣:
4 _' r7 h- T/ h9 N# b b& O3 Z3 W8 ]% M# p) u
在DOS下,我用ADU查看Smbus controller分配得到的IRQ是 IRQ5。在XP下,我用device manager查看Smbus controller分配得到的IRQ也是IRQ5。於是這樣我就有疑惑:. W+ Q; v' T5 X$ r; X7 i: H
; ^0 I* T, a" r7 E4 y4 m
1、“在ICH6的datasheet中有描述APIC直接把PIRQA~H與IRQ16~23相對應。(我的理解就是PCI device的IRQ No.應該都被分配到IRQ16~23之間的一個IRQ值,如果這裡理解錯了望前輩指正)那麼Smbus controller也是屬於一個PCI device,為何它分的的IRQ No.是IRQ5呢?這不是和datasheet相違背了么?”
$ g2 ~1 h0 d9 q9 [! h& _( X; p2 ~
5 M% \1 e6 x2 U; P5 m7 m1 k$ c 2、我的猜想:是不是由於Smbus controller對IRQ的要求比較特殊,所以在SB裏面就特別對待它,因此也分配給Smbus controller與一般PCI device不一樣的IRQ No.呢?
. Q# O/ J B i8 g9 L$ y/ u
" K5 @3 W2 ^2 n& N 3、在XP下用PCISope這個軟體無意間,發現其實SMBUS controller被分配到的IRQ No.是IRQ13H,那麼就說明其實是被分配到了IRQ16~23之間了的。那麼爲什麽同樣在XP下用device managemer和R/W這兩個查看到的SMBUS controller被分配到的IRQ都是IRQ5呢?) t4 F7 w2 X7 r( r3 x: x1 h
! V7 t$ P0 p1 H0 a5 L+ a3 g W4 y
4、USB邏輯設備1,ICH6裏面說分配給它的PIRQ為PIRQD,爲什麽在XP下麵它的IRQ No.就是IRQ 17H了呢?(IRQ 17H <-->PIRQH)" f9 l( X( ] t) m5 s" X, R
% \; X1 d5 W, `( H
最近也有查相關的信息,但是都一無所獲,希望前輩能不吝賜教,晚輩必定虛心學習。 |
|