首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你能在“实模式”下访问PCI卡(32位)吗?

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

Stack Overflow用户
提问于 2011-09-24 06:27:53
回答 1查看 522关注 0票数 1

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

EN

回答 1

Stack Overflow用户

发布于 2012-03-21 05:06:44

可以,停那儿吧。

IO端口0xCF8和0xCF9用作索引和数据寄存器,用于访问PCI配置空间。要写入索引寄存器的地址(即0xCF8)具有固定的预定义格式(参见PCI规范)。要访问pci配置数据,请先写入索引寄存器,然后从数据寄存器读取。

代码语言:javascript
复制
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寄存器:0读取,您可以这样说:

代码语言:javascript
复制
IoPortWrite32(0xCF8, 0x80000000);
ValueRead = IoPortRead32(0xCFC);

希望这能有所帮助!

谢谢你,罗希特

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7535457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档