STRUCT ACRN_IOEVENTFD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct acrn_ioeventfd(9) ✨

okay bestie, so this is a page from the Kernel API Manual and it's literally all about struct acrn_ioeventfd β€” the lil data bundle you use to operate a &struct hsm_ioeventfd. yes, the naming is a choice. we move. πŸ’…


🌸 NAME 🌸

struct acrn_ioeventfd β€” the data you need to operate a &struct hsm_ioeventfd πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole shape of it, no cap:

struct acrn_ioeventfd {
    __u32 fd;
    __u32 flags;
    __u64 addr;
    __u32 len;
    __u32 reserved;
    __u64 data;
 };

look at her. iconic. ✨


πŸ’– Members πŸ’–

every field, every vibe, iykyk:

  • fd β€” the fd of the eventfd that's associated with a hsm_ioeventfd 🫢
  • flags β€” a logical-OR of ACRN_IOEVENTFD_FLAG_* (yes, OR them together, it's giving build-a-bear)
  • addr β€” the start address of the IO range of the ioeventfd πŸ“
  • len β€” the length of that IO range of the ioeventfd
  • reserved β€” reserved, and fr fr it should be 0 🚨
  • data β€” data for data matching (that's the actual description, she's a little mysterious, we respect it) πŸ’€

πŸ”₯ Description πŸ”₯

okay so here's the tea, and this part is genuinely important:

  • Without the flag ACRN_IOEVENTFD_FLAG_DEASSIGN, the ioctl ACRN_IOCTL_IOEVENTFD creates a struct hsm_ioeventfd whose properties originate from struct acrn_ioeventfd. new struct, fresh out the box, slay. 🌈
  • With the flag ACRN_IOEVENTFD_FLAG_DEASSIGN, that same ioctl ACRN_IOCTL_IOEVENTFD destroys the struct hsm_ioeventfd matching the fd. rip bestie, you had a good run. 😭
so like, one flag is the difference between "make it" and "unmake it" β€” do not mix those up, that's the whole plot. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./include/uapi/linux/acrn.h
  • 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_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_irqfd(9)

that's the whole friend group right there, go say hi 🧚


and that's the page!! mwah πŸ’œ this one lives in ./include/uapi/linux and the version/date tag on it says October 2026 β€” so yeah, bookmark her, she's from the future and she ate. periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from