pci_epc_raise_irq(9)
π pci_epc_raise_irq(9) β Kernel API Manual, bestie edition π
okay so picture this: you're deep in the kernel, you're in pci_epc_raise_irq, and you need to actually get the host's attention. That's the whole vibe of this page, from the Kernel API Manual fr fr β¨
πΈ NAME πΈ
pci_epc_raise_irq β interrupt the host system. that's it, that's the girl π
β¨ SYNOPSIS β¨
int pci_epc_raise_irq (struct pci_epc *epc , u8 func_no , u8 vfunc_no ,
unsigned int type , u16 interrupt_num );
she takes five args and returns an int, no cap π«Ά
π¦ ARGUMENTS π¦
epcβ the EPC device that has to interrupt the host. she's the main character here, everything happens through her πfunc_noβ the physical endpoint function number inside the EPC device. like, the physical one.u8. not the vibe-y fake one πvfunc_noβ the virtual endpoint function number, the one living inside the physical function. nesting doll energy π it's au8tootypeβ you gotta specify which interrupt flavor you want:INTX,MSIorMSI-X. yes those are the three, pick one, be decisive πinterrupt_numβ the MSI or MSI-X interrupt number, and the range is literally(1-N). au16. don't come at it with a0, that's not the assignment π
π DESCRIPTION π
Invoke this to raise an INTX, MSI or MSI-X interrupt. that's the whole thing β you call it, the host gets interrupted, everybody claps β¨π₯ like honestly? iconic. short. effective. no notes.
π§ SEE ALSO π§
the kernel file to go stare at is ./drivers/pci/endpoint/pci-epc-core.c β go read her, she's the source of truth ππ
and here's the whole friend group, alphabetically-ish adjacent, a whole squad of (9) pages:
pci_epc_put(9)pci_epc_get(9)pci_epc_get_first_free_bar(9)pci_epc_get_next_free_bar(9)pci_epc_get_features(9)pci_epc_get_aux_resources_count(9)pci_epc_get_aux_resources(9)pci_epc_stop(9)pci_epc_start(9)pci_epc_map_msi_irq(9)pci_epc_get_msi(9)pci_epc_set_msi(9)pci_epc_get_msix(9)pci_epc_set_msix(9)pci_epc_unmap_addr(9)pci_epc_map_addr(9)pci_epc_mem_map(9)pci_epc_mem_unmap(9)pci_epc_clear_bar(9)pci_epc_set_bar(9)pci_epc_bar_size_to_rebar_cap(9)pci_epc_write_header(9)pci_epc_add_epf(9)pci_epc_remove_epf(9)pci_epc_linkup(9)pci_epc_linkdown(9)pci_epc_init_notify(9)pci_epc_notify_pending_init(9)pci_epc_deinit_notify(9)pci_epc_bus_master_enable_notify(9)pci_epc_destroy(9)__pci_epc_create(9)__devm_pci_epc_create(9)
all of them. yes all 33. i counted, bestie, don't worry π β¨
heads up:interrupt_numonly makes sense for the MSI and MSI-X types, and it's(1-N)β that range is doing the heavy lifting, so respect it π«Ά
and that's the page! π this little beauty lives in ./drivers/pci/endpoint and the version stamp on her says October 2026 β so mark your calendar, she's from the future fr fr βπ mwah, go interrupt something, love u bye ππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms