qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCHv2] Add compat eventfd header


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCHv2] Add compat eventfd header
Date: Fri, 1 Jul 2011 23:05:28 +0300

On Thu, Jun 30, 2011 at 6:57 PM, Michael S. Tsirkin <address@hidden> wrote:
> Support build on rhel 5.X where we have syscall for eventfd but not
> userspace wrapper.
>
> (cherry-picked from commit 9e3269181e9bc56feb43bcd4e8ce0b82cd543e65
>  in qemu-kvm.git).
>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
>
> Changes from v1:
>  checkpatch fix
>  address comments by agraf
>  verify we are on linux
>
>  compat/sys/eventfd.h |   20 ++++++++++++++++++++
>  configure            |    6 ++++--
>  2 files changed, 24 insertions(+), 2 deletions(-)
>  create mode 100644 compat/sys/eventfd.h
>
> diff --git a/compat/sys/eventfd.h b/compat/sys/eventfd.h
> new file mode 100644
> index 0000000..1801a5f
> --- /dev/null
> +++ b/compat/sys/eventfd.h

Since we have linux-headers directory now, the directory should be
compat-headers. I'd also add 'linux' directory below that to avoid
collisions, so the full path would be
compat-headers/linux/sys/eventfd.h.

> @@ -0,0 +1,20 @@
> +#ifndef _COMPAT_SYS_EVENTFD
> +#define _COMPAT_SYS_EVENTFD
> +
> +#ifdef CONFIG_EVENTFD
> +
> +#ifndef __linux__
> +#error __linux__ is not defined: eventfd is only supported on linux
> +#endif

With the linux directory, this check wouldn't be needed. It's not
incorrect and we could add more specific checks later (for example if
SYS_eventfd is not defined).

> +
> +#include <unistd.h>
> +#include <syscall.h>
> +
> +static inline int eventfd(int count, int flags)
> +{
> +    return syscall(SYS_eventfd, count, flags);
> +}
> +
> +#endif
> +
> +#endif
> diff --git a/configure b/configure
> index 856b41e..6f7dd74 100755
> --- a/configure
> +++ b/configure
> @@ -822,7 +822,6 @@ esac
>
>  [ -z "$guest_base" ] && guest_base="$host_guest_base"
>
> -
>  default_target_list=""
>
>  # these targets are portable
> @@ -891,6 +890,9 @@ sparc64-bsd-user \
>  "
>  fi
>
> +#compat headers
> +QEMU_CFLAGS="$QEMU_CFLAGS -idirafter $source_path/compat"

Please use $source_path/compat-headers/$targetos/.

> +
>  if test x"$show_help" = x"yes" ; then
>  cat << EOF
>
> @@ -2122,7 +2124,7 @@ int main(void)
>     return 0;
>  }
>  EOF
> -if compile_prog "" "" ; then
> +if compile_prog "-DCONFIG_EVENTFD" "" ; then
>   eventfd=yes
>  fi
>
> --
> 1.7.5.53.gc233e
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]