hv_write_config_block(9)
π¦ hv_write_config_block β the Kernel API Manual moment
Okay bestie, so this is the page for hv_write_config_block(9), straight out of the Kernel API Manual, and it's lowkey one of those little plumbing functions that makes Hyper-V PCI passthrough work. The way that name is long β iconic. Let's get into it π
β¨ NAME β¨
hv_write_config_block β sends a write config block request to the backend driver running in the Hyper-V parent partition. That's it, that's the whole vibe: you're asking the parent partition to write a config block for you π«Ά
β¨ SYNOPSIS β¨
int hv_write_config_block (struct pci_dev *pdev , void *buf , unsigned
int len , unsigned int block_id );
π ARGUMENTS π
pdevβ the PCI driver's representation for this device. Basically the device's little ID card πͺͺbufβ the buffer that the config block gets copied from. Your source material, bestie β¨lenβ the size in bytes ofbuf. Gotta tell it how much to take, no cap πblock_idβ identifies which config block is being written. Like a lil name tag for the block π
π₯ RETURN π₯
0 on success, -errno on failure. Slay if it's zero, cry in errno if it isn't π
π SEE ALSO π
The original points you at the kernel file ./drivers/pci/controller/pci-hyperv.c plus this whole friend group of symbols. Everyone's here, nobody's left out π
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_register_block_invalidate(9)hv_msi_free(9)hv_compose_msi_msg(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 β go read your config blocks and stay hydrated π
Sign-off era: this one's from the source/version <pink>./drivers/pci/controller</pink>, dated October 2026, and the page answers to hv_write_config_block(9). 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