STRUCT PCI_EPC_BAR_DESC(9)
πΈ struct pci_epc_bar_desc(9) πΈ
okay bestie, welcome to the Kernel API Manual page for struct pci_epc_bar_desc β yes it's a whole mouthful, but it's literally just the hardware description for a BAR, and honestly? kind of a baddie for it. π
β¨ NAME β¨
struct pci_epc_bar_desc β the hardware description for a BAR. that's it, that's the vibe check, she describes hardware. iconic.
π SYNOPSIS π
struct pci_epc_bar_desc {
enum pci_epc_bar_type type;
u64 fixed_size;
bool only_64bit;
u8 nr_rsvd_regions;
const struct pci_epc_bar_rsvd_region *rsvd_regions;
};
look at her. five fields. no notes. π«Ά
π Members π
so, field by field, group-chat style:
typeβ the type of the BAR. that's the whole job. which type of BAR it is. simple, elegant, main character energy.fixed_sizeβ the fixed size, and heads up: this one only applies iftypeisBAR_FIXED_MASK. so if the type isn't that, this number is just sitting there not applying. not me pointing that out. πonly_64bitβ iftrue, an EPF driver is not allowed to choose whether this BAR gets configured as 32-bit or 64-bit β the EPF driver must configure this BAR as 64-bit. no options, no debate, it's giving "the choice was made for you." βnr_rsvd_regionsβ the number of fixed subregions described forBAR_RESERVED. count 'em. π₯rsvd_regionsβ the fixed subregions behindBAR_RESERVED. yes, plural, yes it's a pointer type in the synopsis, pls stay consistent bestie. π¦
lowkey reminder:fixed_sizeis conditional ontypebeingBAR_FIXED_MASK, andonly_64bitbeingtruelocks out EPF driver choice entirely. those are the two things people mess up, so like... don't. π
π¦ SEE ALSO π¦
okay the friend group, all of them, going in the exact order they showed up:
- Kernel file
./include/linux/pci-epc.h 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_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_features(9)
and that's the page!! π sign-off time: this little beauty lives under ./include/linux, dated October 2026, and belongs to the Kernel API Manual β so go forth, read your BAR descs, and slay. 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