From c2882b96545eeabf16767c6effa836e6f9991018 Mon Sep 17 00:00:00 2001 From: Riku Voipio Date: Wed, 12 Aug 2009 15:08:24 +0300 Subject: linux-user: add eventfd support Straightforward implementation. This syscall is rare enough that we don't need to support the odder cases, just disable it if host glibc is too old. Signed-off-by: Riku Voipio --- linux-user/syscall.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'linux-user') diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 673eed4..603fec2 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -60,6 +60,9 @@ #ifdef TARGET_GPROF #include #endif +#ifdef CONFIG_EVENTFD +#include +#endif #define termios host_termios #define winsize host_winsize @@ -6974,6 +6977,18 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, break; #endif #endif /* CONFIG_SPLICE */ +#ifdef CONFIG_EVENTFD +#if defined(TARGET_NR_eventfd) + case TARGET_NR_eventfd: + ret = get_errno(eventfd(arg1, 0)); + break; +#endif +#if defined(TARGET_NR_eventfd2) + case TARGET_NR_eventfd2: + ret = get_errno(eventfd(arg1, arg2)); + break; +#endif +#endif /* CONFIG_EVENTFD */ default: unimplemented: gemu_log("qemu: Unsupported syscall: %d\n", num); -- cgit v1.1