STRUCT PCI_EPC_MEM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to the Kernel API Manual β€” this one's struct pci_epc_mem, which is literally the address space of the endpoint controller. that's the whole vibe. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct pci_epc_mem {
    struct pci_epc_mem_window window;
    unsigned long   *bitmap;
    int pages;
    struct mutex    lock;
 };

like look at her. four fields. flawless. πŸ’…


πŸŽ€ Members πŸŽ€

  • window β€” the address window of the endpoint controller. that's her whole territory, her little kingdom, no cap πŸ‘‘
  • bitmap β€” a bitmap whose entire job is managing the PCI address space. she's the one keeping track of what's taken and what's free, main character energy fr 🌸
  • pages β€” the number of bits representing the address region. yes queen, count them bits 🧚
  • lock β€” a mutex protecting the bitmap. because two threads touching the bitmap at once is not the vibes, and this lock said "not on my watch" πŸ’€πŸ”’

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/pci-epc.h β€” and the whole friend group:

  • struct pci_epc_map(9)
  • enum pci_epc_aux_resource_type(9)
  • struct pci_epc_aux_resource(9)
  • struct pci_epc_ops(9)
  • struct pci_epc_mem_window(9)
  • struct pci_epc(9)
  • enum pci_epc_bar_type(9)
  • enum pci_epc_bar_rsvd_region_type(9)
  • struct pci_epc_bar_rsvd_region(9)
  • struct pci_epc_bar_desc(9)
  • struct pci_epc_features(9)

ngl the whole squad is linked above, go read them, iykyk 🫢

mwah πŸ’– that's a wrap β€” sourced fresh from ./include/linux, brought to you by the Kernel API Manual, dated October 2026. periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from