From 1ecb3fb821f49450ba4b08ad7d7a23d3acb75c47 Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Fri, 18 May 2012 13:42:09 +0200 Subject: Improvements. Next: initrd. --- src/user/lib/tce/syscall.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/user/lib') diff --git a/src/user/lib/tce/syscall.c b/src/user/lib/tce/syscall.c index 4e81475..3e8d75e 100644 --- a/src/user/lib/tce/syscall.c +++ b/src/user/lib/tce/syscall.c @@ -44,8 +44,8 @@ void thread_start(void *data) { mutex_lock(&_stack_freeing_mutex); if (_stack_to_free != 0) free(_stack_to_free); _stack_to_free = tsd->stack; - asm volatile("movl %0, (_stack_freeing_mutex); int $64;" :: - "a"(SC_THREAD_EXIT), "r"(MUTEX_UNLOCKED)); + asm volatile("movl %%ebx, (_stack_freeing_mutex); int $64;" :: + "a"(SC_THREAD_EXIT), "b"(MUTEX_UNLOCKED)); } void thread_new(void (*entry)(void*), void *data) { struct thread_start_data *tsd = malloc(sizeof(struct thread_start_data)); -- cgit v1.2.3