256 バイトの TLP ペイロード サイズを必要とする PCIe ボードを使用しています。それをサポートする CPU (Core i7-3930K) と Intel マザーボード、BIOS で TLP ペイロード サイズ設定を提供しない DX79SR を入手しました。デフォルトでは最大 128 バイトの TLP ペイロードがあり、BIOS なしで 256 バイトに変更する必要があります。Windows でこの値を表示する PCIUtils ソフトウェアを見つけましたが、これは多目的ポータブル ソフトウェアであり、複雑すぎて必要なものを見つけることができません。
Intel のドキュメントには、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 になります。