买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于飞腾平台的中断转换机制的实现方法_天津麒麟信息技术有限公司_201810256210.5 

申请/专利权人:天津麒麟信息技术有限公司

申请日:2018-03-27

公开(公告)日:2024-03-15

公开(公告)号:CN108628782B

主分类号:G06F13/24

分类号:G06F13/24;G06F13/40

优先权:

专利状态码:有效-授权

法律状态:2024.03.15#授权;2018.12.07#实质审查的生效;2018.10.09#公开

摘要:本发明公开了一种基于飞腾平台的中断转换机制的实现方法,包括中断发起:PCIE设备发起MSI中断请求,PCIE设备根据配置空间的MSI属性,对飞腾平台的中断转换寄存器发起写硬件中断号的消息;中断转换:PCIE设备将硬件中断号传递到中断转换寄存器,引起共享外设中断;中断分发:共享外设中断通过中断控制器被分发到中央处理器;中断处理:共享外设中断被中央处理器接收,触发共享外设中断处理函数,从中断转换寄存器中读取硬件中断号,PCIE设备的中断被处理。本发明提供的基于飞腾平台的中断转换机制的实现方法,实现PCIE设备的消息信号中断到共享外设中断的转换,实现了使用GICV2控制器的支持PCIE总线控制器的飞腾平台的中断发起、中断转换、中断分发、中断处理。

主权项:1.一种基于飞腾平台的中断转换机制的实现方法,其特征在于,针对使用GICV2控制器的支持PCIE总线控制器的飞腾平台,包括如下步骤:中断发起:为PCIE设备申请和分配MSI中断以及硬件中断号,创建虚拟中断号、所述硬件中断号和所述PCIE设备的中断处理函数的对应关系;配置所述PCIE设备的MSI地址属性,将中断转换寄存器的地址写入所述PCIE设备的MSI地址属性;配置所述PCIE设备的MSI数据属性,将分配的所述硬件中断号写入所述PCIE设备的MSI数据属性;获取所述中断转换寄存器的地址;配置所述中断转换寄存器的中断触发类型;配置所述中断转换寄存器的功能使能位;获取触发共享外设中断的共享外设中断号;注册所述共享外设中断的中断处理函数;中断发起:所述PCIE设备由于事务,发起MSI中断请求,所述PCIE设备根据配置空间的MSI属性,对目的地址发起写硬件中断号的信息,其中,目标地址为飞腾平台的所述中断转换寄存器;中断转换:所述PCIE设备将硬件中断号写到所述中断转换寄存器,引起SPI的中断;中断分发:所述SPI的中断被中断控制器接收,所述SPI的中断信息分发到CPU,CPU收到所述SPI的中断信息,触发注册了的SPI的中断处理函数;中断处理:所述共享外设中断被中央处理器接收,触发共享外设中断处理函数,从所述中断转换寄存器中读取所述硬件中断号,所述PCIE设备的中断被处理。

