pci_epc_unmap_addr(9)
π pci_epc_unmap_addr(9) β the Kernel API Manual, bestie edition π
okay so real talk, this is a page from the Kernel API Manual, and the star of the show is pci_epc_unmap_addr π
β¨ NAME β¨
pci_epc_unmap_addr β unmap CPU address from PCI address π¦
Literally what it says on the tin: it unhooks a CPU address from a PCI address. The un-map. The breakup arc. π
πΈ SYNOPSIS πΈ
void pci_epc_unmap_addr (struct pci_epc *epc , u8 func_no , u8 vfunc_no
, phys_addr_t phys_addr );
notice how it returns void? yeah, it's not giving you anything back, it's giving you closure and that's it π
π«Ά ARGUMENTS π«Ά
epcβ the EPC device on which address is allocated. like, the actual device this whole thing lives on, okay? πfunc_noβ the physical endpoint function number in the EPC device. the physical one, keep that straight β¨vfunc_noβ the virtual endpoint function number in the physical function. yes there's a virtual one too, it's giving layers πphys_addrβ physical address of the local system. the local one, bestie, don't get it twisted π
π§ DESCRIPTION π§
Invoke this when you need to unmap the CPU address from the PCI address. that's the whole vibe. it's the undo button, the "jk", the never mind π β¨
ngl this is the counterpart operation β you mapped it, now you're un-mapping it. no cap, that's the entire description in the source, so I'm not gonna manifest extra lore that isn't there π
π₯ SEE ALSO π₯
- Kernel file
./drivers/pci/endpoint/pci-epc-core.cβ that's where the magic lives, go read it π 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_raise_irq(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_map_addr(9)β the other half of this situationship, obviously π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)
that's a whole friend group fr fr, they all ate π
and that's the page, bestie! cute lil sign-off: this one's filed under ./drivers/pci/endpoint and dated October 2026, so mark your calendar πβ¨π¦ slay, you now understand pci_epc_unmap_addr(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