diff options
author | pjd <pjd@FreeBSD.org> | 2007-04-12 23:14:25 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2007-04-12 23:14:25 +0000 |
commit | 52f379b390182080f44d5137bd6a7c9c7ad4f943 (patch) | |
tree | b80eb1ae73d818ad4f9af9cf9dbe8ec76b147a1b /sys/cddl/contrib/opensolaris/common | |
parent | 3e40f10d804a9855b3f6656810b6e701b490c48a (diff) | |
download | FreeBSD-src-52f379b390182080f44d5137bd6a7c9c7ad4f943.zip FreeBSD-src-52f379b390182080f44d5137bd6a7c9c7ad4f943.tar.gz |
MFp4: Bring back comments.
Requested by: jhb
Diffstat (limited to 'sys/cddl/contrib/opensolaris/common')
-rw-r--r-- | sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S | 116 | ||||
-rw-r--r-- | sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S | 242 |
2 files changed, 179 insertions, 179 deletions
diff --git a/sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S b/sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S index 1c34b53..6a8ccb4 100644 --- a/sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S +++ b/sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S @@ -78,52 +78,52 @@ ENTRY(atomic_inc_8_nv) ALTENTRY(atomic_inc_uchar_nv) - movb (%rdi), %al + movb (%rdi), %al // %al = old value 1: - leaq 1(%rax), %rcx + leaq 1(%rax), %rcx // %cl = new value lock - cmpxchgb %cl, (%rdi) + cmpxchgb %cl, (%rdi) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_inc_uchar_nv) SET_SIZE(atomic_inc_8_nv) ENTRY(atomic_inc_16_nv) ALTENTRY(atomic_inc_ushort_nv) - movw (%rdi), %ax + movw (%rdi), %ax // %ax = old value 1: - leaq 1(%rax), %rcx + leaq 1(%rax), %rcx // %cx = new value lock - cmpxchgw %cx, (%rdi) + cmpxchgw %cx, (%rdi) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_inc_ushort_nv) SET_SIZE(atomic_inc_16_nv) ENTRY(atomic_inc_32_nv) ALTENTRY(atomic_inc_uint_nv) - movl (%rdi), %eax + movl (%rdi), %eax // %eax = old value 1: - leaq 1(%rax), %rcx + leaq 1(%rax), %rcx // %ecx = new value lock - cmpxchgl %ecx, (%rdi) + cmpxchgl %ecx, (%rdi) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_inc_uint_nv) SET_SIZE(atomic_inc_32_nv) ENTRY(atomic_inc_64_nv) ALTENTRY(atomic_inc_ulong_nv) - movq (%rdi), %rax + movq (%rdi), %rax // %rax = old value 1: - leaq 1(%rax), %rcx + leaq 1(%rax), %rcx // %rcx = new value lock - cmpxchgq %rcx, (%rdi) + cmpxchgq %rcx, (%rdi) // try to stick it in jne 1b - movq %rcx, %rax + movq %rcx, %rax // return new value ret SET_SIZE(atomic_inc_ulong_nv) SET_SIZE(atomic_inc_64_nv) @@ -162,52 +162,52 @@ ENTRY(atomic_dec_8_nv) ALTENTRY(atomic_dec_uchar_nv) - movb (%rdi), %al + movb (%rdi), %al // %al = old value 1: - leaq -1(%rax), %rcx + leaq -1(%rax), %rcx // %cl = new value lock - cmpxchgb %cl, (%rdi) + cmpxchgb %cl, (%rdi) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_dec_uchar_nv) SET_SIZE(atomic_dec_8_nv) ENTRY(atomic_dec_16_nv) ALTENTRY(atomic_dec_ushort_nv) - movw (%rdi), %ax + movw (%rdi), %ax // %ax = old value 1: - leaq -1(%rax), %rcx + leaq -1(%rax), %rcx // %cx = new value lock - cmpxchgw %cx, (%rdi) + cmpxchgw %cx, (%rdi) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_dec_ushort_nv) SET_SIZE(atomic_dec_16_nv) ENTRY(atomic_dec_32_nv) ALTENTRY(atomic_dec_uint_nv) - movl (%rdi), %eax + movl (%rdi), %eax // %eax = old value 1: - leaq -1(%rax), %rcx + leaq -1(%rax), %rcx // %ecx = new value lock - cmpxchgl %ecx, (%rdi) + cmpxchgl %ecx, (%rdi) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_dec_uint_nv) SET_SIZE(atomic_dec_32_nv) ENTRY(atomic_dec_64_nv) ALTENTRY(atomic_dec_ulong_nv) - movq (%rdi), %rax + movq (%rdi), %rax // %rax = old value 1: - leaq -1(%rax), %rcx + leaq -1(%rax), %rcx // %rcx = new value lock - cmpxchgq %rcx, (%rdi) + cmpxchgq %rcx, (%rdi) // try to stick it in jne 1b - movq %rcx, %rax + movq %rcx, %rax // return new value ret SET_SIZE(atomic_dec_ulong_nv) SET_SIZE(atomic_dec_64_nv) @@ -278,28 +278,28 @@ ENTRY(atomic_add_8_nv) ALTENTRY(atomic_add_char_nv) - movb (%rdi), %al + movb (%rdi), %al // %al = old value 1: movb %sil, %cl - addb %al, %cl + addb %al, %cl // %cl = new value lock - cmpxchgb %cl, (%rdi) + cmpxchgb %cl, (%rdi) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_add_char_nv) SET_SIZE(atomic_add_8_nv) ENTRY(atomic_add_16_nv) ALTENTRY(atomic_add_short_nv) - movw (%rdi), %ax + movw (%rdi), %ax // %ax = old value 1: movw %si, %cx - addw %ax, %cx + addw %ax, %cx // %cx = new value lock - cmpxchgw %cx, (%rdi) + cmpxchgw %cx, (%rdi) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_add_short_nv) SET_SIZE(atomic_add_16_nv) @@ -336,28 +336,28 @@ ENTRY(atomic_and_8_nv) ALTENTRY(atomic_and_uchar_nv) - movb (%rdi), %al + movb (%rdi), %al // %al = old value 1: movb %sil, %cl - andb %al, %cl + andb %al, %cl // %cl = new value lock - cmpxchgb %cl, (%rdi) + cmpxchgb %cl, (%rdi) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_and_uchar_nv) SET_SIZE(atomic_and_8_nv) ENTRY(atomic_and_16_nv) ALTENTRY(atomic_and_ushort_nv) - movw (%rdi), %ax + movw (%rdi), %ax // %ax = old value 1: movw %si, %cx - andw %ax, %cx + andw %ax, %cx // %cx = new value lock - cmpxchgw %cx, (%rdi) + cmpxchgw %cx, (%rdi) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_and_ushort_nv) SET_SIZE(atomic_and_16_nv) @@ -392,28 +392,28 @@ ENTRY(atomic_or_8_nv) ALTENTRY(atomic_or_uchar_nv) - movb (%rdi), %al + movb (%rdi), %al // %al = old value 1: movb %sil, %cl - orb %al, %cl + orb %al, %cl // %cl = new value lock - cmpxchgb %cl, (%rdi) + cmpxchgb %cl, (%rdi) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_and_uchar_nv) SET_SIZE(atomic_and_8_nv) ENTRY(atomic_or_16_nv) ALTENTRY(atomic_or_ushort_nv) - movw (%rdi), %ax + movw (%rdi), %ax // %ax = old value 1: movw %si, %cx - orw %ax, %cx + orw %ax, %cx // %cx = new value lock - cmpxchgw %cx, (%rdi) + cmpxchgw %cx, (%rdi) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_or_ushort_nv) SET_SIZE(atomic_or_16_nv) @@ -527,7 +527,7 @@ lock btsq %rsi, (%rdi) jnc 1f - decl %eax + decl %eax // return -1 1: ret SET_SIZE(atomic_set_long_excl) @@ -537,7 +537,7 @@ lock btrq %rsi, (%rdi) jc 1f - decl %eax + decl %eax // return -1 1: ret SET_SIZE(atomic_clear_long_excl) diff --git a/sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S b/sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S index afbd11f..f47a430 100644 --- a/sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S +++ b/sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S @@ -75,28 +75,28 @@ ENTRY(atomic_inc_8_nv) ALTENTRY(atomic_inc_uchar_nv) - movl 4(%esp), %edx - movb (%edx), %al + movl 4(%esp), %edx // %edx = target address + movb (%edx), %al // %al = old value 1: - leal 1(%eax), %ecx + leal 1(%eax), %ecx // %cl = new value lock - cmpxchgb %cl, (%edx) + cmpxchgb %cl, (%edx) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_inc_uchar_nv) SET_SIZE(atomic_inc_8_nv) ENTRY(atomic_inc_16_nv) ALTENTRY(atomic_inc_ushort_nv) - movl 4(%esp), %edx - movw (%edx), %ax + movl 4(%esp), %edx // %edx = target address + movw (%edx), %ax // %ax = old value 1: - leal 1(%eax), %ecx + leal 1(%eax), %ecx // %cx = new value lock - cmpxchgw %cx, (%edx) + cmpxchgw %cx, (%edx) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_inc_ushort_nv) SET_SIZE(atomic_inc_16_nv) @@ -104,14 +104,14 @@ ENTRY(atomic_inc_32_nv) ALTENTRY(atomic_inc_uint_nv) ALTENTRY(atomic_inc_ulong_nv) - movl 4(%esp), %edx - movl (%edx), %eax + movl 4(%esp), %edx // %edx = target address + movl (%edx), %eax // %eax = old value 1: - leal 1(%eax), %ecx + leal 1(%eax), %ecx // %ecx = new value lock - cmpxchgl %ecx, (%edx) + cmpxchgl %ecx, (%edx) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_inc_ulong_nv) SET_SIZE(atomic_inc_uint_nv) @@ -121,20 +121,20 @@ ALTENTRY(atomic_inc_64_nv) pushl %edi pushl %ebx - movl 12(%esp), %edi + movl 12(%esp), %edi // %edi = target address movl (%edi), %eax - movl 4(%edi), %edx + movl 4(%edi), %edx // %edx:%eax = old value 1: xorl %ebx, %ebx xorl %ecx, %ecx - incl %ebx + incl %ebx // %ecx:%ebx = 1 addl %eax, %ebx - adcl %edx, %ecx + adcl %edx, %ecx // add in the carry from inc lock - cmpxchg8b (%edi) + cmpxchg8b (%edi) // try to stick it in jne 1b movl %ebx, %eax - movl %ecx, %edx + movl %ecx, %edx // return new value popl %ebx popl %edi ret @@ -172,28 +172,28 @@ ENTRY(atomic_dec_8_nv) ALTENTRY(atomic_dec_uchar_nv) - movl 4(%esp), %edx - movb (%edx), %al + movl 4(%esp), %edx // %edx = target address + movb (%edx), %al // %al = old value 1: - leal -1(%eax), %ecx + leal -1(%eax), %ecx // %cl = new value lock - cmpxchgb %cl, (%edx) + cmpxchgb %cl, (%edx) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_dec_uchar_nv) SET_SIZE(atomic_dec_8_nv) ENTRY(atomic_dec_16_nv) ALTENTRY(atomic_dec_ushort_nv) - movl 4(%esp), %edx - movw (%edx), %ax + movl 4(%esp), %edx // %edx = target address + movw (%edx), %ax // %ax = old value 1: - leal -1(%eax), %ecx + leal -1(%eax), %ecx // %cx = new value lock - cmpxchgw %cx, (%edx) + cmpxchgw %cx, (%edx) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_dec_ushort_nv) SET_SIZE(atomic_dec_16_nv) @@ -201,14 +201,14 @@ ENTRY(atomic_dec_32_nv) ALTENTRY(atomic_dec_uint_nv) ALTENTRY(atomic_dec_ulong_nv) - movl 4(%esp), %edx - movl (%edx), %eax + movl 4(%esp), %edx // %edx = target address + movl (%edx), %eax // %eax = old value 1: - leal -1(%eax), %ecx + leal -1(%eax), %ecx // %ecx = new value lock - cmpxchgl %ecx, (%edx) + cmpxchgl %ecx, (%edx) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_dec_ulong_nv) SET_SIZE(atomic_dec_uint_nv) @@ -218,21 +218,21 @@ ALTENTRY(atomic_dec_64_nv) pushl %edi pushl %ebx - movl 12(%esp), %edi + movl 12(%esp), %edi // %edi = target address movl (%edi), %eax - movl 4(%edi), %edx + movl 4(%edi), %edx // %edx:%eax = old value 1: xorl %ebx, %ebx xorl %ecx, %ecx not %ecx - not %ebx + not %ebx // %ecx:%ebx = -1 addl %eax, %ebx - adcl %edx, %ecx + adcl %edx, %ecx // add in the carry from inc lock - cmpxchg8b (%edi) + cmpxchg8b (%edi) // try to stick it in jne 1b movl %ebx, %eax - movl %ecx, %edx + movl %ecx, %edx // return new value popl %ebx popl %edi ret @@ -305,30 +305,30 @@ ENTRY(atomic_add_8_nv) ALTENTRY(atomic_add_char_nv) - movl 4(%esp), %edx - movb (%edx), %al + movl 4(%esp), %edx // %edx = target address + movb (%edx), %al // %al = old value 1: - movl 8(%esp), %ecx - addb %al, %cl + movl 8(%esp), %ecx // %ecx = delta + addb %al, %cl // %cl = new value lock - cmpxchgb %cl, (%edx) + cmpxchgb %cl, (%edx) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_add_char_nv) SET_SIZE(atomic_add_8_nv) ENTRY(atomic_add_16_nv) ALTENTRY(atomic_add_short_nv) - movl 4(%esp), %edx - movw (%edx), %ax + movl 4(%esp), %edx // %edx = target address + movw (%edx), %ax // %ax = old value 1: - movl 8(%esp), %ecx - addw %ax, %cx + movl 8(%esp), %ecx // %ecx = delta + addw %ax, %cx // %cx = new value lock - cmpxchgw %cx, (%edx) + cmpxchgw %cx, (%edx) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_add_short_nv) SET_SIZE(atomic_add_16_nv) @@ -337,15 +337,15 @@ ALTENTRY(atomic_add_int_nv) ALTENTRY(atomic_add_ptr_nv) ALTENTRY(atomic_add_long_nv) - movl 4(%esp), %edx - movl (%edx), %eax + movl 4(%esp), %edx // %edx = target address + movl (%edx), %eax // %eax = old value 1: - movl 8(%esp), %ecx - addl %eax, %ecx + movl 8(%esp), %ecx // %ecx = delta + addl %eax, %ecx // %ecx = new value lock - cmpxchgl %ecx, (%edx) + cmpxchgl %ecx, (%edx) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_add_long_nv) SET_SIZE(atomic_add_ptr_nv) @@ -356,19 +356,19 @@ ALTENTRY(atomic_add_64_nv) pushl %edi pushl %ebx - movl 12(%esp), %edi + movl 12(%esp), %edi // %edi = target address movl (%edi), %eax - movl 4(%edi), %edx + movl 4(%edi), %edx // %edx:%eax = old value 1: movl 16(%esp), %ebx - movl 20(%esp), %ecx + movl 20(%esp), %ecx // %ecx:%ebx = delta addl %eax, %ebx - adcl %edx, %ecx + adcl %edx, %ecx // %ecx:%ebx = new value lock - cmpxchg8b (%edi) + cmpxchg8b (%edi) // try to stick it in jne 1b movl %ebx, %eax - movl %ecx, %edx + movl %ecx, %edx // return new value popl %ebx popl %edi ret @@ -377,30 +377,30 @@ ENTRY(atomic_or_8_nv) ALTENTRY(atomic_or_uchar_nv) - movl 4(%esp), %edx - movb (%edx), %al + movl 4(%esp), %edx // %edx = target address + movb (%edx), %al // %al = old value 1: - movl 8(%esp), %ecx - orb %al, %cl + movl 8(%esp), %ecx // %ecx = delta + orb %al, %cl // %cl = new value lock - cmpxchgb %cl, (%edx) + cmpxchgb %cl, (%edx) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_or_uchar_nv) SET_SIZE(atomic_or_8_nv) ENTRY(atomic_or_16_nv) ALTENTRY(atomic_or_ushort_nv) - movl 4(%esp), %edx - movw (%edx), %ax + movl 4(%esp), %edx // %edx = target address + movw (%edx), %ax // %ax = old value 1: - movl 8(%esp), %ecx - orw %ax, %cx + movl 8(%esp), %ecx // %ecx = delta + orw %ax, %cx // %cx = new value lock - cmpxchgw %cx, (%edx) + cmpxchgw %cx, (%edx) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_or_ushort_nv) SET_SIZE(atomic_or_16_nv) @@ -408,15 +408,15 @@ ENTRY(atomic_or_32_nv) ALTENTRY(atomic_or_uint_nv) ALTENTRY(atomic_or_ulong_nv) - movl 4(%esp), %edx - movl (%edx), %eax + movl 4(%esp), %edx // %edx = target address + movl (%edx), %eax // %eax = old value 1: - movl 8(%esp), %ecx - orl %eax, %ecx + movl 8(%esp), %ecx // %ecx = delta + orl %eax, %ecx // %ecx = new value lock - cmpxchgl %ecx, (%edx) + cmpxchgl %ecx, (%edx) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_or_ulong_nv) SET_SIZE(atomic_or_uint_nv) @@ -426,19 +426,19 @@ ALTENTRY(atomic_or_64_nv) pushl %edi pushl %ebx - movl 12(%esp), %edi + movl 12(%esp), %edi // %edi = target address movl (%edi), %eax - movl 4(%edi), %edx + movl 4(%edi), %edx // %edx:%eax = old value 1: movl 16(%esp), %ebx - movl 20(%esp), %ecx + movl 20(%esp), %ecx // %ecx:%ebx = delta orl %eax, %ebx - orl %edx, %ecx + orl %edx, %ecx // %ecx:%ebx = new value lock - cmpxchg8b (%edi) + cmpxchg8b (%edi) // try to stick it in jne 1b movl %ebx, %eax - movl %ecx, %edx + movl %ecx, %edx // return new value popl %ebx popl %edi ret @@ -447,30 +447,30 @@ ENTRY(atomic_and_8_nv) ALTENTRY(atomic_and_uchar_nv) - movl 4(%esp), %edx - movb (%edx), %al + movl 4(%esp), %edx // %edx = target address + movb (%edx), %al // %al = old value 1: - movl 8(%esp), %ecx - andb %al, %cl + movl 8(%esp), %ecx // %ecx = delta + andb %al, %cl // %cl = new value lock - cmpxchgb %cl, (%edx) + cmpxchgb %cl, (%edx) // try to stick it in jne 1b - movzbl %cl, %eax + movzbl %cl, %eax // return new value ret SET_SIZE(atomic_and_uchar_nv) SET_SIZE(atomic_and_8_nv) ENTRY(atomic_and_16_nv) ALTENTRY(atomic_and_ushort_nv) - movl 4(%esp), %edx - movw (%edx), %ax + movl 4(%esp), %edx // %edx = target address + movw (%edx), %ax // %ax = old value 1: - movl 8(%esp), %ecx - andw %ax, %cx + movl 8(%esp), %ecx // %ecx = delta + andw %ax, %cx // %cx = new value lock - cmpxchgw %cx, (%edx) + cmpxchgw %cx, (%edx) // try to stick it in jne 1b - movzwl %cx, %eax + movzwl %cx, %eax // return new value ret SET_SIZE(atomic_and_ushort_nv) SET_SIZE(atomic_and_16_nv) @@ -478,15 +478,15 @@ ENTRY(atomic_and_32_nv) ALTENTRY(atomic_and_uint_nv) ALTENTRY(atomic_and_ulong_nv) - movl 4(%esp), %edx - movl (%edx), %eax + movl 4(%esp), %edx // %edx = target address + movl (%edx), %eax // %eax = old value 1: - movl 8(%esp), %ecx - andl %eax, %ecx + movl 8(%esp), %ecx // %ecx = delta + andl %eax, %ecx // %ecx = new value lock - cmpxchgl %ecx, (%edx) + cmpxchgl %ecx, (%edx) // try to stick it in jne 1b - movl %ecx, %eax + movl %ecx, %eax // return new value ret SET_SIZE(atomic_and_ulong_nv) SET_SIZE(atomic_and_uint_nv) @@ -496,19 +496,19 @@ ALTENTRY(atomic_and_64_nv) pushl %edi pushl %ebx - movl 12(%esp), %edi + movl 12(%esp), %edi // %edi = target address movl (%edi), %eax - movl 4(%edi), %edx + movl 4(%edi), %edx // %edx:%eax = old value 1: movl 16(%esp), %ebx - movl 20(%esp), %ecx + movl 20(%esp), %ecx // %ecx:%ebx = delta andl %eax, %ebx - andl %edx, %ecx + andl %edx, %ecx // %ecx:%ebx = new value lock - cmpxchg8b (%edi) + cmpxchg8b (%edi) // try to stick it in jne 1b movl %ebx, %eax - movl %ecx, %edx + movl %ecx, %edx // return new value popl %ebx popl %edi ret @@ -608,7 +608,7 @@ movl 16(%esp), %ebx movl 20(%esp), %ecx movl (%esi), %eax - movl 4(%esi), %edx + movl 4(%esi), %edx // %edx:%eax = old value 1: lock cmpxchg8b (%esi) @@ -619,25 +619,25 @@ SET_SIZE(atomic_swap_64) ENTRY(atomic_set_long_excl) - movl 4(%esp), %edx - movl 8(%esp), %ecx + movl 4(%esp), %edx // %edx = target address + movl 8(%esp), %ecx // %ecx = bit id xorl %eax, %eax lock btsl %ecx, (%edx) jnc 1f - decl %eax + decl %eax // return -1 1: ret SET_SIZE(atomic_set_long_excl) ENTRY(atomic_clear_long_excl) - movl 4(%esp), %edx - movl 8(%esp), %ecx + movl 4(%esp), %edx // %edx = target address + movl 8(%esp), %ecx // %ecx = bit id xorl %eax, %eax lock btrl %ecx, (%edx) jc 1f - decl %eax + decl %eax // return -1 1: ret SET_SIZE(atomic_clear_long_excl) |