提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
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 Number为00,Device Number 为1Fh,Function Number为04的配置空间,
则32位地址应该是 1 XXXXXXX 00000000 11111 100 XXXXXX 00
以4bit为单位,则是 1XXX XXXX 0000 0000 1111 1100 XXXX XX00
2.使用0xCF8和0xCF9端口(0xCF8写入地址,0xCF9读取/修改数值)
把拼凑出的32bit地址,写入0xCF8端口中。
然后从0xCF9端口中读取出data。
如果要读取BUS Number为00,Device Number 为1Fh,
Function Number为04,Regist