XE UAPI OVERVIEW(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ Xe uAPI Overview ✨

okay so this is the Kernel API Manual page for Xe's uAPI, and bestie, it's literally the map to the whole thing πŸ—ΊοΈπŸ’– This section is here to describe the Xe's IOCTL entries, its structs, and all the other Xe-related uAPI such as uevents and PMU (Platform Monitoring Unit) related entries and usage. no cap, that's the whole vibe check of this page πŸ’…


πŸŽ€ List of supported IOCTLs πŸŽ€

these are the icons of the show, fr fr β€” every single one of them, no skipping πŸ™ˆβœ¨

  • DRM_IOCTL_XE_DEVICE_QUERY
  • DRM_IOCTL_XE_GEM_CREATE
  • DRM_IOCTL_XE_GEM_MMAP_OFFSET
  • DRM_IOCTL_XE_VM_CREATE
  • DRM_IOCTL_XE_VM_DESTROY
  • DRM_IOCTL_XE_VM_BIND
  • DRM_IOCTL_XE_EXEC_QUEUE_CREATE
  • DRM_IOCTL_XE_EXEC_QUEUE_DESTROY
  • DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY
  • DRM_IOCTL_XE_EXEC
  • DRM_IOCTL_XE_WAIT_USER_FENCE
  • DRM_IOCTL_XE_OBSERVATION
  • DRM_IOCTL_XE_MADVISE
  • DRM_IOCTL_XE_VM_QUERY_MEM_RANGE_ATTRS
  • DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
  • DRM_IOCTL_XE_VM_GET_PROPERTY

πŸ’– SEE ALSO πŸ’–

and now the extended fam 🫢 β€” the kernel file lives at ./include/uapi/drm/xe_drm.h, and these are all the iconique cross-references you're gonna want bookmarked πŸ”–βœ¨

  • Xe Device Block Diagram(9)
  • Xe IOCTL Extensions(9)
  • struct drm_xe_user_extension(9)
  • struct drm_xe_ext_set_property(9)
  • struct drm_xe_engine_class_instance(9)
  • struct drm_xe_engine(9)
  • struct drm_xe_query_engines(9)
  • enum drm_xe_memory_class(9)
  • struct drm_xe_mem_region(9)
  • struct drm_xe_query_mem_regions(9)
  • struct drm_xe_query_config(9)
  • struct drm_xe_gt(9)
  • struct drm_xe_query_gt_list(9)
  • struct drm_xe_query_topology_mask(9)
  • struct drm_xe_query_engine_cycles(9)
  • struct drm_xe_query_uc_fw_version(9)
  • struct drm_xe_query_pxp_status(9)
  • struct drm_xe_device_query(9)
  • struct drm_xe_gem_create(9)
  • struct drm_xe_gem_mmap_offset(9)
  • struct drm_xe_vm_create(9)
  • struct drm_xe_vm_destroy(9)
  • struct drm_xe_vm_bind_op(9)
  • struct drm_xe_vm_bind(9)
  • struct drm_xe_vm_get_property(9)
  • struct drm_xe_exec_queue_create(9)
  • struct drm_xe_exec_queue_destroy(9)
  • struct drm_xe_exec_queue_get_property(9)
  • struct drm_xe_sync(9)
  • struct drm_xe_exec(9)
  • struct drm_xe_wait_user_fence(9)
  • enum drm_xe_observation_type(9)
  • enum drm_xe_observation_op(9)
  • struct drm_xe_observation_param(9)
  • enum drm_xe_observation_ioctls(9)
  • enum drm_xe_oa_unit_type(9)
  • struct drm_xe_oa_unit(9)
  • struct drm_xe_query_oa_units(9)
  • enum drm_xe_oa_format_type(9)
  • enum drm_xe_oa_property_id(9)
  • struct drm_xe_oa_config(9)
  • struct drm_xe_oa_stream_status(9)
  • struct drm_xe_oa_stream_info(9)
  • enum drm_xe_pxp_session_type(9)
  • enum drm_xe_eu_stall_property_id(9)
  • struct drm_xe_query_eu_stall(9)
  • struct drm_xe_madvise(9)
  • struct drm_xe_mem_range_attr(9)
  • struct drm_xe_vm_query_mem_range_attr(9)
  • struct drm_xe_exec_queue_set_property(9)
  • Xe DRM RAS(9)
  • enum drm_xe_ras_error_severity(9)
  • enum drm_xe_ras_error_component(9)

πŸ¦‹ that's the whole page, bestie β€” nothing cut, nothing skipped, every struct accounted for πŸ’€βœ¨

and a lil sign-off for the credits: this one's sourced from ./include/uapi/drm, dated October 2026 πŸŽ€ periodt, go read the structs πŸ’œπŸŒΈ

πŸ“¦ where this page comes from