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
This commit is contained in:
@@ -378,7 +378,7 @@ trap99:
|
|||||||
1:
|
1:
|
||||||
movl THREAD_flags(%edi), %eax
|
movl THREAD_flags(%edi), %eax
|
||||||
movl %eax, %edx
|
movl %eax, %edx
|
||||||
orl $THREAD_FLAGS_64_BIT_SYSCALL_RETURN, %edx
|
andl $~THREAD_FLAGS_64_BIT_SYSCALL_RETURN, %edx
|
||||||
lock
|
lock
|
||||||
cmpxchgl %edx, THREAD_flags(%edi)
|
cmpxchgl %edx, THREAD_flags(%edi)
|
||||||
jnz 1b
|
jnz 1b
|
||||||
|
|||||||
Reference in New Issue
Block a user