pci_epc_map_msi_irq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to the pci_epc_map_msi_irq(9) page from the Kernel API Manual β€” this is the one where we map a physical address to an MSI address and hand back the MSI data πŸ’–

✨ NAME ✨

pci_epc_map_msi_irq β€” Map physical address to MSI address and return MSI data, periodt πŸ’…

🌸 SYNOPSIS 🌸

the signature is giving kernel-core realness, and it is exactly this:

       int pci_epc_map_msi_irq (struct pci_epc *epc , u8 func_no , u8 vfunc_no
       , phys_addr_t phys_addr , u8 interrupt_num , u32 entry_size , u32
       *msi_data , u32 *msi_addr_offset );

πŸŽ€ ARGUMENTS πŸŽ€

okay so here is the cast of characters, bestie β€” every single one matters:

  • epc β€” the EPC device which has the MSI capability. main character energy, fr fr.
  • func_no β€” the physical endpoint function number in the EPC device.
  • vfunc_no β€” the virtual endpoint function number in the physical function.
  • phys_addr β€” the physical address of the outbound region.
  • interrupt_num β€” the MSI interrupt number with range (1-N).
  • entry_size β€” Size of Outbound address region for each interrupt.
  • msi_data β€” the data that should be written in order to raise MSI interrupt with interrupt number as 'interrupt num'.
  • msi_addr_offset β€” Offset of MSI address from the aligned outbound address to which the MSI address is mapped.

πŸ¦‹ DESCRIPTION πŸ¦‹

Invoke this to map a physical address to an MSI address and return the MSI data β€” it is giving bridge-between-worlds ✨. The physical address should be an address in the outbound region, lowkey do not skip that part. This is required to implement the doorbell functionality of NTB, wherein the EPC on either side of the interface (primary and secondary) can directly write to the physical address (in the outbound region) of the other interface to ring the doorbell. iconic NTB doorbell behavior, no cap πŸ””

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/pci/endpoint/pci-epc-core.c β€” the source file, iykyk. And here is the whole bestie squad of cross-references, all present and accounted for:


mwah πŸ’‹ that is the whole page, bestie. Source/version vibe: ./drivers/pci/endpoint; date on deck: October 2026; and yes, it is still the pci_epc_map_msi_irq(9) page. bye 🫢

πŸ“¦ where this page comes from