hv_compose_msi_msg(9)
π hv_compose_msi_msg(9) π
okay so this is a Kernel API Manual page β yes, the manual name is literally Kernel API Manual β and it's all about hv_compose_msi_msg. It's giving βsupplies a valid MSI address/dataβ and honestly? iconic. π¦
β¨ NAME β¨
hv_compose_msi_msg β supplies a valid MSI address/data. no cap, that's the whole name vibe. π
π SYNOPSIS π
void hv_compose_msi_msg (struct irq_data *data , struct msi_msg *msg );
It's literally that signature, bestie β keep the void, keep the pointers. π«Ά
π§ ARGUMENTS π§
dataβ everything about this MSI. like, the whole lore. πmsgβ the buffer that is filled in by this function. it gets filled in, ok? π
πΈ DESCRIPTION πΈ
okay so here's the tea: hv_compose_msi_msg unpacks the IRQ looking for the target CPU set, the IDT vector, and the mode. then it sends a message to the parent partition asking for a mapping for that tuple in this partition.
the response supplies a data value and an address β and that's the address where you write that data to trigger that interrupt. slay. π₯
π¦ SEE ALSO π¦
Kernel file ./drivers/pci/controller/pci-hyperv.c β and the whole friend group is here too, fr fr: struct hv_msi_desc(9), struct hv_msi_desc2(9), struct tran_int_desc(9), hv_irq_retarget_interrupt(9), hv_pci_generic_compl(9), devfn_to_wslot(9), wslot_to_devfn(9), _hv_pcifront_read_config(9), _hv_pcifront_write_config(9), hv_pcifront_read_config(9), hv_pcifront_write_config(9), hv_pci_read_config_compl(9), hv_read_config_block(9), hv_pci_write_config_compl(9), hv_write_config_block(9), hv_register_block_invalidate(9), hv_msi_free(9), hv_pcie_init_irq_domain(9), get_bar_size(9), survey_child_resources(9), prepopulate_bars(9), create_root_hv_pci_bus(9), q_resource_requirements(9), new_pcichild_device(9), get_pcichild_wslot(9), pci_devices_present_work(9), hv_pci_start_relations_work(9), hv_pci_devices_present(9), hv_pci_devices_present2(9), hv_eject_device_work(9), hv_pci_eject_device(9), hv_pci_onchannelcallback(9), hv_pci_protocol_negotiation(9), hv_pci_free_bridge_windows(9), hv_pci_allocate_bridge_windows(9), hv_allocate_config_window(9), hv_pci_enter_d0(9), hv_pci_query_relations(9), hv_send_resources_allocated(9), hv_send_resources_released(9), hv_pci_probe(9), hv_pci_remove(9). π
that's the whole page, bestie π β source/version: ./drivers/pci/controller; date: October 2026; and the page is hv_compose_msi_msg(9). bye <3 π
π¦ 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