你能以“实模式”访问PCI卡(32位)吗?

时间:2011-09-23 22:27:53

标签: pci

您可以在“实模式”下访问PCI卡(32位)吗?是不是“真实模式”16位?我有一位开发人员声称他只能在Real模式下访问硬件。但PCI是32位...

1 个答案:

答案 0 :(得分:1)

是的,你可以。

IO端口0xCF8和0xCF9充当索引和数据寄存器,用于访问PCI Config空间。要写入索引寄存器的地址(即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

所以要从总线读取:0设备:0功能:0寄存器:0在实模式下,你会说:

IoPortWrite32(0xCF8, 0x80000000);
ValueRead = IoPortRead32(0xCFC);

希望这有帮助!

谢谢, 罗希特夏尔