lkml.org 
[lkml]   [2019]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 03/16] powerpc/32: make the 6xx/8xx EXC_XFER_TEMPLATE() similar to the 40x/booke one
    Date
    6xx/8xx EXC_XFER_TEMPLATE() macro adds a i##n symbol which is
    unused and can be removed.
    40x and booke EXC_XFER_TEMPLATE() macros takes msr from the caller
    while the 6xx/8xx version uses only MSR_KERNEL as msr value.

    This patch modifies the 6xx/8xx version to make it similar to the
    40x and booke versions.

    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    ---
    arch/powerpc/kernel/head_32.h | 13 ++++++-------
    1 file changed, 6 insertions(+), 7 deletions(-)

    diff --git a/arch/powerpc/kernel/head_32.h b/arch/powerpc/kernel/head_32.h
    index cf3d00844597..985758cbf577 100644
    --- a/arch/powerpc/kernel/head_32.h
    +++ b/arch/powerpc/kernel/head_32.h
    @@ -99,13 +99,12 @@
    addi r3,r1,STACK_FRAME_OVERHEAD; \
    xfer(n, hdlr)

    -#define EXC_XFER_TEMPLATE(n, hdlr, trap, copyee, tfer, ret) \
    +#define EXC_XFER_TEMPLATE(hdlr, trap, msr, copyee, tfer, ret) \
    li r10,trap; \
    stw r10,_TRAP(r11); \
    - LOAD_MSR_KERNEL(r10, MSR_KERNEL); \
    + LOAD_MSR_KERNEL(r10, msr); \
    copyee(r10, r9); \
    bl tfer; \
    -i##n: \
    .long hdlr; \
    .long ret

    @@ -113,19 +112,19 @@ i##n: \
    #define NOCOPY(d, s)

    #define EXC_XFER_STD(n, hdlr) \
    - EXC_XFER_TEMPLATE(n, hdlr, n, NOCOPY, transfer_to_handler_full, \
    + EXC_XFER_TEMPLATE(hdlr, n, MSR_KERNEL, NOCOPY, transfer_to_handler_full, \
    ret_from_except_full)

    #define EXC_XFER_LITE(n, hdlr) \
    - EXC_XFER_TEMPLATE(n, hdlr, n+1, NOCOPY, transfer_to_handler, \
    + EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \
    ret_from_except)

    #define EXC_XFER_EE(n, hdlr) \
    - EXC_XFER_TEMPLATE(n, hdlr, n, COPY_EE, transfer_to_handler_full, \
    + EXC_XFER_TEMPLATE(hdlr, n, MSR_KERNEL, COPY_EE, transfer_to_handler_full, \
    ret_from_except_full)

    #define EXC_XFER_EE_LITE(n, hdlr) \
    - EXC_XFER_TEMPLATE(n, hdlr, n+1, COPY_EE, transfer_to_handler, \
    + EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, COPY_EE, transfer_to_handler, \
    ret_from_except)

    #endif /* __HEAD_32_H__ */
    --
    2.13.3
    \
     
     \ /
      Last update: 2019-04-30 14:39    [W:4.126 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site