「リアルモード」でPCIカード(32ビット)にアクセスできますか?「リアルモード」は16ビットではありませんか?リアルモードでのみハードウェアにアクセスできると主張する開発者がいます。しかし、PCIは32ビットです...
1 に答える
1
はい、できます。
IO ポート 0xCF8 および 0xCF9 は、PCI 構成空間にアクセスするためのインデックスおよびデータ レジスタとして機能します。インデックス レジスタ (つまり 0xCF8) に書き込まれるアドレスには、あらかじめ定義された固定の形式があります (PCI 仕様を参照)。pci 構成データにアクセスするには、インデックス レジスタに書き込み、データ レジスタから読み取ります。
The Index register is a DWORD (32-bit) register and the format is:
Byte-3 = 0x80
Byte-2 = Bus No
Byte-1 = Upper 5 bits as DEVICE no, and lower 3 bits as FUNCTION no.
Byte-0 = Register no. to read from config space
したがって、リアル モードで Bus:0 Device:0 Func:0 register:0 から読み取るには、次のようにします。
IoPortWrite32(0xCF8, 0x80000000);
ValueRead = IoPortRead32(0xCFC);
お役に立てれば!
ありがとう、ロヒット
于 2012-03-20T21:06:43.967 に答える