PCIE中断支持

PCIE中断支持

ID:38234516

大小:16.13 KB

页数:4页

时间:2019-05-28

PCIE中断支持_第1页
PCIE中断支持_第2页
PCIE中断支持_第3页
PCIE中断支持_第4页
资源描述:

《PCIE中断支持》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PCIESS提供了14种中断,能处理MSI和legacy中断。当作为EP端时,PCIESS能够产生MSI或者legacy中断,但是一个PCIe设备不能同时产生这两种中断。EP端能产生的中断类型在配置的时候配置好的。RC端能处理MSI和legacy中断。2.14.1中断分配2.14.2EP模式产生的中断当PCIESS作为EP端的时候,会产生legacy中断或者MSI中断,最终在RC设备端产生一个中断。每个PCIe功能只能产生一种类型的中断,这种类型由配置的时候决定的。2.14.2.1EP模式产生的legacy中断EP设备能够通过in-bandAssert_I

2、NTx/Deassert_INTx消息在RC端产生一个PCIlegacy中断。在RC端口产生的中断类型实际是根据EP产生中断的配置信息决定的,可能是INTA,INTB,INTC,或者INTD。在配置空间寄存器中可以查看相关中断寄存器。为了产生一个中断,需要以下几步:1.设置LEGACY_X_IRQ_ENABLE_SET是能够产生legacy中断。2.向EP_IRQ_SET寄存器写1来使能legacy中断。3.AnassertINTA/B/C/Dmessageisautomaticallysent4.向EP_IRQ_CLR寄存器写1来disablethele

3、gacyinterruptbysendingadeassertINTA/B/C/Dmessage一旦产生一个assertmessage,知道产生一个deassertmessage才会产生下一个assertmessage。因此,每次只会有一个中断被挂起。这个挂起状态可以通过EP_IRQ_STATUS寄存器来查看。2.14.2.2EP模式产生的MSI中断一个PCIE32位内存的写事务会产生MSI中断。PCIE系统软件在初始化EP设备的时候会配置在写事务中用到的地址和数据。MSI机制支持多个中断,每个设备能够请求最多32个中断向量,尽管分配的中断可能没有请求的数

4、目多。产生一个MSI中断,需要下面几步:1.在设备中确保支持MSI(设置MSI_CAP的MSI_EN位,关闭legacy中断)。2.在本地PCIe配置空间中读取MSI地址寄存器的值(32位地址读取MSI_LOW32寄存器的值,64位地址读取MSI_UP32和MSI_LOW32(在MSI_CAP寄存器中使能64BIT_EN位))3.在本地PCIe配置空间中读取MSI数据寄存器的值(读取MSI_DATA寄存器的值)4.确定分配给设备的MSI向量数目(和请求数目)。5.根据分配的MSI中断数目,发送一个内存写请求,地址和MSI地址寄存器一样,数据和MSI数据寄存

5、器一样。Inthedata,theLSBscanbemodifiedtoreflecttheappropriateMSIeventthatneedstobenotifiedtorootcomplex。6.如果目的PCIE地址不可以直接到达的时候,内存写请求也可以通过outbound地址转换接口进行路由。在RC端产生MSI终端实际上有MSI_IRQ寄存器决定。MSI中断由RC端向MSI_IRQ寄存器写入MSI向量值而激发的32个事件中的一种产生的。在EP端能够发送MSI中断之前,系统软件必须配置好MSI数据寄存器和地址寄存器,这样确保用合适的MSI向量值来使

6、用MSI_IRQ寄存器。如果没有软件支持,用户程序需要确保EP端能够用合适的MSI向量值发送内存写事务到RC端的MSI_IRQ寄存器中。对每个PCIE设备来说,一个EP端设备只能向RC产生MSI中断。但是PCIESS规定允许从EP端向另一个EP端产生MSI中断。为了能够向另一个EP端产生中断,一个EP端能够将内存的写映射到另一个EP设备的类似寄存器。这个内存写应该在BAR0内存空间。2.14.3RC端产生的中断按照PCIE基本标准,RC端口只能够接收中断。没有机制能够产生从RC到EP的中断。但是,PCIESS的确支持从RC向EP产生中断。这个过程和RC端产

7、生和接受MSI中断类似,除了这个功能在EP端同样可以使用。RC端可以通过PCIE链路写MSI_IRQ寄存器来产生一个32位的EP中断。PCIESS遵循PCIEMSI规定,不需要对同一个MSI向量计算多次写。只有一个写才会被处理,在清中断之前其余的写可能会丢失。2.14.4EP端接受中断PCIE规定并没有说EP可以接受legacy中断。因此,只会用事件来映射中断。在EP设备上不支持MSI中断,但是PCIESS确实支持这些中断。在EP端向MSI_IRQ寄存器写入MSI向量值的时候会产生32种事件中的一种。通过写寄存器由链路传送的这些中断也可能来自另一个EP设备

8、,该设备在EPBAR0空间的合适中断寄存器操作。这由软件设计者来决

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。