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:
Peter Zijlstra
2021-12-04 14:43:39 +01:00
committed by Greg Kroah-Hartman
parent c2746d567d
commit a512fcd881

View File

@@ -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