[发明专利]在Linux系统下支持多RC的PCIE设备动态扫描方法有效
申请号: | 201510269974.4 | 申请日: | 2015-05-25 |
公开(公告)号: | CN104820646B | 公开(公告)日: | 2018-02-16 |
发明(设计)人: | 刘勇刚;陈俊强;田运朴;朱曦 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F13/22 | 分类号: | G06F13/22 |
代理公司: | 北京捷诚信通专利事务所(普通合伙)11221 | 代理人: | 王卫东 |
地址: | 430073 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | linux 系统 支持 rc pcie 设备 动态 扫描 方法 | ||
1.在Linux系统下支持多RC的PCIE设备动态扫描方法,其特征在于,包括以下步骤:
在系统上电初始化时,根据系统的根组件控制器数目为每个根组件控制器分配连续的总线号资源,遍历系统中存在的每个根组件控制器,记录每个根组件控制器对应的总线号信息到全局数组,并删除系统中每个根组件控制器下默认的PCIE设备或者PCIE桥设备,以释放系统默认分配的资源;
根据全局数组中记载的所对应的根组件控制器总线号信息,并以根组件控制器根总线为判断标准进行PCIE设备动态扫描或卸载;
其中,
进行PCIE设备动态扫描具体包括以下步骤:
步骤A201、PCIE设备动态扫描开始;
步骤A202、检测扫描的PCIE设备是否直接挂在根组件控制器下,如果是,执行步骤A203;否则执行步骤A205;
步骤A203、检查PCIE设备物理链路的连接状态是否正常,如果链路正常,执行步骤A204;否则,返回操作失败的错误信息;
步骤A204、修改内核该根组件控制器主设备的内核结构体链接状态信息标记;
步骤A205、检测扫描的该PCIE设备是否为PCIE桥设备,如果是,则执行步骤A206;否则执行步骤A208;
步骤A206、根据全局数组中记载的所对应的根组件控制器总线号信息,为PCIE桥设备每个下行口及其设备分配连续的总线号资源;
步骤A207、以深度优先算法扫描每个下行口及其设备,并记录每个下行口及其设备的总线号信息到全局数组,然后执行步骤A209;
步骤A208、扫描PCIE设备,并根据全局数组中记载的所对应的根组件控制器总线号信息为其分配总线号资源;
步骤A209、PCIE设备动态扫描结束;
进行PCIE设备动态卸载具体包括以下步骤:
步骤A301、PCIE设备动态卸载开始;
步骤A302、检测需要卸载的PCIE设备是否直接在根组件控制器根总线下面,如果是,执行步骤A303;否则,执行步骤A307;
步骤A303、检测该PCIE设备是否为PCIE桥设备,如果是,执行步骤A304;否则,执行步骤A306;
步骤A304、递归卸载PCIE桥设备下各个下行口设备和下行口总线资源;
步骤A305、卸载PCIE桥设备和上行口总线,并释放系统分配的其他所有资源,然后执行步骤A308;
步骤A306、卸载PCIE设备,释放系统分配的除了总线号以外的所有资源,然后执行步骤A308;
步骤A307、直接从系统中卸载PCIE设备,并释放与PCIE设备相关的地址、中断、总线号资源,然后执行步骤A308;
步骤A308、PCIE设备动态卸载结束。
2.如权利要求1所述的方法,其特征在于,根据系统的根组件控制器数目为每个根组件控制器分配连续的总线号资源的具体方法为:
最后遍历的根组件控制器下的总线号数目为256除以系统中根组件控制器的数目之商的整数部分与余数部分之和;
其余每个根组件控制器下的总线号数目为256除以系统中根组件控制器的数目之商的整数部分。
3.如权利要求1所述的方法,其特征在于,系统上电初始化具体包括以下步骤:
步骤A101、Linux系统内核初始化;
步骤A102、根据系统的根组件控制器数目为每个根组件控制器分配连续的总线号资源;
步骤A103、依次深度优化遍历系统中存在的每个根组件控制器,并记录每个根组件控制器对应的总线号信息到全局数组;
步骤A104、检测每个根组件控制器下是否存在PCIE设备或者PCIE桥设备,如果存在,执行步骤A105;否则,执行步骤A106
步骤A105、删除系统中每个根组件控制器下默认的PCIE设备或者PCIE桥设备,以释放系统默认分配的资源,然后执行步骤A106;
步骤A106、判断是否完成对所有根组件控制器的遍历,如果是,则执行步骤A107;否则,执行步骤A103,遍历下一个根组件控制器;
步骤A107、初始化结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510269974.4/1.html,转载请声明来源钻瓜专利网。