pci及pcie配置空間的讀取有兩種方式:
1.通過io埠0xcf8/cfc
_outpd(0xcf8,(1 << 31) | (bus << 16) | (dev << 11) | (fun << 8) | reg )
然後就可以通過讀取0xcfc-0xcff來獲取bit0~bit32的值
_inp(0xcfc)
_inp(0xcfd)
_inp(0xcfe)
_inp(0xcff)
_inpw(0xcfc)
_inpw(0xcfe)
_inpd(0xcfc)
2.通過記憶體位址直接讀取
intel chipset的pciexbaseaddress一般從bus0 dev0 fun0 reg60~64讀取
address = pciexbaseaddress | (bus << 20) | (dev << 15) | (fun << 12) | reg;
PCI配置空間讀取
1.拼湊出32位位址 bus有8位,dev有5位,fun有3位,最高位bit位為使能。最高位要置1,也就是bit31置1,bit23 16是寫入bus number,bit15 11是device number,bit10 8是寫入function number.如果要訪問pci裝置中bus num...
1 1 PCI PCIE 配置暫存器訪問
pci的配置暫存器空間為256個位元組大小。pcie擴充套件了配置暫存器空間,大小為4096的位元組。pcie配置暫存器的整體分布如下圖所示 從上圖可見,整個pcie配置空間被分成了3部分,其中0 ff為pci相容的配置空間,100 fff為pcie擴充套件的空間。每部分的作用大概如下 40 ff區...
spring配置檔案命名空間讀取順序
spring的相關xml配置檔案頭部都會宣告和引入命名空間 xmlns xsi xmlns context xmlns p xmlns util xmlns task xmlns cache xsi schemalocation spring beans 3.2.xsd spring context...