x86/lib/atomic64_386_32: Rename things
commit 22da5a07c75e1104caf6a42f189c97b83d070073 upstream. Principally, in order to get rid of #define RET in this code to make place for a new RET, but also to clarify the code, rename a bunch of things: s/UNLOCK/IRQ_RESTORE/ s/LOCK/IRQ_SAVE/ s/BEGIN/BEGIN_IRQ_SAVE/ s/\<RET\>/RET_IRQ_RESTORE/ s/RET_ENDP/\tRET_IRQ_RESTORE\rENDP/ which then leaves RET unused so it can be removed. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20211204134907.841623970@infradead.org Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
c2746d567d
commit
a512fcd881
@@ -9,81 +9,83 @@
|
|||||||
#include <asm/alternative.h>
|
#include <asm/alternative.h>
|
||||||
|
|
||||||
/* if you want SMP support, implement these with real spinlocks */
|
/* if you want SMP support, implement these with real spinlocks */
|
||||||
.macro LOCK reg
|
.macro IRQ_SAVE reg
|
||||||
pushfl
|
pushfl
|
||||||
cli
|
cli
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro UNLOCK reg
|
.macro IRQ_RESTORE reg
|
||||||
popfl
|
popfl
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
#define BEGIN(op) \
|
#define BEGIN_IRQ_SAVE(op) \
|
||||||
.macro endp; \
|
.macro endp; \
|
||||||
SYM_FUNC_END(atomic64_##op##_386); \
|
SYM_FUNC_END(atomic64_##op##_386); \
|
||||||
.purgem endp; \
|
.purgem endp; \
|
||||||
.endm; \
|
.endm; \
|
||||||
SYM_FUNC_START(atomic64_##op##_386); \
|
SYM_FUNC_START(atomic64_##op##_386); \
|
||||||
LOCK v;
|
IRQ_SAVE v;
|
||||||
|
|
||||||
#define ENDP endp
|
#define ENDP endp
|
||||||
|
|
||||||
#define RET \
|
#define RET_IRQ_RESTORE \
|
||||||
UNLOCK v; \
|
IRQ_RESTORE v; \
|
||||||
ret
|
ret
|
||||||
|
|
||||||
#define RET_ENDP \
|
#define v %ecx
|
||||||
RET; \
|
BEGIN_IRQ_SAVE(read)
|
||||||
|
movl (v), %eax
|
||||||
|
movl 4(v), %edx
|
||||||
|
RET_IRQ_RESTORE
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
#define v %ecx
|
|
||||||
BEGIN(read)
|
|
||||||
movl (v), %eax
|
|
||||||
movl 4(v), %edx
|
|
||||||
RET_ENDP
|
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(set)
|
BEGIN_IRQ_SAVE(set)
|
||||||
movl %ebx, (v)
|
movl %ebx, (v)
|
||||||
movl %ecx, 4(v)
|
movl %ecx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(xchg)
|
BEGIN_IRQ_SAVE(xchg)
|
||||||
movl (v), %eax
|
movl (v), %eax
|
||||||
movl 4(v), %edx
|
movl 4(v), %edx
|
||||||
movl %ebx, (v)
|
movl %ebx, (v)
|
||||||
movl %ecx, 4(v)
|
movl %ecx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %ecx
|
#define v %ecx
|
||||||
BEGIN(add)
|
BEGIN_IRQ_SAVE(add)
|
||||||
addl %eax, (v)
|
addl %eax, (v)
|
||||||
adcl %edx, 4(v)
|
adcl %edx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %ecx
|
#define v %ecx
|
||||||
BEGIN(add_return)
|
BEGIN_IRQ_SAVE(add_return)
|
||||||
addl (v), %eax
|
addl (v), %eax
|
||||||
adcl 4(v), %edx
|
adcl 4(v), %edx
|
||||||
movl %eax, (v)
|
movl %eax, (v)
|
||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %ecx
|
#define v %ecx
|
||||||
BEGIN(sub)
|
BEGIN_IRQ_SAVE(sub)
|
||||||
subl %eax, (v)
|
subl %eax, (v)
|
||||||
sbbl %edx, 4(v)
|
sbbl %edx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %ecx
|
#define v %ecx
|
||||||
BEGIN(sub_return)
|
BEGIN_IRQ_SAVE(sub_return)
|
||||||
negl %edx
|
negl %edx
|
||||||
negl %eax
|
negl %eax
|
||||||
sbbl $0, %edx
|
sbbl $0, %edx
|
||||||
@@ -91,47 +93,52 @@ BEGIN(sub_return)
|
|||||||
adcl 4(v), %edx
|
adcl 4(v), %edx
|
||||||
movl %eax, (v)
|
movl %eax, (v)
|
||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(inc)
|
BEGIN_IRQ_SAVE(inc)
|
||||||
addl $1, (v)
|
addl $1, (v)
|
||||||
adcl $0, 4(v)
|
adcl $0, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(inc_return)
|
BEGIN_IRQ_SAVE(inc_return)
|
||||||
movl (v), %eax
|
movl (v), %eax
|
||||||
movl 4(v), %edx
|
movl 4(v), %edx
|
||||||
addl $1, %eax
|
addl $1, %eax
|
||||||
adcl $0, %edx
|
adcl $0, %edx
|
||||||
movl %eax, (v)
|
movl %eax, (v)
|
||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(dec)
|
BEGIN_IRQ_SAVE(dec)
|
||||||
subl $1, (v)
|
subl $1, (v)
|
||||||
sbbl $0, 4(v)
|
sbbl $0, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(dec_return)
|
BEGIN_IRQ_SAVE(dec_return)
|
||||||
movl (v), %eax
|
movl (v), %eax
|
||||||
movl 4(v), %edx
|
movl 4(v), %edx
|
||||||
subl $1, %eax
|
subl $1, %eax
|
||||||
sbbl $0, %edx
|
sbbl $0, %edx
|
||||||
movl %eax, (v)
|
movl %eax, (v)
|
||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(add_unless)
|
BEGIN_IRQ_SAVE(add_unless)
|
||||||
addl %eax, %ecx
|
addl %eax, %ecx
|
||||||
adcl %edx, %edi
|
adcl %edx, %edi
|
||||||
addl (v), %eax
|
addl (v), %eax
|
||||||
@@ -143,7 +150,7 @@ BEGIN(add_unless)
|
|||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
movl $1, %eax
|
movl $1, %eax
|
||||||
2:
|
2:
|
||||||
RET
|
RET_IRQ_RESTORE
|
||||||
3:
|
3:
|
||||||
cmpl %edx, %edi
|
cmpl %edx, %edi
|
||||||
jne 1b
|
jne 1b
|
||||||
@@ -153,7 +160,7 @@ ENDP
|
|||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(inc_not_zero)
|
BEGIN_IRQ_SAVE(inc_not_zero)
|
||||||
movl (v), %eax
|
movl (v), %eax
|
||||||
movl 4(v), %edx
|
movl 4(v), %edx
|
||||||
testl %eax, %eax
|
testl %eax, %eax
|
||||||
@@ -165,7 +172,7 @@ BEGIN(inc_not_zero)
|
|||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
movl $1, %eax
|
movl $1, %eax
|
||||||
2:
|
2:
|
||||||
RET
|
RET_IRQ_RESTORE
|
||||||
3:
|
3:
|
||||||
testl %edx, %edx
|
testl %edx, %edx
|
||||||
jne 1b
|
jne 1b
|
||||||
@@ -174,7 +181,7 @@ ENDP
|
|||||||
#undef v
|
#undef v
|
||||||
|
|
||||||
#define v %esi
|
#define v %esi
|
||||||
BEGIN(dec_if_positive)
|
BEGIN_IRQ_SAVE(dec_if_positive)
|
||||||
movl (v), %eax
|
movl (v), %eax
|
||||||
movl 4(v), %edx
|
movl 4(v), %edx
|
||||||
subl $1, %eax
|
subl $1, %eax
|
||||||
@@ -183,5 +190,6 @@ BEGIN(dec_if_positive)
|
|||||||
movl %eax, (v)
|
movl %eax, (v)
|
||||||
movl %edx, 4(v)
|
movl %edx, 4(v)
|
||||||
1:
|
1:
|
||||||
RET_ENDP
|
RET_IRQ_RESTORE
|
||||||
|
ENDP
|
||||||
#undef v
|
#undef v
|
||||||
|
Reference in New Issue
Block a user