提交 22da5a07 编写于 作者: P Peter Zijlstra 提交者: Borislav Petkov

x86/lib/atomic64_386_32: Rename things

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: NPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: NBorislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211204134907.841623970@infradead.org
上级 68cf4f2a
...@@ -9,81 +9,83 @@ ...@@ -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 \
RET; \
ENDP
#define v %ecx #define v %ecx
BEGIN(read) BEGIN_IRQ_SAVE(read)
movl (v), %eax movl (v), %eax
movl 4(v), %edx movl 4(v), %edx
RET_ENDP RET_IRQ_RESTORE
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) ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册