Zhibin Li's GSoC status report - #1 of 12

Zhibin Li haoyouab at gmail.com
Tue Jun 4 14:11:13 UTC 2019


Hi all,

Sorry for the delay. I was preparing for my final exam in this week and the
exam will take a few days.

Accomplishments:
- Sent out the patch set of general DRM ioctl decoding. I assume there are
still some issues so please give your comments/feedbacks. BTW tests are
included.
- As for the driver-specific ioctls, I finished those compilation warnings
and errors for i915 DRM ioctl on various versions of kernels/OSes (mostly
come from travis-ci). But i915 ioctl hasn't been fully tested.
- Investigated i810. It seems i810 is a legacy driver and it was removed
from libdrm for a while, which will cause the problem below:

#ifdef HAVE_DRM_H
# include <drm.h>
# include <i810_drm.h>
#else
# include <drm/drm.h>
# include <drm/i810_drm.h>
#endif

When libdrm is present and it's not an old version, HAVE_DRM_H is defined
so both headers (drm.h and drm_i810.h) will be included. It will cause an
error because there is no drm_i810.h. It's easy to workaroud this. Just use
#ifdef ... #else ... #endif around drm.h and drm_i810.h respectively:

#ifdef HAVE_DRM_H
# include <drm.h>
#else
# include <drm/drm.h>
#endif

#ifdef HAVE_I810_DRM_H
# include <i810_drm.h>
#else
# include <drm/i810_drm.h>
#endif

But I am not sure if this will cause any problems because we will probably
use drm.h from libdrm but drm/i810_drm.h which is not from libdrm at the
same time. One other thing is that I think other drivers will meet this
situation some day (I mean becoming legacy and being removed from libdrm).
Any thoughts?

TODO:
- Finish i915 part and its tests at first.
- Maybe revise the patches of general decoding according to others'
feedbacks.
- Investigate other drivers.

Thanks,
Zhibin Li
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20190604/799a75ec/attachment.html>


More information about the Strace-devel mailing list