STRUCT ACRN_VM_MEMMAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct acrn_vm_memmap(9) β€” like, the whole Kernel API Manual page, bestie ✨

okay so picture this: we're deep in the Kernel API Manual, and the star of the show is struct acrn_vm_memmap (section 9, obviously πŸ‘‘). It's giving EPT memory mapping info for a User VM, and honestly? It ate. Let's get into it πŸŽ€


🌸 NAME 🌸

struct acrn_vm_memmap β€” literally just "A EPT memory mapping info for a User VM." no cap, that's the whole vibe πŸ¦‹


✨ SYNOPSIS ✨

here's the shape of it, copy it exactly bestie, don't freestyle:

struct acrn_vm_memmap {
    __u32 type;
    __u32 attr;
    __u64 user_vm_pa;
    union {
      __u64 service_vm_pa;
      __u64 vma_base;
    };
    __u64 len;
 };

🫢 Members 🫢

okay so every single member, and yes they all get the same energy (iykyk):

  • type β€” the Type of the memory mapping (ACRM_MEMMAP_*). You Pass to hypervisor directly, bestie. no middleman πŸ’…
  • attr β€” the Attribute of the memory mapping. Also Pass to hypervisor directly. periodt ✨
  • user_vm_pa β€” Physical address of User VM. Pass to hypervisor directly, always πŸ¦‹
  • {unnamed_union} β€” anonymous πŸ‘» (yes it's really named that, we love a mysterious icon)
  • service_vm_pa β€” Physical address of Service VM. Pass to hypervisor directly πŸ’–
  • vma_base β€” VMA address of Service VM. Pass to hypervisor directly πŸŽ€
  • len β€” Length of the memory mapping. Pass to hypervisor directly, that's the rule 🌸
πŸ’€ friendly reminder: the "Pass to hypervisor directly" thing shows up on every single one of these. It's not me being lazy, it's in the source. respect the lore.

🌈 SEE ALSO 🌈

the whole friend group 🫢 β€” 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_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)

like, the entire roster showed up to the group chat 😭πŸ”₯


and that's the page!! huge shoutout to the ./include/uapi/linux directory for hosting all this, dated October 2026 (future queen behavior ⭐), filed under struct acrn_vm_memmap(9). mwah, go read your hypervisor docs bestie πŸ’œπŸ§š

πŸ“¦ where this page comes from