全文数据:一种基于飞腾平台的中断转换机制的实现方法技术领域[0001]本发明属于处理器中断处理技术领域,尤其涉及一种基于飞腾平台的中断转换机制的实现方法。背景技术[0002]PCIE消息信号中断是PCIE规范总定义支持的一种高效的中断传递方案,它传递方式简单,且传递速度较快。在基于飞腾处理器的计算机系统中,PCIE消息信号中断需要中断控制器中的中断转换单元才能进行路由和分发。但是对于使用GICV2中断控制器的处理器,由于GICV2中断控制器没有中断转换单元,在PCIE总线的解决方案中,只能采用基于INTX的中断传递逻辑,不高效且设计复杂。[0003]飞腾处理器平台中的飞腾嵌入式系列处理器基于ARM64体系结构,它采用了S0C架构,内部集成了PCIE控制器。它是我国自主可控的国产处理器平台,广泛地应用在了高性能嵌入式领域,其中断控制器为GICV2的中断控制器。所以在PCIE设备中断传递解决方案中,也面临着PCIE设备使用INTX中断的不高效且设计复杂问题,并且在进行PCIE设备INTX中断测试过程中,出现了多个由于PCIE设备硬件设计不合理导致的中断问题。针对这种使用GICV2控制器的支持PCIE总线控制器的飞腾平台,为解决PCIE设备在传递基于消息类型的中断信号时,由于使用中断控制器的特点,不支持、不分发或不路由该类型中断导致的设备不能够使用的问题,所以需要在飞腾嵌入平台中实现一个传递PCIE设备消息信号中断的方法。[0004]中国发明专利“用于飞腾服务器的中断控制方法”(申请号CN201210040518.9,该发明提供了一种用于飞腾服务器的中断控制方法,包括以下步骤:初始化;硬件中断源通过南桥CS5536中的硬件控制逻辑部件产生相应类型的中断信号,通过南桥CS5536中的中断控制器8259A路由输出为一公共中断触发信号,并在中断控制器8259A的内部寄存器中修改相应的中断位,公共中断触发信号经桥接芯片映射转换成中断消息报文并传至PCIE总线;飞腾处理器从PCIE总线获取中断消息报文,进入中断状态并调用一公共中断响应函数,读取中断控制器8259A的内部寄存器获取中断位,从而确定硬件中断源并处理中断。该发明实现了飞腾处理器平台南桥CS5536各功能部件与飞腾处理器的中断交互。[0005]中国发明专利“中断处理方法、中断控制器及处理器”(申请号CN201210122172.7,该发明提供一种中断处理方法、中断控制器及处理器。其中方法包括:中断控制器根据预先配置的中断转消息信息,将中断源的中断转换为中断消息,然后将中断消息发送给中断响应单元,中断响应单元至少包括处理器、加速器、DMA和调试单元其中之一;中断响应单元根据中断消息进行中断响应。该发明技术方案中断控制器通过中断转消息向各中断响应单元输出中断消息,降低了中断响应所消耗的软件开销。[0006]中国发明专利“多处理器系统中的操作系统管理的中断引导”(申请号CN201380077383.6,该发明公开了一种操作系统,其中,中断路由器基于来自处理器集合的总负载信息,动态地将每个中断引导到所述处理器集合内的一个或多个处理器;操作系统接收该历史负载信息,以便确定对于来自给定设备的给定类型中断的预期负载、系统上的总负载以及对于每个处理器的目标负载。该发明采用中断路由器来接收中断信息,根据中断源的集合、其预期负载以及对于每个处理器的目标负载,可以在系统的运行期间将每个中断源动态指派给处理器进行处理。[0007]中国发明专利“具有共享仲裁单元的服务请求中断路由器”(申请号CN201510162158.3,该发明公开了一种服务请求中断路由器,具有中断控制单元(ICU以及仲裁单元,仲裁单元被配置成由ICU共享,以在具有各自的服务请求中断信号并且被映射至|JI⑶的服务请求节点SRN当中仲裁,以针对ICU中的每一个来确定SRN中的哪一个具有最高优先级,但是以上专利均没有涉及到基于飞腾平台的中断转换逻辑的实现。发明内容[0008]为解决上述技术问题,本发明提供一种基于飞腾平台的中断转换机制的实现方法,通过对PCIE设备配置空间MSI属性和对飞腾中断转换寄存器的配置,以及PCIE中断的处理,实现了整个中断转换机制的中断发起、中断转换、中断分发、中断处理的流程。[0009]本发明提供了一种基于飞腾平台的中断转换机制的实现方法,包括:[0010]中断发起:PCIE设备发起MSI中断请求,所述PCIE设备根据配置空间的MSI属性,对飞腾平台的中断转换寄存器发起写硬件中断号的消息;[0011]中断转换:所述PCIE设备将所述硬件中断号传递到所述中断转换寄存器,引起共享外设中断;[0012]中断分发:所述共享外设中断通过中断控制器被分发到中央处理器;[0013]中断处理:所述共享外设中断被所述中央处理器接收,触发共享外设中断处理函数,从所述中断转换寄存器中读取所述硬件中断号,所述PCIE设备的中断被处理。[0014]以上技术方案优选的,所述中断发起步骤前还包括:[0015]所述中断转换寄存器的初始化:初始化所述中断转换寄存器,实现共享外设中断的注册;[0016]MSI中断申请和分配:实现所述MSI中断申请和分配,配置PCIE设备的MSI属性。[0017]以上技术方案优选的,所述中断转换寄存器的初始化过程包括:[0018]获取所述中断转换寄存器的地址;[0019]配置所述中断转换寄存器的中断触发类型;[0020]配置所述中断转换寄存器的功能使能位;[0021]获取触发共享外设中断的共享外设中断号;[0022]注册所述共享外设中断的中断处理函数。[0023]以上技术方案优选的,所述中断触发类型为低位数据写触发模式。[0024]以上技术方案优选的,所述配置所述中断转换寄存器的功能使能位具体包括,中断触发所述功能使能位后,所述低位数据被写入时,触发所述共享外设中断。[0025]以上技术方案优选的,所述MSI中断申请和分配的过程包括:[0026]为所述PCIE设备分配硬件中断号;[0027]创建所述硬件中断号、虚拟中断号和所述PCIE设备的中断处理函数的对应关系;[0028]配置PCIE设备的MSI地址属性,将所述中断转换寄存器的地址写入所述PCIE设备的MSI地址属性;[0029]配置PCIE设备的MSI数据属性,将分配的所述硬件中断号写入所述PCIE设备的MSI数据属性。[0030]以上技术方案优选的,分配硬件中断号采用基于位图的分配机制,所述基于位图的分配机制具体包括利用一个长整形的位图数据,根据所述位图数据的bit位来分配硬件中断号。[0031]以上技术方案优选的,所述中断处理具体包括:[0032]a.所述中央处理器接收所述共享外设中断,触发所述共享外设中断处理函数;[0033]b.读取所述中断转换寄存器中的所述硬件中断号;[0034]c.检测读取到的所述硬件中断号是否有效,判断所述硬件中断号是否在所述基于位图的分配机制的位图分配表里,如果无效则退出所述中断处理函数;[0035]d.如果有效,将所述硬件中断号放入中断缓存队列中,所述中断缓存队列的tail指针加1,所述tail指针指向所述中断缓存队列缓存数据的下一个可写地址;[0036]e.退出所述中断处理函数。[0037]以上技术方案优选的,所述d步骤后还包括:[0038]S101.触发PCIE中断READY信号;[0039]S102.所述PCIE中断READY信号来临后,读取所述中断缓存队列的head和tail指针,所述head指针指向所述中断缓存队列缓存数据的第一个可读地址,所述tail指针指向下一个可写地址;[0040]S103.读取所述head指针指向的硬件中断号;[0041]S104.找到所述硬件中断号映射的所述虚拟中断号;[0042]S105.调用所述虚拟中断号对应的所述PCIE设备的中断处理函数;[0043]S106.head指针指向下一个缓存地址;[0044]S107•判断head是否与tai1相等,如果相等,等待下一次PCIE中断READY信号,如果不相等,回到S103步骤。[0045]以上技术方案优选的,所述中断缓存队列为环形队列,所述S102至S107步骤均在单独的一个中断处理内核线程内完成。[0046]本发明具有的优点和积极效果是:本发明针对使用GICV2控制器的支持PCIE总线控制器的飞腾平台,通过对PCIE设备配置空间MSI属性和对飞腾中断转换寄存器的配置,以及PCIE中断的处理,实现了整个中断转换机制的中断发起、中断转换、中断分发、中断处理的流程;飞腾中断转换寄存器的初始化逻辑,初始化飞腾平台中断转换寄存器,实现专有的SPI中断的注册,实现PCIE设备的消息信号中断到共享外设中断的转换;考虑PCIE设备消息信号中断的突发性,在中断传递和PCIE中断处理中间增加一层缓存队列,在PCIE投递消息信号中断后,系统产生共享外设中断,共享外设中断的中断处理函数将会把PCIE设备投递的硬件中断号缓存在缓存队列里面,并单独使用一个内核线程来处理缓存的PCIE中断,防止消息信号写入到中断转换寄存器的硬件中断还没有被处理的情况下,被下一个PCIE设备的消息信号中断覆盖。附图说明[0047]图1是本发明一实施例的中断转换逻辑实现流程图[0048]图2是本发明一实施例的中断转换寄存器的初始化流程图[0049]图3是本发明一实施例的MSI中断申请和分配流程图[0050]图4是本发明一实施例的中断处理流程图具体实施方式[0051]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,下面结合附图对本发明的实施方式做出具体说明。[0052]MSI:消息信号中断是PCI3.0规范里面定义的一种PCIE设备需要支持的中断类型,所有PCIE设备的任意一个功能都可以产生MSI中断。PCIE设备发送MSI中断的机制是通过执行内存写操作来实现的,MSI会传递设备号和事件号给中断控制器。[0053]SPI:共享外设中断是GICV2支持的3种中断类型之一,共享外设中断是所有CPU之间共享的。它可以被中断线引发,也可以通过写某个特殊的寄存器来引发,是能够直接被GICV2分发到PU的中断类型。[0054]本发明一实施例提供了一种基于飞腾平台的中断转换机制的实现方法,涉及到PCIE设备、中断转换寄存器、中断控制器三个部件之间的交互,如图1所示,当PCIE设备发起消息信号中断后,消息信号中断的逻辑将会把设备的中断信息写入到一个目的地址,在中断转换机制的实现中该目的地址就是中断转换寄存器,当有效数据被写入到中断转换寄存器后,系统将会发起能直接被中断控制器分发的共享外设中断SPI,从而达到了消息信号中断到共享外设中断的转换,接下来中断控制器分发共享外设中断,系统将解析PCIE设备传递过来的中断信息,最终调用PCIE设备的中断处理函数,一个基于飞腾平台的中断转换逻辑和中断处理逻辑完成,其具体步骤如下:[0055]中断发起:PCIE设备由于事务,发起MSI中断请求,PCIE设备根据配置空间的MSI属性,对目的地址飞腾平台的中断转换寄存器发起写硬件中断号的消息;[0056]中断转换:PCIE设备将硬件中断号写到中断转换寄存器,引起SPI中断;[0057]中断分发:SPI中断被中断控制器接收,SPI中断分发到CPU,CPU收到SPI中断,触发注册了的SPI中断处理函数;[0058]中断处理:软件层SPI中断处理函数被触发,系统从中断转换寄存器读到PCIE设备传递的硬件中断号;软件根据读到的硬件中断号,处理PCIE设备的中断。[0059]而上述流程的实现,需要在Linux中断子系统中对中断转换机制软件流程的支持,软件层组织设计了飞腾中断转换寄存器的初始化逻辑、PCIE设备MSI中断申请和分配流程逻辑、PCIE中断处理逻辑。这三个逻辑嵌入到Linux的中断子系统中,实现中断转换、中断申请流程的初始化,实现中断处理的逻辑。[0060]飞腾中断转换寄存器的初始化流程是整个中断转换逻辑实现的基础,该流程初始化飞腾平台中断转换寄存器,并实现专有的SPI中断处理函数的注册,当中断转换寄存器初始化后,PCIE设备消息信号中断写入到中断转换寄存器,系统才会产生共享外设中断,实现PCIE设备的消息信号中断到共享外设中断的转换。如图2所示,初始化流程具体步骤如下:[0061]获取中断转换寄存器的地址;[0062]配置中断转换寄存器中断触发类型,配置为低位数据写触发模式;[0063]使能中断转换寄存器,中断触发功能使能位,使能后,低位数据被写入时,将触发共享外设中断;[0064]获取触发中断的中断号,获取触发共享外设中断的中断号;[0065]注册该共享外设中断的中断处理函数。[0066]MSI中断申请和分配逻辑是在PCIE设备驱动初始化MSI中断的时候调用的流程,在PCIE设备消息信号中断申请流程中,引入了硬件中断号,该硬件中断号用来作为PCIE设备MSI中断传递的中断号,当设备驱动在申请MSI中断时,中断转换机制会给PCIE设备分配一个硬件中断号,也用来映射PCIE设备驱动所使用的虚拟中断号和中断处理函数,并实现PCIE设备的消息中断和PCIE设备中断处理函数的一一对应,当PCIE设备有MSI中断上来时,传递的就是这个硬件中断号。在硬件中断分配流程中,引入了基于位图的分配机制来为PCIE设备分配硬件中断号,该机制是利用一个长整形的位图数据,根据其bit位来分配硬件中断号,一个长整形的位图数据,可以最多分配64个硬件中断号。如图3所示,中断转换机制的MSI中断申请和分配流程的具体实施步骤如下:[0067]利用位图机制分配一个给PCIE设备使用的硬件中断号;[0068]映射硬件中断号、虚拟中断号、PCIE设备中断处理函数;[0069]配置PCIE设备的MSI地址属性,将中断转换寄存器地址写入PCIE设备配置空间的MSIADDR地址;[0070]配置PCIE设备的MSI数据属性,将分配的硬件中断号写入PCIE设备配置空间的MSIDATA地址;[0071]其他PCIE设备使用MSI功能的通用配置。[0072]如图4所示为中断转换机制的中断处理流程,整个流程是处理PCIE设备发起MIS中断触发中断转换寄存器发出共享外设中断后开始的软件流程,该流程可以用两个逻辑来概括:PCIE设备中断缓存逻辑以及内核线程中断处理逻辑。在中断处理流程的实现中,由于考虑PCIE设备消息信号中断的突发性,设计了一个PCIE设备缓存中断的机制,防止消息信号写入到中断转换寄存器的硬件中断还没有被处理的情况下被下一个PCIE设备的消息信号中断覆盖了,在中断传递和PCIE中断处理中间增加一层缓存队列,在PCIE投递消息信号中断后,系统产生共享外设中断,共享外设中断的中断处理函数将会把PCIE设备投递的硬件中断号缓存在缓存队列里面,并单独使用一个内核线程来处理缓存的PCIE中断,这个缓存队列是用一个环形队列来实现,具体是在SPI中断处理函数中处理,该队列使用了2个指针:head、tail,head指针指向环形队列缓存数据的第一个可以读的地址,tail指针指向下一个可以写的地址。另外考虑到PCIE设备中断处理的即时性,单独使用一个内核线程来处理缓存在环形队列里面的硬件中断。[0073]PCIE设备中断缓存逻辑可以描述为:[0074]a.SPI中断到来,触发SPI中断的中断处理函数;[0075]b.读取中断转换寄存器中的硬件中断号;[0076]c.检测读取到的硬件中断号是否有效,判断硬件中断号是否在基于位图的分配机制的位图分配表里,如果无效则退出中断处理函数,SPI中断结束;[0077]d.如果有效,将硬件中断号放入缓存队列中,缓存队列tail指针加1;[0078]e.触发PCIE中断READY信号;[0079]f.SPI中断结束。[0080]内核线程中断处理逻辑可以描述为:[0081]S101.等待PCIE中断READY信号,如果READY信号来临,进入下一个流程,如果没有来临,等待;[0082]S102.读取缓存队列的head和tail指针,两个指针标识这次中断处理需要处理多少个PCIE设备中断;[0083]S103.读取环形队列head指针指向的硬件中断号;[0084]S104.找到硬件中断号映射的虚拟中断号;[0085]S105.调用虚拟中断号对应的PCIE设备的中断处理函数;[0086]S106.head指针指向下一个缓存地址;[0087]S107.判断head是否与tail相等,如果相等证明这次PCIE中断处理完成了,回到内核线程等待下一次PCIE中断READY信号;如果不相等,回到S103流程,读取下一个缓存的PCIE硬件中断号。[0088]针对使用GICV2控制器的支持PCIE总线控制器的飞腾平台,为解决PCIE设备在传递基于消息类型的中断信号时,由于使用的中断控制器没有中断转换单元,不支持、不分发或不路由MSI类型中断导致的设备不能够使用的问题。本实施例的PCIE设备消息中断转换成能被GICV2分发的外设中断的逻辑,其软件实现上可以分为飞腾中断转换寄存器的初始化逻辑、PCIE设备消息信号中断申请和分配逻辑、PCIE中断缓存及中断处理逻辑,这三个逻辑对外部软件环境没有依赖。[0089]本实施例针对使用GICV2控制器的支持PCIE总线控制器的飞腾平台,通过对PCIE设备配置空间MSI属性和对飞腾中断转换寄存器的配置,以及PCIE中断的处理,实现了整个中断转换机制的中断发起、中断转换、中断分发、中断处理的流程;飞腾中断转换寄存器的初始化逻辑,初始化飞腾平台中断转换寄存器,实现专有的SPI中断的注册,实现PCIE设备的消息信号中断到共享外设中断的转换;考虑PCIE设备消息信号中断的突发性,在中断传递和PCIE中断处理中间增加一层缓存队列,在PCIE投递消息信号中断后,系统产生共享外设中断,共享外设中断的中断处理函数将会把PCIE设备投递的硬件中断号缓存在缓存队列里面,并单独使用一个内核线程来处理缓存的PCIE中断,防止消息信号写入到中断转换寄存器的硬件中断还没有被处理的情况下,被下一个PCIE设备的消息信号中断覆盖。[0090]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能宄竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。[0091]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器RAM、内存、只读存储器ROM、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-R0M、或技术领域内所公知的任意其它形式的存储介质中。[0092]本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

权利要求:1.一种基于飞腾平台的中断转换机制的实现方法,包括:中断发起:PCIE设备发起MSI中断请求,所述PCIE设备根据配置空间的MSI属性,对飞腾平台的中断转换寄存器发起写硬件中断号的消息;中断转换:所述PCIE设备将所述硬件中断号传递到所述中断转换寄存器,引起共享外设中断;中断分发:所述共享外设中断通过中断控制器被分发到中央处理器;中断处理:所述共享外设中断被所述中央处理器接收,触发共享外设中断处理函数,从所述中断转换寄存器中读取所述硬件中断号,所述PCIE设备的中断被处理。2.根据权利要求1所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述中断发起步骤前还包括:所述中断转换寄存器的初始化:初始化所述中断转换寄存器,实现共享外设中断的注册;MSI中断申请和分配:实现所述MSI中断申请和分配,配置PCIE设备的MSI属性。3.根据权利要求2所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述中断转换寄存器的初始化过程包括:获取所述中断转换寄存器的地址;配置所述中断转换寄存器的中断触发类型;配置所述中断转换寄存器的功能使能位;获取触发共享外设中断的共享外设中断号;注册所述共享外设中断的中断处理函数。4.根据权利要求3所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述中断触发类型为低位数据写触发模式。5.根据权利要求4所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述配置所述中断转换寄存器的功能使能位具体包括,中断触发所述功能使能位后,所述低位数据被写入时,触发所述共享外设中断。6.根据权利要求3所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述MSI中断申请和分配的过程包括:为所述PCIE设备分配硬件中断号;创建所述硬件中断号、虚拟中断号和所述PCIE设备的中断处理函数的对应关系;配置PCIE设备的MSI地址属性,将所述中断转换寄存器的地址写入所述PCIE设备的MSI地址属性;配置PCIE设备的MSI数据属性,将分配的所述硬件中断号写入所述PCIE设备的MSI数据属性。7.根据权利要求6所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:分配硬件中断号采用基于位图的分配机制,所述基于位图的分配机制具体包括利用一个长整形的位图数据,根据所述位图数据的bit位来分配硬件中断号。8.根据权利要求6或7所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述中断处理具体包括:a.所述中央处理器接收所述共享外设中断,触发所述共享外设中断处理函数;b.读取所述中断转换寄存器中的所述硬件中断号;、^c.检测读取到的所述硬件中断号是否有效,判断所述硬件中断号是否在所述基于位图的分配机制的位图分配表里,如果无效则退出所述中断处理函数;d.如果有效,将所述硬件中断号放入中断缓存队列中,所述中断缓存队列的tai1指针加1,所述tai1指针指向所述中断缓存队列缓存数据的下一个可写地址;e.退出所述中断处理函数。9.根据权利要求8所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述d步骤后还包括:5101.触发PCIE中断READY信号;5102.所述PCIE中断READY信号来临后,读取所述中断缓存队列的head和tail指针,所述head指针指向所述中断缓存队列缓存数据的第一个可读地址,所述tail指针指向下一个可写地址;5103.读取所述head指针指向的硬件中断号;5104.找到所述硬件中断号映射的所述虚拟中断号;5105.调用所述虚拟中断号对应的所述PCIE设备的中断处理函数;5106.head指针指向下一个缓存地址;5107.判断head是否与tail相等,如果相等,等待下一次PCIE中断READY信号,如果不相等,回到S103步骤。10.根据权利要求7所述的基于飞腾平台的中断转换机制的实现方法,其特征在于:所述中断缓存队列为环形队列,所述Sl〇2至Sl〇7步骤均在单独的一个中断处理内核线程内完成。

百度查询: 天津麒麟信息技术有限公司 一种基于飞腾平台的中断转换机制的实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。