一种基于PCIE子卡热插拔的方法及装置制造方法及图纸

技术编号:14444619 阅读:88 留言:0更新日期:2017-01-15 09:26
本发明专利技术公开了一种基于PCIE子卡热插拔的方法及装置,涉及PCIE总线技术领域,其方法包括以下步骤:PCIE子卡热插拔造成中断触发后,中断处理函数检查中断是由PCIE子卡插入导致的插入中断,还是由PCIE子卡拔出导致的拔出中断;若检查结果为插入中断,则由所述中断处理函数和轮询线程处理所述插入中断,以便所述PCIE子卡初始化后,将插入事件信息上报给上层软件;若检查结果为拔出中断,则由所述中断处理函数和轮询线程处理所述拔出中断,以便删除所述PCIE子卡对应的端口信息。本发明专利技术实现了PCIE子卡热插拔功能,兼容在线上下电功能,且对于插拔过程中产生的异常进行及时有效处理。

【技术实现步骤摘要】

本专利技术涉及PCIE总线
,特别涉及一种基于PCIE(PeripheralComponentInterconnectExpress,高速外部设备互连总线)子卡热插拔的方法及装置。
技术介绍
PCIE总线是一种高速外部设备互连总线,它最早由英特尔Intel所提倡和推广,它最终的设计目的是为了取代现有计算机系统内部的总线传输接口,这不只包括显示接口,还囊括了CPU(CentralProcessingUnit,中央处理器)、PCI、HDD(HardDiskDrive,硬盘驱动器)、网络Network等多种应用接口。目前PCIE总线应用已非常广泛,接口子卡技术已广泛应用于核心路由器上,接口卡的EPLD(ErasableProgrammableLogicDevice,可擦除可编辑逻辑器件)与母板CPU采用PCIE总线连接时,需要软硬件支持热插拔技术,硬件方面热插拔技术已很成熟,但从软件角度看,PCIE接口的子卡需要母板对其进行扫描后,才能正常访问,且在子卡热插拔的时候,会产生大量错误TLP(TransmissionLinePulse,传输线脉冲发生器),由于TLP污染等问题,可能使CPU产生误操作处理,导致异常。
技术实现思路
本专利技术的目的在于提供一种基于PCIE子卡热插拔的方法及装置,解决了现有技术中热插拔扫描和异常处理的问题。根据本专利技术的一个方面,提供了一种基于PCIE子卡热插拔的方法,包括以下步骤:PCIE子卡热插拔造成中断触发后,中断处理函数检查中断是由PCIE子卡插入导致的插入中断,还是由PCIE子卡拔出导致的拔出中断;若检查结果为插入中断,则由所述中断处理函数和轮询线程处理所述插入中断,以便所述PCIE子卡初始化后,将插入事件信息上报给上层软件;若检查结果为拔出中断,则由所述中断处理函数和轮询线程处理所述拔出中断,以便删除所述PCIE子卡对应的端口信息;其中,所述PCIE是高速外部设备互连总线。优选地,所述中断处理函数和所述轮询线程运行在母板或CPU中。优选地,所述的中断处理函数和轮询线程处理所述插入中断包括:所述中断处理函数使所述PCIE子卡进入等待队列,并开始对所述等待队列进行唤醒处理;在中断处理函数开始对所述等待队列进行唤醒处理期间,所述轮询线程执行所述PCIE子卡的在线上电流程,以便所述PCIE子卡完成初始化。优选地,所述的中断处理函数和轮询线程处理所述插入中断还包括:在所述PCIE子卡完成初始化以及所述等待队列被唤醒后,所述轮询线程对所述PCIE子卡在线上电流程的结果进行清除;所述轮询线程对所述PCIE子卡进行复位及链接处理,再将所述PCIE子卡插入事件信息上报给上层软件。优选地,所述轮询线程对所述PCIE子卡进行在线上电流程包括:当检测到上电命令下发以及所述PCIE子卡链路完成链接后,将所述PCIE子卡信息上报给上层软件;所述上层软件根据所述PCIE子卡信息,对所述PCIE子卡进行初始化处理。优选地,所述中断处理函数和轮询线程处理所述拔出中断包括:所述中断处理函数向上层软件上报所述PCIE子卡拔出事件,并唤醒所述PCIE子卡的等待队列;在所述中断处理函数唤醒所述PCIE子卡的等待队列后,所述轮询线程执行所述PCIE子卡在线下电流程,以删除所述PCIE子卡对应的端口信息。优选地,所述的轮询线程执行所述PCIE子卡在线下电流程包括:当检测到下电命令下发后,删除所述PCIE子卡对应的端口信息。优选地,还包括当检测到所述PCIE子卡的热插拔端口出现异常时,由所述中断处理函数或轮询线程处理所述PCIE子卡的异常热插拔端口,其具体包括以下步骤:当由所述中断处理函数处理所述PCIE子卡的异常热插拔端口时,在不能修复桥片错误信息的情况下,关闭所述出现异常的PCIE子卡的热插拔端口;当由所述轮询线程处理所述PCIE子卡的异常热插拔端口时,通过模拟一次热拔出动作,将所述PCIE子卡模拟的拨出事件信息上报给上层软件。优选地,还包括:所述中断处理函数通过记录所述PCIE子卡的端口信息及热插拔过程中的flag信息,对所述PCIE子卡进行定位处理。根据本专利技术的另一方面,提供了一种基于PCIE子卡热插拔的装置,包括:检查模块,用于PCIE子卡热插拔造成中断触发后,中断处理函数检查中断是由PCIE子卡插入导致的插入中断,还是由PCIE子卡拔出导致的拔出中断;插入中断处理模块,用于当检查结果为插入中断,则由所述中断处理函数和轮询线程处理所述插入中断,以便所述PCIE子卡初始化后,将插入事件信息上报给上层软件;拔出中断处理模块,用于当检查结果为拔出中断,则由所述中断处理函数和轮询线程处理所述拔出中断,以便删除所述PCIE子卡对应的端口信息。与现有技术相比较,本专利技术的有益效果在于:本专利技术实现了PCIE子卡热插拔功能,兼容在线上下电功能,且对于插拔过程中产生的异常进行及时有效处理,同时加入了热插拔问题定位手段,有助于快速排查PCIE子卡热插拔故障。附图说明图1是本专利技术实施例提供的一种基于PCIE子卡热插拔的方法流程图;图2是本专利技术实施例提供的一种基于PCIE子卡热插拔的装置示意图;图3是本专利技术实施例提供的PCIE子卡热插拔中断处理流程图;图4是本专利技术实施例提供的PCIE子卡热插拔线程处理流程图;图5是本专利技术实施例提供的PCIE热插拔端口异常处理流程图。具体实施方式以下结合附图对本专利技术的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1显示了本专利技术实施例提供的一种基于PCIE子卡热插拔的方法流程图,如图1所示,包括以下步骤:步骤S101:PCIE子卡热插拔造成中断触发后,中断处理函数检查中断是由PCIE子卡插入导致的插入中断,还是由PCIE子卡拔出导致的拔出中断;步骤S102:若检查结果为插入中断,则由所述中断处理函数和轮询线程处理所述插入中断,以便所述PCIE子卡初始化后,将插入事件信息上报给上层软件;步骤S103:若检查结果为拔出中断,则由所述中断处理函数和轮询线程处理所述拔出中断,以便删除所述PCIE子卡对应的端口信息;其中,所述PCIE是高速外部设备互连总线。其中,所述中断处理函数和所述轮询线程运行在母板或CPU中。其中,所述的中断处理函数和轮询线程处理所述插入中断包括:所述中断处理函数使所述PCIE子卡进入等待队列,并开始对所述等待队列进行唤醒处理;在中断处理函数开始对所述等待队列进行唤醒处理期间,所述轮询线程执行所述PCIE子卡的在线上电流程,以便所述PCIE子卡完成初始化。具体地说,所述轮询线程对所述PCIE子卡进行在线上电流程包括:当检测到上电命令下发以及所述PCIE子卡链路完成链接后,将所述PCIE子卡信息上报给上层软件;所述上层软件根据所述PCIE子卡信息,对所述PCIE子卡进行初始化处理。其中,所述的中断处理函数和轮询线程处理所述插入中断还包括:在所述PCIE子卡完成初始化以及所述等待队列被唤醒后,所述轮询线程对所述PCIE子卡在线上电流程的结果进行清除;所述轮询线程对所述PCIE子卡进行复位及链接处理,再将所述PCIE子卡插入事件信息上报给上层软件。其中,所述中断处理函数和轮询线程处理所述拔出中断包括:所本文档来自技高网...
一种基于PCIE子卡热插拔的方法及装置

