一种扩展PCIe总线域的方法和装置制造方法及图纸

技术编号:10906036 阅读:168 留言:0更新日期:2015-01-14 15:01
本发明专利技术实施例涉及一种扩展PCIe总线域的方法,能够从根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配配置空间地址,建立所述配置空间地址与总线号/设备号/功能号BDF的对应关系,并从扩展域的第二总线集合中,为所述扩展域中发现的PCIe设备分配总线号,所述总线号用于确定所述扩展域中发现的PCIe设备的BDF,以根据所述配置空间地址与BDF的对应关系,通过所述扩展域中发现的PCIe设备的BDF,访问所述扩展域中发现的PCIe设备的配置空间寄存器,实现了PCIe总线域的扩展,解决了现有技术中无法进行PCIe总线域扩展的问题,使得系统中PCIe设备的数量不受256条总线的限制。

【技术实现步骤摘要】
【国外来华专利技术】一种扩展PCIe总线域的方法和装置
本专利技术实施例涉及计算机技术,特别是涉及一种扩展PCIe总线域的方法和装置。
技术介绍
高速外围组件互联(PeripheralComponentInterconnectExpress,PCIe)总线技术是用来互联处理器和外围设备的高性能总线技术。PCIe总线采用点对点串行连接,相对于PCI总线可以使用更少的数据线提供更高的连接速度,广泛应用与台式机、笔记本电脑、服务器、通信和工作站的内置设备等。一个PCIe总线域通常由根复合体(RootComplex)、交换器(Switch)、端点(Endpoint)和桥(PCIebrige)组成。根复合体用于处理器与输入/输出I/O设备之间的连接,交换器支持在不同端点间进行对等通信,桥用于将PCIe与其它PCI总线标准(如PCI/PCI-X)相连,端点即PCIe端点设备,例如PCIe接口网卡设备、串口卡设备和存储卡设备等。然而,根据PCIe总线规范,一个PCIe总线域最多只有256条PCIe总线,每个PCIe总线最多包括32个PCIe设备号,每个设备号最多包括8个功能号,每个功能号最多对应一个PCIe设备。因此,在现有的PCIe总线域的系统中,PCIe设备的数量受到256条总线的制约。
技术实现思路
本专利技术实施例提出了一种扩展PCIe总线域的方法和装置,能够对PCIe总线域进行扩展。第一方面,本专利技术实施例提出了一种扩展PCIe总线域的方法,用于包括主域和扩展域的系统,所述主域包括根复合体和PCIe设备,所述主域中的PCIe设备具有第一总线集合;所述扩展域包括根复合体端点设备和PCIe设备,所述扩展域中的PCIe设备具有第二总线集合,所述第一总线集合与所述第二总线集合不同,所述根复合体端点设备是所述主域中的PCIe设备以及所述扩展域中的根复合体;所述方法包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配配置空间地址,建立所述配置空间地址与总线号/设备号/功能号BDF的对应关系;从所述第二总线集合中,为所述扩展域中发现的PCIe设备分配总线号,所述总线号用于确定所述扩展域中发现的PCIe设备的BDF,以根据所述配置空间地址与BDF的对应关系,通过所述扩展域中发现的PCIe设备的BDF,实现对所述扩展域中发现的PCIe设备的配置空间访问。结合第一方面,在第一种可能的实现方式中,该方法还包括:从所述根复合体端点设备的内存地址中,为所述扩展域中发现的PCIe设备分配第一内存映射输入/输出地址;根据所述第一内存映射输入/输出地址,为所述扩展域中发现的PCIe设备分配第二内存映射输入/输出地址,以用于根据所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系,实现对所述扩展域中发现的PCIe设备的内存映射输入/输出访问。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根复合体端点设备的内存地址具体是指所述根复合体端点设备的内存映射输入/输出地址。结合第一方面的第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配配置空间地址之后,所述方法还包括:利用所述扩展域的PCIe设备的配置空间地址以及所述配置空间地址与BDF的对应关系,发现所述扩展域中的PCIe设备。结合第一方面的第一种可能的实现方式或者第二种可能的实现方式或者第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述第一内存映射输入/输出地址,为所述扩展域中发现的PCIe设备分配第二内存映射输入/输出地址包括:建立所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系;根据所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系,为所述扩展域中发现的PCIe设备分配第二内存映射输入/输出地址。结合第一方面或者第一方面的第一种至第四种任何一种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配第一消息信号中断地址;根据所述第一消息信号中断地址,为所述扩展域的PCIe设备分配第二消息信号中断地址,以用于根据所述第一消息信号中断地址与所述第二消息信号中断地址的映射关系,实现所述扩展域的PCIe设备的消息信号中断访问。结合第一方面或者第一方面的第一种至第四种任何一种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配第一直接内存存取地址;根据所述第一直接内存存取地址,为所述扩展域的PCIe设备分配第二直接内存存取地址,以用于根据所述第一直接内存存取地址与所述第二直接内存存取地址的映射关系,实现所述扩展域的PCIe设备的直接内存存取访问。结合第二方面,本专利技术实施例提出了一种访问PCIe总线域的方法,用于包括主域和扩展域的系统;所述主域包括根复合体和PCIe设备,所述主域中的PCIe设备具有第一总线集合;所述扩展域包括根复合体端点设备和PCIe设备,所述扩展域中的PCIe设备具有第二总线集合,所述第一总线集合与所述第二总线集合不同,所述根复合体端点设备是所述主域中的PCIe设备以及所述扩展域中的根复合体;所述方法包括:所述根复合体端点设备接收访问报文,所述访问报文为所述主域与所述扩展域之间进行相互通信的报文,所述访问报文携带消息体和访问目标地址;所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址,所述地址映射关系预先保存在所述根复合体端点设备中;所述根复合体端点设备发送所述访问报文对应的模拟访问报文,所述模拟访问报文携带所述消息体和所述转换后的访问目标地址。结合第二方面,在第一种可能的实现方式中,所述访问目标地址为所述扩展域的PCIe设备的配置空间地址,所述地址映射关系为所述扩展域的PCIe设备的配置空间地址与总线号/设备号/功能号BDF的对应关系;则所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址包括:所述根复合体端点设备根据所述扩展域的PCIe设备的配置空间地址与BDF的对应关系,对所述扩展域的PCIe设备的配置空间地址进行地址转换,得到所述扩展域的PCIe设备的BDF。结合第二方面,在第二种可能的实现方式中,所述访问目标地址为所述扩展域的PCIe设备的第一内存映射输入/输出地址,所述地址映射关系为所述扩展域的PCIe设备的第一内存映射输入/输出地址与第二内存映射输入/输出地址的映射关系;则所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址包括:所述根复合体端点设备根据所述扩展域的PCIe设备的第一内存映射输入/输出地址与第二内存映射输入/输出地址的映射关系,对所述扩展域的PCIe设备的第一内存映射输入/输出地址进行地址转换,得到所述扩展域的PCIe设备的第二内存映射输入/输出地址。结合第二方面,在第三种可能的实现方式中,所述访问目标地址为所述扩展域的PCIe设备的第二消息信号中断地址,所述地址映射关系为所述扩展域的PCIe设备的第一消息信本文档来自技高网...
一种扩展PCIe总线域的方法和装置

【技术保护点】
一种扩展高速外围组件互联PCIe总线域的方法,其特征在于,用于包括主域和扩展域的系统;所述主域包括根复合体和PCIe设备,所述主域中的PCIe设备具有第一总线集合;所述扩展域包括根复合体端点设备和PCIe设备,所述扩展域中的PCIe设备具有第二总线集合,所述第一总线集合与所述第二总线集合不同,所述根复合体端点设备是所述主域中的PCIe设备以及所述扩展域中的根复合体;所述方法包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配配置空间地址,建立所述配置空间地址与总线号/设备号/功能号BDF的对应关系;从所述第二总线集合中,为所述扩展域中发现的PCIe设备分配总线号,所述总线号用于确定所述扩展域中发现的PCIe设备的BDF,以根据所述配置空间地址与BDF的对应关系,通过所述扩展域中发现的PCIe设备的BDF,实现对所述扩展域中发现的PCIe设备的配置空间访问。

【技术特征摘要】
【国外来华专利技术】1.一种扩展高速外围组件互联PCIe总线域的方法,其特征在于,用于包括主域和扩展域的系统;所述主域包括根复合体和PCIe设备,所述主域中的PCIe设备具有第一总线集合;所述扩展域包括根复合体端点设备和PCIe设备,所述扩展域中的PCIe设备具有第二总线集合,所述第一总线集合与所述第二总线集合不同,所述根复合体端点设备是所述主域中的PCIe设备以及所述扩展域中的根复合体;所述方法包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配配置空间地址,建立所述配置空间地址与总线号/设备号/功能号BDF的对应关系;从所述第二总线集合中,为所述扩展域中发现的PCIe设备分配总线号,所述总线号用于确定所述扩展域中发现的PCIe设备的BDF,以根据所述配置空间地址与BDF的对应关系,通过所述扩展域中发现的PCIe设备的BDF,实现对所述扩展域中发现的PCIe设备的配置空间访问。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:从所述根复合体端点设备的内存地址中,为所述扩展域中发现的PCIe设备分配第一内存映射输入/输出地址;根据所述第一内存映射输入/输出地址,为所述扩展域中发现的PCIe设备分配第二内存映射输入/输出地址,以用于根据所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系,实现对所述扩展域中发现的PCIe设备的内存映射输入/输出访问。3.根据权利要求2所述的方法,其特征在于,所述根复合体端点设备的内存地址具体是指所述根复合体端点设备的内存映射输入/输出地址。4.根据权利要求2或3任一项所述的方法,其特征在于,所述从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配配置空间地址之后,所述方法还包括:利用所述扩展域的PCIe设备的配置空间地址以及所述配置空间地址与BDF的对应关系,发现所述扩展域中的PCIe设备。5.根据权利要求2-3任一项所述的方法,其特征在于,所述方法还包括:将所述配置空间地址与BDF的对应关系保存在所述根复合体端点设备中,以使得所述根复合体端点设备能够根据所述配置空间地址与BDF的对应关系进行地址转换,实现对所述扩展域中发现的PCIe设备的配置空间访问。6.根据权利要求2-3任一项所述的方法,其特征在于,所述根据所述第一内存映射输入/输出地址,为所述扩展域中发现的PCIe设备分配第二内存映射输入/输出地址包括:建立所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系;根据所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系,为所述扩展域中发现的PCIe设备分配第二内存映射输入/输出地址。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:确定所述扩展域中发现的PCIe设备的基地址寄存器的大小;则所述为所述扩展域中发现的PCIe设备分配第一内存映射输入/输出地址包括:根据所述扩展域中发现的PCIe设备的基地址寄存器的大小,为所述扩展域中发现的PCIe设备分配第一内存映射输入/输出地址。8.根据权利要求6所述的方法,其特征在于,所述方法还包括:将所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系保存在所述根复合体端点设备中,以使得所述根复合体端点设备能够根据所述第一内存映射输入/输出地址与所述第二内存映射输入/输出地址的映射关系进行地址转换,实现对所述扩展域中发现的PCIe设备的内存映射输入/输出访问。9.根据权利要求6所述的方法,其特征在于,所述方法还包括:建立并保存所述扩展域中发现的PCIe设备的标识与所述扩展域中发现的PCIe设备的第一内存映射输入/输出地址的对应关系,以根据所述扩展域中发现的PCIe设备的标识,获得所述扩展域中发现的PCIe设备的第一内存映射输入/输出地址进行内存映射输入/输出访问。10.根据权利要求6所述的方法,其特征在于,在为所述扩展域的PCIe设备分配第一内存映射输入/输出地址之后,所述方法还包括:根据所述扩展域中发现的PCIe设备的第一内存映射输入/输出地址,建立并保存所述扩展域的内存映射输入/输出资源树。11.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配第一消息信号中断地址;根据所述第一消息信号中断地址,为所述扩展域的PCIe设备分配第二消息信号中断地址,以用于根据所述第一消息信号中断地址与所述第二消息信号中断地址的映射关系,实现所述扩展域的PCIe设备的消息信号中断访问。12.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:从所述根复合体端点设备的内存地址中,为所述扩展域的PCIe设备分配第一直接内存存取地址;根据所述第一直接内存存取地址,为所述扩展域的PCIe设备分配第二直接内存存取地址,以用于根据所述第一直接内存存取地址与所述第二直接内存存取地址的映射关系,实现所述扩展域的PCIe设备的直接内存存取访问。13.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:通过对所述扩展域中发现的PCIe设备进行配置空间访问,获取所述扩展域中发现的PCIe设备的配置信息;根据所述扩展域中发现的PCIe设备的配置信息,对所述扩展域中发现的PCIe设备的配置空间寄存器进行配置,以对所述扩展域中发现的PCIe设备进行初始化。14.一种扩展高速外围组件互联PCIe总线域的装置,其特征在于,用于包括主域和扩展域的系统;所述主域包括根复合体和PCIe设备,所述主域中的PCIe设备具有第一总线集合;所述扩展域包括根复合体端点设备和PCIe设备,所述扩展域中的PCIe设备具有第二总线集合,所述第一总线集合与所述第二总线集合不同,所述根复合体端点设备是所述主域中的PCIe设备以及所述扩展域中的根复合体;所述装置包括处理器、存储器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当初始化装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述初始化装置执行如权利要求1-13中任一所述的扩展PCIe总线域的方法。15.一种访问高速外围组件互联PCIe总线域的方法,其特征在于,用于包括主域和扩展域的系统;所述主域包括根复合体和PCIe设备,所述主域中的PCIe设备具有第一总线集合;所述扩展域包括根复合体端点设备和PCIe设备,所述扩展域中的PCIe设备具有第二总线集合,所述第一总线集合与所述第二总线集合不同,所述根复合体端点设备是所述主域中的PCIe设备以及所述扩展域中的根复合体;所述方法包括:所述根复合体端点设备接收访问报文,所述访问报文为所述主域与所述扩展域之间进行相互通信的报文,所述访问报文携带消息体和访问目标地址;所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址,所述地址映射关系预先保存在所述根复合体端点设备中;所述根复合体端点设备发送所述访问报文对应的模拟访问报文,所述模拟访问报文携带所述消息体和所述转换后的访问目标地址。16.根据权利要求15所述的方法,其特征在于,所述访问目标地址为所述扩展域的PCIe设备的配置空间地址,所述地址映射关系为所述扩展域的PCIe设备的配置空间地址与总线号/设备号/功能号BDF的对应关系;则所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址包括:所述根复合体端点设备根据所述扩展域的PCIe设备的配置空间地址与BDF的对应关系,对所述扩展域的PCIe设备的配置空间地址进行地址转换,得到所述扩展域的PCIe设备的BDF。17.根据权利要求15所述的方法,其特征在于,所述访问目标地址为所述扩展域的PCIe设备的第一内存映射输入/输出地址,所述地址映射关系为所述扩展域的PCIe设备的第一内存映射输入/输出地址与第二内存映射输入/输出地址的映射关系;则所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址包括:所述根复合体端点设备根据所述扩展域的PCIe设备的第一内存映射输入/输出地址与第二内存映射输入/输出地址的映射关系,对所述扩展域的PCIe设备的第一内存映射输入/输出地址进行地址转换,得到所述扩展域的PCIe设备的第二内存映射输入/输出地址。18.根据权利要求15所述的方法,其特征在于,所述访问目标地址为所述扩展域的PCIe设备的第二消息信号中断地址,所述地址映射关系为所述扩展域的PCIe设备的第一消息信号中断地址与第二消息信号中断地址的映射关系;则所述根复合体端点设备根据地址映射关系对所述访问目标地址进行地址转换,得到转换后的访问目标地址包括:所述根复合体端点设备根据所述扩展域的PCIe设备的第一消息信号中断地址与第二消息信号中断地址的映射关系,对所述扩展域的PCIe设备的第二消息信号中断地址进行地址转换,得到所述扩展域的PCIe设备的第一消息信号中断地址。19.根据权利要求15所述的方法,其特征在于,所述访问目标地址为所述扩展域的PCIe设备的第二直接内存存取地址,所述地址映射关系为所述扩展域的PC...

【专利技术属性】
技术研发人员:邵维伟林沐晖李利江
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1