STRUCT VDUSE_IOVA_INFO(9)
π struct vduse_iova_info(9) π
okay bestie, so this is a page straight out of the Kernel API Manual β struct vduse_iova_info(9), no cap. it's a lil struct that tells you about one IOVA region and honestly? it's giving "small but mighty" energy. β¨
πΈ NAME πΈ
struct vduse_iova_info β information of one IOVA region π
like, literally. it's the info packet for a single IOVA region. that's the whole vibe.
π¦ SYNOPSIS π¦
struct vduse_iova_info {
__u64 start;
__u64 last;
#define VDUSE_IOVA_CAP_UMEM (1 << 0);
__u64 capability;
__u32 asid;
__u32 reserved[5];
};
copy it exactly, bestie, don't be out here retyping it from memory π
π Members π
startβ the start of the IOVA region. where it all begins π«Άlastβ the last of the IOVA region. the end of the era πcapabilityβ the capability of the IOVA region. what it can do, iykyk βasidβ the Address space ID of the IOVA region, only if the device API version is>= 1. so likeβ¦ check your version first, or you're gonna have a bad time πreservedβ reserved for future use, and it needs to be initialized to zero. not "probably zero", not "zero-ish" β zero, fr fr. the kernel is watching π
β¨ Description β¨
so this is the structure used by the VDUSE_IOTLB_GET_INFO ioctl to get information of one IOVA region. that's it, that's the whole job β one ioctl, one region's worth of info, and it ate. π
quick vibe check: reserved still has to be zeroed out. future-you (and the kernel) will thank you π§
π SEE ALSO π
the kernel file ./include/uapi/linux/vduse.h and honestly the whole friend group:
struct vduse_dev_config(9)struct vduse_iotlb_entry(9)struct vduse_config_data(9)struct vduse_vq_config(9)struct vduse_vq_state_split(9)struct vduse_vq_state_packed(9)struct vduse_vq_group_asid(9)struct vduse_vq_info(9)struct vduse_vq_eventfd(9)struct vduse_iova_umem(9)struct vduse_iotlb_entry_v2(9)enum vduse_req_type(9)struct vduse_vq_state(9)struct vduse_dev_status(9)struct vduse_iova_range(9)struct vduse_iova_range_v2(9)struct vduse_vq_ready(9)struct vduse_dev_request(9)struct vduse_dev_response(9)
and that's the whole page, bestie π«Ά it lives in ./include/uapi/linux, and this edition is dated October 2026. slay, go read your ioctls, ily, bye ππ¦
π¦ 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