【技术保护点】
一种基于PCIE子卡热插拔的方法,其特征在于,包括以下步骤:PCIE子卡热插拔造成中断触发后,中断处理函数检查中断是由PCIE子卡插入导致的插入中断,还是由PCIE子卡拔出导致的拔出中断;若检查结果为插入中断,则由所述中断处理函数和轮询线程处理所述插入中断,以便所述PCIE子卡初始化后,将插入事件信息上报给上层软件;若检查结果为拔出中断,则由所述中断处理函数和轮询线程处理所述拔出中断,以便删除所述PCIE子卡对应的端口信息;其中,所述PCIE是高速外部设备互连总线。

【技术特征摘要】
1.一种基于PCIE子卡热插拔的方法,其特征在于,包括以下步骤:PCIE子卡热插拔造成中断触发后,中断处理函数检查中断是由PCIE子卡插入导致的插入中断,还是由PCIE子卡拔出导致的拔出中断;若检查结果为插入中断,则由所述中断处理函数和轮询线程处理所述插入中断,以便所述PCIE子卡初始化后,将插入事件信息上报给上层软件;若检查结果为拔出中断,则由所述中断处理函数和轮询线程处理所述拔出中断,以便删除所述PCIE子卡对应的端口信息;其中,所述PCIE是高速外部设备互连总线。2.根据权利要求1所述的方法,其特征在于,所述中断处理函数和所述轮询线程运行在母板或CPU中。3.根据权利要求1所述的方法,其特征在于,所述的中断处理函数和轮询线程处理所述插入中断包括:所述中断处理函数使所述PCIE子卡进入等待队列,并开始对所述等待队列进行唤醒处理;在中断处理函数开始对所述等待队列进行唤醒处理期间,所述轮询线程执行所述PCIE子卡的在线上电流程,以便所述PCIE子卡完成初始化。4.根据权利要求1所述的方法,其特征在于,所述的中断处理函数和轮询线程处理所述插入中断还包括:在所述PCIE子卡完成初始化以及所述等待队列被唤醒后,所述轮询线程对所述PCIE子卡在线上电流程的结果进行清除;所述轮询线程对所述PCIE子卡进行复位及链接处理,再将所述PCIE子卡插入事件信息上报给上层软件。5.根据权利要求3所述的方法,其特征在于,所述轮询线程对所述PCIE子卡进行在线上电流程包括:当检测到上电命令下发以及所述PCIE子卡链路完成链接后,将所述PCIE子卡信息上报给上层软件;所述上层软件根据所述PCIE子卡信息,对所述PCIE子卡进行初始化处理。6.根据权利要求1所述的方法,其特征在于,所述中断处理函数和轮询线
\t...

【专利技术属性】
技术研发人员:田桂良
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1