[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/7] Pass select() arguments directly to do_select()
From: |
Timothy Pearson |
Subject: |
[Qemu-devel] [PATCH 3/7] Pass select() arguments directly to do_select() on x86 platforms |
Date: |
Sat, 18 Jun 2016 19:11:16 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100922 Thunderbird/3.1.4 |
This matches the calling conventions in the Linux kernel and
resolves select() hangs on i386/x86_64 guests.
Signed-off-by: Timothy Pearson <address@hidden>
---
linux-user/syscall.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 2968b57..644a490 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4785,6 +4785,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long
arg)
void *argptr;
ie = ioctl_entries;
+
for(;;) {
if (ie->target_cmd == 0) {
gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
@@ -7899,7 +7900,7 @@ abi_long do_syscall(void *cpu_env, int num,
abi_long arg1,
break;
#if defined(TARGET_NR_select)
case TARGET_NR_select:
-#if defined(TARGET_S390X) || defined(TARGET_ALPHA)
+#if defined(TARGET_S390X) || defined(TARGET_ALPHA) ||
defined(TARGET_I386) || defined(TARGET_X86_64)
ret = do_select(arg1, arg2, arg3, arg4, arg5);
#else
{
--
2.1.4
- [Qemu-devel] [PATCH 3/7] Pass select() arguments directly to do_select() on x86 platforms,
Timothy Pearson <=