STRUCT DRM_PVR_IOCTL_CREATE_BO_ARGS(9)
π struct drm_pvr_ioctl_create_bo_args(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this one's all about struct drm_pvr_ioctl_create_bo_args, and honestly? it's giving "tiny struct, big responsibilities" energy. it's the arguments bundle you hand over to %DRM_IOCTL_PVR_CREATE_BO, and we're gonna go through every field like it's a group project and you actually have to know your part π«Ά
β¨ SYNOPSIS β¨
like, here's the whole vibe, literally character for character:
struct drm_pvr_ioctl_create_bo_args {
__u64 size;
__u32 handle;
__u32 _padding_c;
__u64 flags;
};
no cap, that's the entire struct. four fields. she's compact and she knows it π
π Members π
sizeβ [IN] the size of the buffer object you're creating. and listen: this must be page size aligned. not "roughly", not "close enough" β aligned, fr fr π§handleβ [OUT] the GEM handle of the shiny new buffer object, the one you'll actually use in userspace. it's an output, so don't go stuffing your own value in there, bestie π_padding_cβ reserved. this field must be zeroed. that's it. that's the whole job. zero it and move on πflagsβ [IN] options that affect how this creation operation behaves and future mapping operations on the object you just made (yes, it's a long-term commitment, iconic π). this field must be a valid combination ofDRM_PVR_BO_*values, with all bits marked as reserved set to zero. so: valid combo + reserved bits zeroed. do not freestyle πΈ
β οΈ quick vibe check: _padding_c zeroed, reserved bits zeroed. the kernel is not playing about this and neither should you π
π¦ SEE ALSO π¦
okay this list is long long, but every single one is here because they're all connected, iykyk:
- Kernel file
./include/uapi/drm/pvr_drm.hPowerVR UAPI(9) - struct drm_pvr_obj_array(9)
- DRM_PVR_OBJ_ARRAY(9)
- PowerVR IOCTL interface(9)
- PVR_IOCTL(9)
- PowerVR IOCTL DEV_QUERY interface(9)
- struct drm_pvr_dev_query_gpu_info(9)
- struct drm_pvr_dev_query_runtime_info(9)
- struct drm_pvr_dev_query_quirks(9)
- struct drm_pvr_dev_query_enhancements(9)
- enum drm_pvr_heap_id(9)
- struct drm_pvr_heap(9)
- struct drm_pvr_dev_query_heap_info(9)
- enum drm_pvr_static_data_area_usage(9)
- struct drm_pvr_static_data_area(9)
- struct drm_pvr_dev_query_static_data_areas(9)
- enum drm_pvr_dev_query(9)
- struct drm_pvr_ioctl_dev_query_args(9)
- PowerVR IOCTL CREATE_BO interface(9)
- Flags for CREATE_BO(9)
- PowerVR IOCTL GET_BO_MMAP_OFFSET interface(9)
- struct drm_pvr_ioctl_get_bo_mmap_offset_args(9)
- PowerVR IOCTL CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT interfaces(9)
- struct drm_pvr_ioctl_create_vm_context_args(9)
- struct drm_pvr_ioctl_destroy_vm_context_args(9)
- PowerVR IOCTL VM_MAP and VM_UNMAP interfaces(9)
- struct drm_pvr_ioctl_vm_map_args(9)
- struct drm_pvr_ioctl_vm_unmap_args(9)
- PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces(9)
- enum drm_pvr_ctx_priority(9)
- enum drm_pvr_ctx_type(9)
- struct drm_pvr_ioctl_create_context_args(9)
- struct drm_pvr_ioctl_destroy_context_args(9)
- PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces(9)
- struct drm_pvr_ioctl_create_free_list_args(9)
- struct drm_pvr_ioctl_destroy_free_list_args(9)
- PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces(9)
- struct drm_pvr_create_hwrt_geom_data_args(9)
- struct drm_pvr_create_hwrt_rt_data_args(9)
- struct drm_pvr_ioctl_create_hwrt_dataset_args(9)
- struct drm_pvr_ioctl_destroy_hwrt_dataset_args(9)
- PowerVR IOCTL SUBMIT_JOBS interface(9)
- Flags for the drm_pvr_sync_op object.(9)
- struct drm_pvr_sync_op(9)
- Flags for SUBMIT_JOB ioctl geometry command.(9)
- Flags for SUBMIT_JOB ioctl fragment command.(9)
- Flags for SUBMIT_JOB ioctl compute command.(9)
- Flags for SUBMIT_JOB ioctl transfer command.(9)
- enum drm_pvr_job_type(9)
- struct drm_pvr_hwrt_data_ref(9)
- struct drm_pvr_job(9)
- struct drm_pvr_ioctl_submit_jobs_args(9)
that's the whole page bestie, you ate that π mwah π
sign-off time: this little icon lives in ./include/uapi/drm, dated October 2026, and it's section 9 of the Kernel API Manual β go forth and create buffer objects responsibly πβ¨
π¦ 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