STRUCT IPROC_PCIE_IB_MAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct iproc_pcie_ib_map(9) ✨

okay so bestie, welcome to the Kernel API Manual πŸ’– this one's all about struct iproc_pcie_ib_map β€” and yes, that's the whole NAME section, it's literally just: the inbound mapping controller-specific parameters for iProc PCIe πŸŽ€ no cap, that's the entire vibe of this struct.

It's giving "little config blob that tells the driver how your hardware's inbound windows actually work" β€” and honestly? iconic. πŸ¦‹


🌸 SYNOPSIS 🌸

struct iproc_pcie_ib_map {
    enum iproc_pcie_ib_map_type type;
    unsigned int size_unit;
    resource_size_t region_sizes[MAX_NUM_IB_REGION_SIZES];
    unsigned int nr_sizes;
    unsigned int nr_windows;
    u16 imap_addr_offset;
    u16 imap_window_offset;
 };

like, that's the whole struct, copy-paste exact, do not touch a single character bestie 😭


πŸ‘‘ Members πŸ‘‘

  • type β€” the inbound mapping region type πŸ’… (spoiler: it's an enum iproc_pcie_ib_map_type)
  • size_unit β€” the size unit used for inbound mapping regions. could be SZ_1K, SZ_1M, or SZ_1G β€” pick your fighter ⭐
  • region_sizes β€” a whole lil list of the supported inbound mapping region sizes, expressed in KB, MB, or GB β€” which one depends on the size unit, iykyk 🌈
  • nr_sizes β€” how many supported inbound mapping region sizes there are, i.e. the count for region_sizes πŸ”’
  • nr_windows β€” how many inbound mapping windows the region supports πŸͺŸ
  • imap_addr_offset β€” the register offset between the upper and lower 32-bit IMAP address registers 🧚 (yes, u16, yes, it's fine)
  • imap_window_offset β€” the register offset between each IMAP window 🌸
ngl the two offset fields are the ones people forget β€” they're u16, they're about IMAP registers, and one is "between upper and lower 32-bit address registers" while the other is "between each window." different things, bestie, don't mix them up πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/pci/controller/pcie-iproc.c
  • struct iproc_pcie_ob_map(9) β€” the outbound sibling, go say hi πŸ‘‹
  • enum iproc_pcie_ib_map_type(9) β€” where type gets its whole personality from ✨

and that's the page, periodt πŸ’œ shoutout to ./drivers/pci/controller for holding it down β€” this one's dated October 2026, so mark your calendar bestie πŸŽ€ 🫢

πŸ“¦ where this page comes from