From c3b7f3b979e0df546e2ebd3b27075e8f934bbdb8 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 18 Jan 2008 15:49:21 +0000 Subject: [PATCH] We weren't correctly clearing the THREAD_FLAGS_64_BIT_SYSCALL_RETURN flag -- in fact we were setting it -- so after the first syscall with 64 bit return value we were always taking the slow kernel exit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23609 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/arch/x86/arch_interrupts.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/arch/x86/arch_interrupts.S b/src/system/kernel/arch/x86/arch_interrupts.S index 344ac03e9f..96a98505d0 100644 --- a/src/system/kernel/arch/x86/arch_interrupts.S +++ b/src/system/kernel/arch/x86/arch_interrupts.S @@ -378,7 +378,7 @@ trap99: 1: movl THREAD_flags(%edi), %eax movl %eax, %edx - orl $THREAD_FLAGS_64_BIT_SYSCALL_RETURN, %edx + andl $~THREAD_FLAGS_64_BIT_SYSCALL_RETURN, %edx lock cmpxchgl %edx, THREAD_flags(%edi) jnz 1b