hv_compose_msi_msg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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