msi_domain_get_virq(9)
π msi_domain_get_virq(9) β from the Kernel API Manual, bestie π
okay so picture this: you're deep in the Linux kernel, you've got a device, you've got a domain, you've got an index, and what you really need is the interrupt number. That's the whole plot of msi_domain_get_virq. She's the lookup girlie. The one who finds the Linux interrupt number for a MSI index on a interrupt domain. No cap, that's literally the job description β¨
π¦ NAME π¦
msi_domain_get_virq β Lookup the Linux interrupt number for a MSI index on a interrupt domain π
πΈ SYNOPSIS πΈ
unsigned int msi_domain_get_virq (struct device *dev , unsigned int
domid , unsigned int index );
β¨ ARGUMENTS β¨
devβ the Device you're operating on, your main character of the moment π«Άdomidβ the Domain ID of the interrupt domain that's associated to the device πindexβ the MSI interrupt index you're looking for, and yes bestie it's 0-based, so index 0 is a real and valid thing, don't do her dirty π
π RETURN π
The Linux interrupt number on success (that's > 0), or 0 if it's not found π
fr fr, if you get a 0 back, that's not a pointer to nothing, that's the "nope, didn't find it" signal. zero means zero here.
π₯ SEE ALSO π₯
Kernel file ./kernel/irq/msi.c β and the whole rest of the squad π
struct msi_device_data(9)struct msi_ctrl(9)msi_alloc_desc(9)msi_domain_insert_msi_desc(9)msi_domain_free_msi_descs_range(9)msi_domain_add_simple_msi_descs(9)msi_setup_device_data(9)__msi_lock_descs(9)__msi_unlock_descs(9)msi_domain_first_desc(9)msi_next_desc(9)msi_device_populate_sysfs(9)msi_device_destroy_sysfs(9)msi_domain_set_affinity(9)msi_create_irq_domain(9)msi_create_parent_irq_domain(9)msi_parent_init_dev_msi_info(9)msi_create_device_irq_domain(9)msi_remove_device_irq_domain(9)msi_match_device_irq_domain(9)msi_domain_alloc_irqs_range_locked(9)msi_domain_alloc_irqs_range(9)msi_domain_alloc_irqs_all_locked(9)msi_domain_alloc_irq_at(9)msi_device_domain_alloc_wired(9)msi_domain_free_irqs_range_locked(9)msi_domain_free_irqs_range(9)msi_domain_free_irqs_all_locked(9)msi_domain_free_irqs_all(9)msi_device_domain_free_wired(9)msi_get_domain_info(9)msi_device_has_isolated_msi(9)
and that's the page babes π this little gem lives under ./kernel/irq and the version on deck is dated October 2026 β go forth, look up those interrupt numbers, slay, periodt π
β¨
π¦ 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