lkml.org 
[lkml]   [2018]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 2/9] powerpc: Only use task_struct 'cpu' field on SMP
    Date
    When moving to CONFIG_THREAD_INFO_IN_TASK, the thread_info 'cpu' field
    gets moved into task_struct and only defined when CONFIG_SMP is set.

    This patch ensures that TI_CPU is only used when CONFIG_SMP is set and
    that task_struct 'cpu' field is not used directly out of SMP code.

    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
    ---
    arch/powerpc/kernel/head_fsl_booke.S | 2 ++
    arch/powerpc/kernel/misc_32.S | 4 ++++
    arch/powerpc/xmon/xmon.c | 2 +-
    3 files changed, 7 insertions(+), 1 deletion(-)

    diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
    index e2750b856c8f..05b574f416b3 100644
    --- a/arch/powerpc/kernel/head_fsl_booke.S
    +++ b/arch/powerpc/kernel/head_fsl_booke.S
    @@ -243,8 +243,10 @@ set_ivor:
    li r0,0
    stwu r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1)

    +#ifdef CONFIG_SMP
    CURRENT_THREAD_INFO(r22, r1)
    stw r24, TI_CPU(r22)
    +#endif

    bl early_init

    diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
    index 695b24a2d954..2f0fe8bfc078 100644
    --- a/arch/powerpc/kernel/misc_32.S
    +++ b/arch/powerpc/kernel/misc_32.S
    @@ -183,10 +183,14 @@ _GLOBAL(low_choose_750fx_pll)
    or r4,r4,r5
    mtspr SPRN_HID1,r4

    +#ifdef CONFIG_SMP
    /* Store new HID1 image */
    CURRENT_THREAD_INFO(r6, r1)
    lwz r6,TI_CPU(r6)
    slwi r6,r6,2
    +#else
    + li r6, 0
    +#endif
    addis r6,r6,nap_save_hid1@ha
    stw r4,nap_save_hid1@l(r6)

    diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
    index c70d17c9a6ba..1731793e1277 100644
    --- a/arch/powerpc/xmon/xmon.c
    +++ b/arch/powerpc/xmon/xmon.c
    @@ -2986,7 +2986,7 @@ static void show_task(struct task_struct *tsk)
    printf("%px %016lx %6d %6d %c %2d %s\n", tsk,
    tsk->thread.ksp,
    tsk->pid, tsk->parent->pid,
    - state, task_thread_info(tsk)->cpu,
    + state, task_cpu(tsk),
    tsk->comm);
    }

    --
    2.13.3
    \
     
     \ /
      Last update: 2018-10-05 09:33    [W:3.111 / U:0.620 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site