PERFORCE change 119723 for review
Roman Divacky
rdivacky at FreeBSD.org
Sat May 12 11:22:03 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=119723
Change 119723 by rdivacky at rdivacky_witten on 2007/05/12 11:21:38
Copy out oldval before the OPERATION loop and include the copying in of oldval to
the (possible) loop.
Affected files ...
.. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/linux32/linux32_support.s#5 edit
Differences ...
==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/linux32/linux32_support.s#5 (text+ko) ====
@@ -76,15 +76,15 @@
movq $VM_MAXUSER_ADDRESS-4,%rax
cmpq %rax,%rsi
ja futex_fault
- movl (%rsi),%eax
-1: movl %eax,%ecx
+1: movl (%rsi),%eax
+ movl %eax,(%rdx)
+ movl %eax,%ecx
orl %edi,%ecx
#ifdef SMP
lock
#endif
cmpxchgl %ecx,(%rsi)
jnz 1b
- movl %edi,(%rdx)
xorl %eax,%eax
movq %rax,PCB_ONFAULT(%r8)
ret
@@ -95,15 +95,15 @@
movq $VM_MAXUSER_ADDRESS-4,%rax
cmpq %rax,%rsi
ja futex_fault
- movl (%rsi),%eax
-1: movl %eax,%ecx
+1: movl (%rsi),%eax
+ movl %eax,(%rdx)
+ movl %eax,%ecx
andl %edi,%ecx
#ifdef SMP
lock
#endif
cmpxchgl %ecx,(%rsi)
jnz 1b
- movl %edi,(%rdx)
xorl %eax,%eax
movq %rax,PCB_ONFAULT(%r8)
ret
@@ -114,15 +114,15 @@
movq $VM_MAXUSER_ADDRESS-4,%rax
cmpq %rax,%rsi
ja futex_fault
- movl (%rsi),%eax
-1: movl %eax,%ecx
+1: movl (%rsi),%eax
+ movl %eax,(%rdx)
+ movl %eax,%ecx
xorl %edi,%ecx
#ifdef SMP
lock
#endif
cmpxchgl %ecx,(%rsi)
jnz 1b
- movl %edi,(%rdx)
xorl %eax,%eax
movq %rax,PCB_ONFAULT(%r8)
ret
More information about the p4-projects
mailing list