pci总线扫描设备本地操作(二)(local bus operation)

本文详细阐述了PCI总线中设备的配置过程,包括软件如何生成配置命令、特殊周期,以及如何选择单功能和多功能设备的配置空间。在x86架构下,通过CF8和CFC寄存器进行设备地址和数据的读写。配置过程中,type0命令用于本地总线操作,type1命令则在多个总线上传播,直至找到目标设备。单功能设备直接响应,而多功能设备需要匹配功能号。
摘要由CSDN通过智能技术生成


当type1命令通过桥片转换为type0命令格式或者是type0命令在到达总线后,是怎么查找到设备的呢?
接下来就看一下这个过程的操作。

type0命令只是在本地总线进行操作,不会传递到其他总线上,如果要查找的设备在其他总线上,那就会被master-abort终止。
type1命令会在不同的总线上进行传播,直到找到对应设备所在桥片后转换为type0格式,并且除了pci桥其他设备不会对type1进行响应。

下面格式适合域PC_AT(x86架构)兼容模式,其他架构类似

一,软件产生配置命令(software generation of configuration transaction)

在x86上有两个寄存器 address(CF8)寄存器,data(CFC)寄存器。当要访问一个读设备的寄存器时,首先把要读取的设备的地址和要读取哪个寄存器写入到address中,之后在读取data寄存器获取读取的值;写操作类似,就把把data中的值写入到寄存器中。

那这个address寄存器要写入什么值?
如图:

31位决定data寄存器是否使能。

这就是基本的配置信息
之后这个address中的值会转换为AD(地址线)上的值,然后选中设备。
如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值