STRUCT DRM_GPUVA_OP_MAP(9)
π struct drm_gpuva_op_map(9) β GPU VA map operation π
okay bestie, welcome to the Kernel API Manual β¨ this page is literally about one little struct that represents a GPU VA map operation, and we are gonna get into every single field. no skipping, no cap π
πΈ NAME πΈ
struct drm_gpuva_op_map β GPU VA map operation. that's the name, and it's giving exactly what it says on the tin π«Ά
β¨ SYNOPSIS β¨
struct drm_gpuva_op_map {
struct {
u64 addr;
u64 range;
} va;
struct {
u64 offset;
struct drm_gem_object *obj;
} gem;
};
π Members π
vaβ structure containing address and range of a map operation. nested-struct realness, we love to see it π«Άva.addrβ the base address of the new mapping. where the mapping starts, bestie πva.rangeβ the range of the new mapping. how much space it's taking up πΈ
gemβ structure containing thedrm_gem_objectand its offset. the gem side of the operation πgem.offsetβ the offset within thedrm_gem_object. where we're looking inside the gem πgem.objβ thedrm_gem_objectto map. this is the actual object getting mapped, periodt π₯
π¦ Description π¦
so this structure represents a single map operation generated by the DRM GPU VA manager. literally one map operation, wrapped in a struct, and the DRM GPU VA manager is the one generating it. iconic β¨
π SEE ALSO π
okay the see-also list is long and we are not skipping a single one, bestie. kernel file: ./include/drm/drm_gpuvm.h.
then the whole squad: enum drm_gpuva_flags(9), struct drm_gpuva(9), drm_gpuva_invalidate(9), drm_gpuva_invalidated(9), enum drm_gpuvm_flags(9), struct drm_gpuvm(9), drm_gpuvm_get(9), drm_gpuvm_resv_protected(9), drm_gpuvm_immediate_mode(9), drm_gpuvm_resv(9), drm_gpuvm_resv_obj(9), drm_gpuvm_is_extobj(9), drm_gpuvm_for_each_va_range(9), drm_gpuvm_for_each_va_range_safe(9), drm_gpuvm_for_each_va(9), drm_gpuvm_for_each_va_safe(9), struct drm_gpuvm_exec(9), drm_gpuvm_exec_unlock(9), drm_gpuvm_exec_resv_add_fence(9), drm_gpuvm_exec_validate(9), struct drm_gpuvm_bo(9), drm_gpuvm_bo_get(9), drm_gpuvm_bo_gem_evict(9), drm_gpuvm_bo_for_each_va(9), drm_gpuvm_bo_for_each_va_safe(9), enum drm_gpuva_op_type(9), struct drm_gpuva_op_unmap(9), struct drm_gpuva_op_remap(9), struct drm_gpuva_op_prefetch(9), struct drm_gpuva_op(9), struct drm_gpuva_ops(9), drm_gpuva_for_each_op(9), drm_gpuva_for_each_op_safe(9), drm_gpuva_for_each_op_from_reverse(9), drm_gpuva_for_each_op_reverse(9), drm_gpuva_first_op(9), drm_gpuva_last_op(9), drm_gpuva_prev_op(9), drm_gpuva_next_op(9), struct drm_gpuvm_map_req(9), struct drm_gpuvm_ops(9), drm_gpuva_op_remap_to_unmap_range(9).
mwah π that's the whole page, bestie. source/version/date tea: it's from ./include/drm, dated October 2026, and the page itself is struct drm_gpuva_op_map(9). slay π
π¦ 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