STRUCT ACRN_PCI_REQUEST(9)
π struct acrn_pci_request(9) β a Kernel API Manual moment β¨
okay so bestie, welcome to the struct acrn_pci_request page, straight out of the Kernel API Manual. this is the lowkey iconic little struct that holds Info of a PCI I/O request β that's literally the NAME, we're not making it up, it's giving "cover of the group chat" energy π
β¨ SYNOPSIS β¨
okay so here's the whole vibe, copied exactly because we do not touch the source code, ever, periodt:
struct acrn_pci_request {
__u32 direction;
__u32 reserved[3];
__u64 size;
__u32 value;
__u32 bus;
__u32 dev;
__u32 func;
__u32 reg;
};
look at her. so neat. so structured. main character struct energy fr fr π
π«Ά Members π«Ά
okay so every single field, no skipping, we eat the whole thing:
directionβ the access direction of this request (that's theACRN_IOREQ_DIR_*crew, iykyk) πreservedβ reserved for alignment, and it should be 0, no cap, that's the whole jobsizeβ the access size of this PCI I/O requestvalueβ the read/write value of this PIO I/O request β¨busβ the PCI bus value of this PCI I/O requestdevβ the PCI device value of this PCI I/O requestfuncβ the PCI function value of this PCI I/O requestregβ the PCI config space offset of this PCI I/O request
that's eight fields bestie, count 'em, all accounted for π
π¦ Description π¦
okay so the entire plot twist here is tiny but crucial: you need keep same header layout with struct acrn_pio_request. that's it. that's the whole description. alignment baddie behaviour π§
π SEE ALSO π
like, go read these too, they're all part of the same friend group:
- the Kernel file
./include/uapi/linux/acrn.h struct acrn_mmio_request(9)struct acrn_pio_request(9)struct acrn_io_request(9)struct acrn_ioreq_notify(9)struct acrn_vm_creation(9)struct acrn_gp_regs(9)struct acrn_descriptor_ptr(9)struct acrn_regs(9)struct acrn_vcpu_regs(9)struct acrn_vm_memmap(9)struct acrn_ptdev_irq(9)struct acrn_pcidev(9)struct acrn_mmio_dev_res(9)struct acrn_mmiodev(9)struct acrn_vdev(9)struct acrn_msi_entry(9)struct acrn_cstate_data(9)struct acrn_pstate_data(9)struct acrn_ioeventfd(9)struct acrn_irqfd(9)
the way that's a whole friend group of structs π go say hi, they don't bite π
πΈ quick vibe check bestie: the layout detail is not decorative β that's the actual documented requirement, so don't go rearranging fields and acting surprised. π
and that's the page!! sign-off time π«Ά this one's sourced from ./include/uapi/linux, dated October 2026, and yes the footer's still repping struct acrn_pci_request(9) because consistency slays. mwah, go read your man pages ππ
π¦ 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