讀取PCI PCIE配置空間

2021-06-07 09:19:23 字數 536 閱讀 5135

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...