[PATCH v4 0/5] drm: Add decoding for DRM/KMS and i915 ioctls

Patrik Jakobsson patrik.jakobsson at linux.intel.com
Mon Aug 24 12:42:45 UTC 2015

This set of patches adds a dispatcher for handling DRM ioctls. The
kernel headers for DRM might not be available on all distributions
so we depend on libdrm for those. If libdrm is not available we fall
back on the kernel headers. Since DRM drivers share the same range of
private ioctl numbers I've added a function for detecting the driver
based on it's name.

Changes in v2:
* Rebased to master
* Added Changelog to commits
* Keep strace_SOURCES list sorted
* Removed unneeded includes
* Reduced number of driver name checks by adding tcb private data
* Use tprints() for regular strings
* Reworked entering() / exiting() handling for all ioctls
* Use printstr() to print strings in properly quoted form

Changes in v3:
* Moved all umove() into state checks for single state ioctls
* Removed extra curly bracket
* Moved param argument into entering() state in i915_setparam()
* Don't return before private data is freed in drm_ioctl()

Changes in v4:
* Rebased to master
* Rewrote commit messages to GNU changelog standard
* Added private data support to struct tcb
* Reworked drm driver identification
* Reworked drm header detection
* Use recently added return types for decode functions
* Various small fixes

Patrik Jakobsson (5):
  drm: Add config for detecting libdrm
  drm: Add private data field to trace control block
  drm: Add dispatcher and driver identification for DRM
  drm: Add decoding of i915 ioctls
  drm: Add decoding of DRM and KMS ioctls

 Makefile.am                |   2 +
 configure.ac               |   5 +
 defs.h                     |  11 +
 drm.c                      | 663 +++++++++++++++++++++++++++++++++++++++++++++
 drm_i915.c                 | 342 +++++++++++++++++++++++
 ioctl.c                    |   4 +
 strace.c                   |  14 +
 syscall.c                  |   1 +
 xlat/drm_i915_getparams.in |  28 ++
 xlat/drm_i915_ioctls.in    |  51 ++++
 xlat/drm_i915_setparams.in |   4 +
 11 files changed, 1125 insertions(+)
 create mode 100644 drm.c
 create mode 100644 drm_i915.c
 create mode 100644 xlat/drm_i915_getparams.in
 create mode 100644 xlat/drm_i915_ioctls.in
 create mode 100644 xlat/drm_i915_setparams.in


More information about the Strace-devel mailing list