STRUCT ACRN_PTDEV_IRQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct acrn_ptdev_irq(9) β€” the glow-up

okay so bestie, welcome to the Kernel API Manual ✨ we're talking about struct acrn_ptdev_irq today, and honestly? she's a whole vibe. this is the interrupt data of a passthrough device β€” yes, that's literally what she is, and she's serving it.


🌸 NAME 🌸

struct acrn_ptdev_irq β€” Interrupt data of a passthrough device. that's it, that's the whole name. iconic behaviour, no notes πŸ’…


✨ SYNOPSIS ✨

here's the shape of her, exactly, don't @ me:

struct acrn_ptdev_irq {
    __u32 type;
    __u16 virt_bdf;
    __u16 phys_bdf;
    struct {
      __u32 virt_pin;
      __u32 phys_pin;
      __u32 is_pic_pin;
    } intx;
 };

like… she's compact, she's got a nested struct inside her, she's lowkey built different πŸ¦‹


πŸŽ€ MEMBERS πŸŽ€

  • type β€” Type (ACRN_PTDEV_IRQ_*). yeah the star is a wildcard, it's giving "pick your fighter" 🌈
  • virt_bdf β€” Virtual Bus/Device/Function. the virtual one, the ✨concept✨ of a device
  • phys_bdf β€” Physical Bus/Device/Function. the real one, the one that actually exists in the machine πŸ’€
  • intx β€” Info of interrupt. the interrupt lore lives here, and inside her there's more:
    • intx.virt_pin β€” Virtual IOAPIC pin 🎯
    • intx.phys_pin β€” Physical IOAPIC pin 🎯
    • intx.is_pic_pin β€” Is PIC pin or not. a yes/no vibe check, basically 🫢

πŸ’– DESCRIPTION πŸ’–

This structure will be passed to hypervisor directly. that's it. that's the whole description and honestly the drama is in the brevity β€” no cap, she goes straight to the hypervisor, no middleman, main character energy πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/uapi/linux/acrn.h β€” that's where she lives, that's her address 🏑

and her whole friend group, all the other structs, in the order the manpage says (yes i listed every single one, i would NEVER skip a bestie):

  • struct acrn_mmio_request(9)
  • struct acrn_pio_request(9)
  • struct acrn_pci_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_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)

aaaand that's the page, bestie 🫢 no crumbs left, every flag and field accounted for πŸ’œ

signing off from ./include/uapi/linux, dated October 2026, because struct acrn_ptdev_irq(9) said so πŸ’…βœ¨

πŸ“¦ where this page comes from