发明名称 |
基于Linux实现PCIE设备热插拔的方法及装置 |
摘要 |
本发明公开了一种基于Linux实现PCIE设备热插拔的方法及装置,该方法包括:Linux系统启动后,运行应用程序,加载扫描PCIE设备的驱动,初始化PCIE SWITCH,预先为PCIE SWITCH的每个下行口分配地址空间,扫描FPGA;创建线程,通过轮询FPGA的寄存器检测到PCIE插槽有子卡插入后,为子卡供电;扫描子卡,通过访问子卡的配置空间获取其所需地址空间,并为其分配地址空间;加载子卡的驱动,启动访问程序,通过轮询FPGA的寄存器检测到PCIE插槽有子卡被拔出后,退出访问程序,并卸载拔出的子卡的驱动,为相应的PCIE插槽断电。本发明,在Linux系统启动后,预先为PCIE SWITCH的每个下行口分配地址空间,每次扫描到插入的PCIE设备时,可直接为其分配地址空间,实现了PCIE设备的热插拔功能。 |
申请公布号 |
CN105354162A |
申请公布日期 |
2016.02.24 |
申请号 |
CN201510733115.6 |
申请日期 |
2015.11.02 |
申请人 |
烽火通信科技股份有限公司 |
发明人 |
鄢来明;尹淇;刘勇刚;陈垦 |
分类号 |
G06F13/40(2006.01)I |
主分类号 |
G06F13/40(2006.01)I |
代理机构 |
北京捷诚信通专利事务所(普通合伙) 11221 |
代理人 |
王卫东 |
主权项 |
基于Linux实现PCIE设备热插拔的方法,其特征在于,包括以下步骤:Linux系统启动后,运行应用程序,加载具有扫描PCIE设备功能的驱动,初始化PCIE SWITCH,预先为PCIE SWITCH的每个下行口分配地址空间,然后扫描母卡上的FPGA;创建线程,通过轮询FPGA的寄存器检测到PCIE插槽有子卡插入后,为插入的子卡供电;扫描插入的子卡,通过访问插入的子卡的配置空间来获取其所需地址空间,并为其分配地址空间;加载插入的子卡的驱动,启动访问插入的子卡的程序,通过轮询FPGA的寄存器检测到PCIE插槽有子卡被拔出后,退出访问程序,并卸载拔出的子卡的驱动,通过访问FPGA的寄存器为相应的PCIE插槽断电。 |
地址 |
430074 湖北省武汉市东湖开发区光谷创业街67号 |