diff --git a/executer/user/mcexec.c b/executer/user/mcexec.c index 7f549b1a..1bc4649f 100644 --- a/executer/user/mcexec.c +++ b/executer/user/mcexec.c @@ -590,14 +590,16 @@ int main_loop(int fd, int cpu, pthread_mutex_t *lock) break; case __NR_gettimeofday: + case __NR_futex: ret = gettimeofday((struct timeval *)dma_buf, NULL); SET_ERR(ret); - __dprintf("gettimeofday=%016ld,%09ld\n", ((struct timeval *)dma_buf)->tv_sec, ((struct timeval *)dma_buf)->tv_usec); + __dprintf("gettimeofday=%016ld,%09ld\n", + ((struct timeval *)dma_buf)->tv_sec, + ((struct timeval *)dma_buf)->tv_usec); do_syscall_return(fd, cpu, ret, 1, (unsigned long)dma_buf, w.sr.args[0], sizeof(struct timeval)); break; - case __NR_clone: __dprintf("MIC clone(), new thread's cpu_id: %ld\n", w.sr.args[0]); diff --git a/kernel/syscall.c b/kernel/syscall.c index a015c9a7..9b20987e 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -654,7 +654,7 @@ SYSCALL_DECLARE(futex) if (utime && (op == FUTEX_WAIT_BITSET || op == FUTEX_WAIT)) { struct syscall_request request IHK_DMA_ALIGN; struct timeval tv_now; - request.number = 96; + request.number = n; unsigned long __phys; dkprintf("futex,utime and FUTEX_WAIT_*, uaddr=%lx, []=%x\n", (unsigned long)uaddr, *uaddr);