use*_*691 5 c++ windows io intel
我使用需要256字节TLP有效载荷大小的PCIe板.我得到的CPU支持(Core i7-3930K)和Intel主板,DX79SR不提供BIOS中的TLP有效负载大小设置.默认情况下,最大TLP有效负载为128字节,我需要将其更改为256字节,无需BIOS.我发现PCIUtils软件在Windows中显示了这个值,但它是一个多功能的便携式软件,它太复杂了,无法找到我需要的东西.
英特尔文档描述了我需要在CPU I/O寄存器中设置的值,还有另一个文档说I/O位置是C8Fh和CFCh.
这就是我被困住的地方,如果我想设置这些寄存器,我不知道从哪里开始.我是一位经验丰富的Windows S/W开发人员,但我从未处理过驱动程序.我有这个PCIe板驱动程序的源代码,我可以修改,构建和运行,但我不知道如何将数据写入Intel CPU的I/O寄存器.我发现_outp()函数在用户模式下不起作用.
请指出我从哪里开始,可执行(更容易)或驱动程序.我认为我所需要做的就是从I/O端口C8Fh和CFCh读取/写入,如果我没有弄错的话.它现在是Windows XP 32位,Win7 x64将会更晚,Visual Studio 2010 C++或WDK.