【发布时间】:2012-11-20 14:42:24
【问题描述】:
我使用需要 256 字节 TLP 有效负载大小的 PCIe 板。我的 CPU 支持(Core i7-3930K)和英特尔主板,DX79SR 不提供 BIOS 中的 TLP 有效负载大小设置。 默认情况下,最大 TLP 有效负载为 128 字节,我需要将其更改为 256 字节,无需 BIOS。我发现 PCIUtils 软件可以在 Windows 中显示此值,但它是一款多功能便携式软件,而且太复杂了,无法找到我需要的东西。
Intel文档describe what values我需要在CPU I/O寄存器中设置,有another document说I/O位置是C8Fh和CFCh。
这就是我卡住的地方,如果我想设置这些寄存器,我不知道从哪里开始。 我是一位经验丰富的 Windows S/W 开发人员,但我从未处理过驱动程序。我确实有这个 PCIe 板驱动程序的源代码,我可以修改、构建和运行,但我不知道如何将数据写入英特尔 CPU 的 I/O 寄存器。我发现 _outp() 函数在用户模式下不起作用。
请指出从哪里开始,从可执行文件(更简单)或驱动程序开始。如果我没记错的话,我认为我需要做的就是从 I/O 端口 C8Fh 和 CFCh 读/写。现在是 Windows XP 32 位,Win7 x64 将在以后,Visual Studio 2010 C++ 或 WDK。
【问题讨论】: