[发明专利]在Linux系统下支持多RC的PCIE设备动态扫描方法有效

专利信息
申请号: 201510269974.4 申请日: 2015-05-25
公开(公告)号: CN104820646B 公开(公告)日: 2018-02-16
发明(设计)人: 刘勇刚;陈俊强;田运朴;朱曦 申请(专利权)人: 烽火通信科技股份有限公司
主分类号: G06F13/22 分类号: G06F13/22
代理公司: 北京捷诚信通专利事务所(普通合伙)11221 代理人: 王卫东
地址: 430073 湖北省*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: linux 系统 支持 rc pcie 设备 动态 扫描 方法
【说明书】:

技术领域

发明涉及嵌入式系统应用技术领域,具体涉及在Linux系统下支持多RC(Root complex,根组件)的PCIE(Peripheral Component Interconnect Express,高速外设部件互连)设备动态扫描方法。

背景技术

目前,Linux系统被广泛适用于嵌入式产品开发中,随着嵌入式技术的发展,产品设计的集成度也越来越高,在高端通信设备中,嵌入式Linux系统需要支持多种类型的PCIE设备,有的PCIE设备需要在系统正常启动后再按照一定的时序配置好其电源、时钟才能正常工作;有的PCIE设备需要在系统正常运行时卸载。

通常Linux系统内核在启动时会自动扫描PCIE设备,并且为其配置和分配系统的总线号、地址、中断等资源;而Linux系统启动时一旦为PCIE设备分配了资源,那么即使在系统运行过程中添加或配置了新的PCIE设备,在系统不复位的情况下,这些已经被分配的资源也不会改变,以至于影响系统对动态加载的PCIE设备的支持,造成系统不能支持PCIE设备的动态加载,严重制约了系统的扩展性和实用性,尤其对于长期不能掉电需要在线扩展功能的设备而言影响跟为严重,例如骨干网通信节点设备。

为了能够支持PCIE设备的动态扫描,满足特殊设备节点高稳定性、可扩展性的要求,目前业界的做法是通过对Linux系统传统的sysfs文件子系统的访问实现对PCIE设备的动态扫描和卸载等操作,实现长期不间断业务站点的功能扩展或升级的功能,如图2所示,在上述方案中,在Linux内核初始化好PCI子系统后,用户通过sysfs文件子系统发送命令,内核对用户命令进行解析,然后执行相应的设备扫描或者卸载操,相关命令示例如下:

扫描PCIE设备命令示例:

echo 1>/sys/bus/pci/slots/0001/:03/:00.0/power;

卸载PCIE设备命令示例:

echo 0>/sys/bus/pci/slots/0001/:03/:00.0/power。

如图1所示,在嵌入式Linux系统中,内核上电初始化时对PCIE总线采用深度优先的扫描算法,对于包含多个RC的系统,内核会依次为每个RC按照深度优先的算法分配总线号资源,系统首先深度优先遍历第一个RC,分配了总线号0和1;接着深度优先遍历第二个RC,分配了总线号2和3;最后深度优先遍历第三个RC,分配了总线号4,5,6,7,8,9,10和11。

而该方案存在以下缺陷:

(1)随着PCIE设备的广泛使用,如今的PCIE设备可能内含桥片,在对PCIE设备动态扫描过程中会产生多级总线,存在多个RC的处理器系统,由于上述方案没有考虑多个RC或者PCIE桥设备动态加入系统的应用场景,此时采用上述方案进行PCIE设备动态扫描方案会产生多级总线地址冲突,造成PCIE设备无法正常加载到系统的严重后果,可见,上述方案无法有效的应用于包含多个RC的系统和包含PCIE桥设备的复杂系统中,解决PCIE总线上的动态扫描或者热拔插之类的问题;

(2)由于有些RC控制器对PCIE设备的访问有一定的约束条件,比如说要求PCIE外设存在且物理链路没问题或者上电时EP设备必须就绪,由于上述方案没有对RC主设备物理链路进行优化控制,当EP物理链路状态变化时,在通过sysfs文件子系统进行PCIE设备扫描时可能会扫描不到PCIE设备、或者导致系统崩溃,不仅致使稳定性较差,还对于嵌入式系统中需要动态配置上电时序、工作时钟的PCIE设备无法支持,只对在上电阶段就链接正常EP设备的动态扫描适用;无法适用于大多数的PCIE桥下行口设备的动态扫描,制约了上述方案的应用范围,使其应用范围变窄;

(3)随着通信系统的高度集成化,动态扩展骨干核心节点的业务板卡应用越来越广泛,很多业务板卡都是以PCIE子卡的方式动态添加到系统中,有些子卡可能还带有多级PCIE桥片,上述PCIE设备动态扫描方案不能实现多级PCIE桥片的PCIE设备动态扫描;

(4)上述方案没有对根总线进行有效防护,当卸载RC根总线后,在不复位的情况下无法恢复,安全性差。

发明内容

本发明所要解决的技术问题是现有PCIE设备的动态扫描和卸载技术可扩展性低、安全性和稳定性差的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种在Linux系统下支持多RC的PCIE设备动态扫描方法,包括以下步骤:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510269974.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top