Visible to Intel only — GUID: zin1696475676563
Ixiasoft
Visible to Intel only — GUID: zin1696475676563
Ixiasoft
4.5.2. Message Signaled Interrupts (MSI)
The use applicatio geeates MSI, which ae sigle-Dwod memoy wite TLPs to implemet iteupts. This iteupt mechaism coseves pis because it does ot use sepaate wies fo iteupts. I additio, the sigle Dwod povides flexibility fo the data peseted i the iteupt message. The Cofiguatio Space stoes the MSI Capability stuctue ad is pogammed usig Cofiguatio Space accesses.
MSI iteupts ae sigaled o the PCI Expess* lik usig a sigle dwod Memoy Wite TLP. The use applicatio issues a MSI equest (MW) though the AXI-Steam iteface ad updates the cofiguatio space egiste usig the axi_lite iteface. Fo moe details o the MSI Capability Stuctue, efe to the PCI Expess* Cofiguatio Space sectio.
The Mask Bits egiste ad Pedig Bits egiste ae 32 bits i legth each, with each potetial iteupt message havig its ow mask bit ad pedig bit. If bit[0] of the Mask Bits egiste is set, iteupt message 0 is masked. Whe a iteupt message is masked, the MSI fo that vecto caot be set. If softwae cleas the mask bit ad the coespodig pedig bit is set, the fuctio must sed the MSI equest at that time. You should obtai the ecessay MSI ifomatio (such as the message addess ad data) fom the Cotol Shadow Iteface to ceate the MW TLP i the fomat show i the followig figue to be set though the AXI-Steam iteface.
By accessig cofiguatio space egiste (CSR), “MSI PENDING CTRL” ad “MSI PENDING” fom applicatio, the GTS AXI Steamig IP covets the CSR access to MSI Pedig Iteupt Message to be set ove to PCIe* HIP.
You applicatio eeds to wite “0x1” to “MSI PENDING CTRL” though the AXI4-Lite Cotol ad Status Registe Respode iteface to cause a update to the MSI Pedig Bits based o MSI PENDING value. The equest is expected to be igoed if bit is aleady set while the bit 0 of “MSI PENDING CTRL” is expected to be cleaed whe the equest is completed. Hece, you applicatio may eed to ead back the witte egiste value to check if the equest has bee atteded.
The followig table descibes thee example implemetatios. The fist example allocates all 32 MSI messages. The secod ad thid examples oly allocate fou iteupts.
MSI | Allocated | ||
---|---|---|---|
32 | 4 | 4 | |
System Eo | 31 | 3 | 3 |
Hot Plug ad Powe Maagemet Evet | 30 | 2 | 3 |
Applicatio Laye | 29:0 | 1:0 | 2:0 |
The MSI iteupts geeated fo Hot Plug, Powe Maagemet Evets, ad System Eos always use Taffic Class 0. MSI iteupts geeated by the Applicatio Laye ca use ay Taffic Class. Fo example, a DMA that geeates a MSI at the ed of a tasmissio ca use the same taffic cotol as was used to tasfe data.
The followig figue illustates a possible implemetatio of the Iteupt Hadle Module with a pe vecto eable bit i the Applicatio Laye. Alteatively, the Applicatio Laye ca implemet a global iteupt eable istead of this pe vecto MSI.