[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3] linux-user: syscall: ioctls: support DRM_IOCTL_VERSION
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v3] linux-user: syscall: ioctls: support DRM_IOCTL_VERSION |
Date: |
Thu, 28 May 2020 12:25:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 |
Le 23/05/2020 à 15:24, chengang@emindsoft.com.cn a écrit :
> From: Chen Gang <chengang@emindsoft.com.cn>
>
> Another DRM_IOCTL_* commands will be done later.
>
> Signed-off-by: Chen Gang <chengang@emindsoft.com.cn>
> ---
> configure | 18 +++++++++++
> linux-user/ioctls.h | 3 ++
> linux-user/syscall.c | 61 ++++++++++++++++++++++++++++++++++++++
> linux-user/syscall_defs.h | 15 ++++++++++
> linux-user/syscall_types.h | 11 +++++++
> 5 files changed, 108 insertions(+)
>
> diff --git a/configure b/configure
> index e225a1e3ff..2c2c489d1e 100755
> --- a/configure
> +++ b/configure
> @@ -3912,6 +3912,24 @@ EOF
> fi
> fi
>
> +#########################################
> +# libdrm check
> +
> +cat > $TMPC << EOF
> +#include <libdrm/drm.h>
> +#include <sys/ioctl.h>
> +int main(void)
> +{
> + struct drm_version version;
> + ioctl(-1, DRM_IOCTL_VERSION, &version);
> + return 0;
> +}
> +EOF
> +if ! compile_prog "" ; then
> + error_exit "libdrm check failed" \
> + "Make sure to have the libdrm/drm.h installed."
> +fi
You break the build of qemu if libdrm is not available, not a good idea.
In fact, you should only check for the include with something like
"check_include libdrm/drm.h" and then define a HAVE_DRM_H to use it
around the new code:
#ifdef HAVE_DRM_H
#include <libdrm/drm.h>
#endif
...
#ifdef HAVE_DRM_H
static inline abi_long target_to_host_drmversion(...
...
#endif
...
#ifdef HAVE_DRM_H
IOCTL_SPECIAL(DRM_IOCTL_VERSION,...
...
#endif
Thanks,
Laurent