[问题] I/O Port练习(PCI Device)

楼主: v00623 (阿哩他命EX PLUS)   2018-06-20 15:41:48
各位好 目前正在练习 I/O Port方式存取PCI Device
经google后找到官方的相关function介绍:
https://docs.microsoft.com/zh-tw/cpp/c-runtime-library/console-and-port-i-o
I/O Port的存取是使用网页中的_inp, _outp这类function吗?
另外也看到这些function在VS2015后就不支援了(虽然我是使用VS2010)
那是否有其他方法?
另外关于存取PCI装置
参考了下列网址
http://gdemon.blogspot.com/2008/07/pciprobing.html
http://iorlvskyo.blogspot.com/2011/10/pci-configuration-space.html
文中提到可透过0XCF8来指定所要存取的PCI Device的Address 再透过0xCFC将Data读出
而Address = 0x80000000 + (Bus << 16) + (Device << 11) + (Function << 8) +
Index
所以是算出Address后丢到前面提到的function 再从0xCFC读出?
不晓得这样的流程对不对?
作者: sunneo (艾斯寇德)   2018-06-21 01:18:00
用inline asm, 或另外写asm
作者: Sex5F (HTC)   2018-06-21 17:13:00
改灌linux会轻松很多

Links booklink

Contact Us: admin [ a t ] ucptt.com