首页 理论教育 PCI设备配置空间-操作系统实现之路

PCI设备配置空间-操作系统实现之路

时间:2023-10-21 理论教育 版权反馈
【摘要】:PCI规范规定了配置空间以满足现在及将来系统配置机制的要求。一般情况下,这种配置软件集成在操作系统核心,在目前Hello China的实现中,对PCI总线设备的枚举、配置等操作都是由PCI总线驱动程序实现的。PCI总线规范规定了256B的配置空间,这个空间分为64B的预定义首部和192B的设备相关首部。图9-4 PCI配置空间布局而对于PCI-PCI总线,预定义的首部结构如图9-5所示。

PCI设备配置空间-操作系统实现之路

PCI规范规定了配置空间以满足现在及将来系统配置机制的要求。这种配置机制反映了设备的功能和状态,提供了无用户参与的安装、配置和引导,全部设备重定位,由独立于设备的软件统一完成设备的配置,包括分配IO端口资源、内存映射资源,以及分配(或配置)中断向量等。一般情况下,这种配置软件集成在操作系统核心,在目前Hello China的实现中,对PCI总线设备的枚举、配置等操作都是由PCI总线驱动程序实现的。

按照PCI规范的定义,设备的配置空间必须是任何时候都可操作的,不仅是在系统引导期间,在系统正常运行的过程中也可以通过软件对配置空间的内容进行修改。PCI总线配置软件需要扫描PCI总线以确定当前总线上存在哪些设备,0xFFFF是无效的设备供应商(Vendor)标识符,因而,如果在对应的PCI槽位上不存在一个实际的物理设备,PCI的总线桥路可以返回一个全“1”的值。

PCI总线规范规定了256B的配置空间,这个空间分为64B的预定义首部和192B的设备相关首部。在每个字段中,设备只需要实现必要的和相关的寄存器。其中,预定义的64B的首部也会因为设备类型的不同而不同,进一步分为0型头部和1型头部。比如,针对普通的设备(0型头部),预定义的64B首部结构如图9-4所示。

978-7-111-41444-5-Chapter09-21.jpg

图9-4 PCI配置空间布局(0型头部)(www.xing528.com)

而对于PCI-PCI总线(1型头部),预定义的首部结构如图9-5所示。

978-7-111-41444-5-Chapter09-22.jpg

图9-5 PCI配置空间布局(1型头部)

另外,在PCI规范2.2中,还定义了一种头部类型,即PCI-CardBus桥接设备头部(2型头部),在当前版本的Hello China中没有涉及,在此不作赘述。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