[Top][All Lists]
[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
>
- Re: [Qemu-devel] [PATCHv2] Add compat eventfd header,
Blue Swirl <=