lkml.org 
[lkml]   [2022]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 061/130] x86/lib/atomic64_386_32: Rename things
    Date
    From: Peter Zijlstra <peterz@infradead.org>

    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>
    ---
    arch/x86/lib/atomic64_386_32.S | 84 ++++++++++++++++++++++-------------------
    1 file changed, 46 insertions(+), 38 deletions(-)

    --- a/arch/x86/lib/atomic64_386_32.S
    +++ b/arch/x86/lib/atomic64_386_32.S
    @@ -9,81 +9,83 @@
    #include <asm/alternative.h>

    /* if you want SMP support, implement these with real spinlocks */
    -.macro LOCK reg
    +.macro IRQ_SAVE reg
    pushfl
    cli
    .endm

    -.macro UNLOCK reg
    +.macro IRQ_RESTORE reg
    popfl
    .endm

    -#define BEGIN(op) \
    +#define BEGIN_IRQ_SAVE(op) \
    .macro endp; \
    SYM_FUNC_END(atomic64_##op##_386); \
    .purgem endp; \
    .endm; \
    SYM_FUNC_START(atomic64_##op##_386); \
    - LOCK v;
    + IRQ_SAVE v;

    #define ENDP endp

    -#define RET \
    - UNLOCK v; \
    +#define RET_IRQ_RESTORE \
    + IRQ_RESTORE v; \
    ret

    -#define RET_ENDP \
    - RET; \
    - ENDP
    -
    #define v %ecx
    -BEGIN(read)
    +BEGIN_IRQ_SAVE(read)
    movl (v), %eax
    movl 4(v), %edx
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(set)
    +BEGIN_IRQ_SAVE(set)
    movl %ebx, (v)
    movl %ecx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(xchg)
    +BEGIN_IRQ_SAVE(xchg)
    movl (v), %eax
    movl 4(v), %edx
    movl %ebx, (v)
    movl %ecx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %ecx
    -BEGIN(add)
    +BEGIN_IRQ_SAVE(add)
    addl %eax, (v)
    adcl %edx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %ecx
    -BEGIN(add_return)
    +BEGIN_IRQ_SAVE(add_return)
    addl (v), %eax
    adcl 4(v), %edx
    movl %eax, (v)
    movl %edx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %ecx
    -BEGIN(sub)
    +BEGIN_IRQ_SAVE(sub)
    subl %eax, (v)
    sbbl %edx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %ecx
    -BEGIN(sub_return)
    +BEGIN_IRQ_SAVE(sub_return)
    negl %edx
    negl %eax
    sbbl $0, %edx
    @@ -91,47 +93,52 @@ BEGIN(sub_return)
    adcl 4(v), %edx
    movl %eax, (v)
    movl %edx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(inc)
    +BEGIN_IRQ_SAVE(inc)
    addl $1, (v)
    adcl $0, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(inc_return)
    +BEGIN_IRQ_SAVE(inc_return)
    movl (v), %eax
    movl 4(v), %edx
    addl $1, %eax
    adcl $0, %edx
    movl %eax, (v)
    movl %edx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(dec)
    +BEGIN_IRQ_SAVE(dec)
    subl $1, (v)
    sbbl $0, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(dec_return)
    +BEGIN_IRQ_SAVE(dec_return)
    movl (v), %eax
    movl 4(v), %edx
    subl $1, %eax
    sbbl $0, %edx
    movl %eax, (v)
    movl %edx, 4(v)
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    #define v %esi
    -BEGIN(add_unless)
    +BEGIN_IRQ_SAVE(add_unless)
    addl %eax, %ecx
    adcl %edx, %edi
    addl (v), %eax
    @@ -143,7 +150,7 @@ BEGIN(add_unless)
    movl %edx, 4(v)
    movl $1, %eax
    2:
    - RET
    + RET_IRQ_RESTORE
    3:
    cmpl %edx, %edi
    jne 1b
    @@ -153,7 +160,7 @@ ENDP
    #undef v

    #define v %esi
    -BEGIN(inc_not_zero)
    +BEGIN_IRQ_SAVE(inc_not_zero)
    movl (v), %eax
    movl 4(v), %edx
    testl %eax, %eax
    @@ -165,7 +172,7 @@ BEGIN(inc_not_zero)
    movl %edx, 4(v)
    movl $1, %eax
    2:
    - RET
    + RET_IRQ_RESTORE
    3:
    testl %edx, %edx
    jne 1b
    @@ -174,7 +181,7 @@ ENDP
    #undef v

    #define v %esi
    -BEGIN(dec_if_positive)
    +BEGIN_IRQ_SAVE(dec_if_positive)
    movl (v), %eax
    movl 4(v), %edx
    subl $1, %eax
    @@ -183,5 +190,6 @@ BEGIN(dec_if_positive)
    movl %eax, (v)
    movl %edx, 4(v)
    1:
    -RET_ENDP
    + RET_IRQ_RESTORE
    +ENDP
    #undef v

    \
     
     \ /
      Last update: 2022-07-12 20:48    [W:5.129 / U:0.332 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site