STRUCT PCI_EPC_AUX_RESOURCE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct pci_epc_aux_resource(9) β€” like, the whole kernel-API-manual moment πŸ’…

okay bestie, buckle up πŸŽ€ this one's from the Kernel API Manual, and it's all about a struct that describes a physical auxiliary resource that somebody might wanna expose for a peer to use. yes, that's the whole vibe. let's get into it ✨


✨ NAME ✨

struct pci_epc_aux_resource β€” a physical auxiliary resource that may be exposed for peer use 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

struct pci_epc_aux_resource {
    enum pci_epc_aux_resource_type type;
    phys_addr_t phys_addr;
    resource_size_t size;
    enum pci_barno bar;
    resource_size_t bar_offset;
    union {
      struct {
        int irq;
        u32 data;
      } db_mmio;
    } u;
 };

like, that's the literal shape of it, no cap πŸ”₯


πŸ’– Members πŸ’–

  • type β€” the resource type, gorl. go check enum pci_epc_aux_resource_type if you wanna know the actual flavours πŸ‘€
  • phys_addr β€” the physical base address of the resource. the where of it all πŸ“
  • size β€” how big the resource is, in bytes. yes, bytes, the standard unit of "how much" πŸ“
  • bar β€” the BAR number where this resource is already exposed to the RC. and if it's not exposed? it's NO_BAR, bestie πŸ’€
  • bar_offset β€” the offset within bar where the resource actually starts. tiny little caveat tho: this is only valid iff bar != NO_BAR ⚠️ like, don't come for it if bar is NO_BAR, it literally doesn't apply πŸ™ˆ
  • u β€” type-specific metadata. it's a union, it's giving "depends on the type" main character energy:
    • db_mmio β€” the db_mmio struct inside the union, holding:
      • int irq β€” the irq field, an int
      • u32 data β€” the data field, a u32

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file ./include/linux/pci-epc.h, plus the whole little friend group of related pages:

  • struct pci_epc_map(9)
  • enum pci_epc_aux_resource_type(9)
  • struct pci_epc_ops(9)
  • struct pci_epc_mem_window(9)
  • struct pci_epc_mem(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)

like, that's the whole group chat, go read them all fr fr πŸ“š


ok that's the page!! mwah πŸ’‹ this one lives in ./include/linux and it's dated October 2026 β€” so yeah, mark your calendars, screenshot it, whatever, and go slay some EPC resources. periodt. πŸ’œβœ¨πŸŒˆ
πŸ“¦ where this page comes from