Message ID | 20210527105529.21967-1-will@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: scs: Drop unused 'tmp' argument to scs_{load, save} asm macros | expand |
On Thu, May 27, 2021 at 11:55:29AM +0100, Will Deacon wrote: > The scs_load and scs_save asm macros don't make use of the mandatory > 'tmp' register argument, so drop it and fix up the callers. > > Cc: Sami Tolvanen <samitolvanen@google.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Signed-off-by: Will Deacon <will@kernel.org> I see this has been the case since commit: 51189c7a7ed1b4ed ("arm64: scs: Store absolute SCS stack pointer value in thread_info") ... so this looks good to me: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > > Applies against for-next/boot > > arch/arm64/include/asm/scs.h | 8 ++++---- > arch/arm64/kernel/entry.S | 8 ++++---- > arch/arm64/kernel/head.S | 2 +- > 3 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/arm64/include/asm/scs.h b/arch/arm64/include/asm/scs.h > index eaa2cd92e4c1..8297bccf0784 100644 > --- a/arch/arm64/include/asm/scs.h > +++ b/arch/arm64/include/asm/scs.h > @@ -9,18 +9,18 @@ > #ifdef CONFIG_SHADOW_CALL_STACK > scs_sp .req x18 > > - .macro scs_load tsk, tmp > + .macro scs_load tsk > ldr scs_sp, [\tsk, #TSK_TI_SCS_SP] > .endm > > - .macro scs_save tsk, tmp > + .macro scs_save tsk > str scs_sp, [\tsk, #TSK_TI_SCS_SP] > .endm > #else > - .macro scs_load tsk, tmp > + .macro scs_load tsk > .endm > > - .macro scs_save tsk, tmp > + .macro scs_save tsk > .endm > #endif /* CONFIG_SHADOW_CALL_STACK */ > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > index 294f24e16fee..3153f1448cdb 100644 > --- a/arch/arm64/kernel/entry.S > +++ b/arch/arm64/kernel/entry.S > @@ -275,7 +275,7 @@ alternative_else_nop_endif > > mte_set_kernel_gcr x22, x23 > > - scs_load tsk, x20 > + scs_load tsk > .else > add x21, sp, #PT_REGS_SIZE > get_current_task tsk > @@ -375,7 +375,7 @@ alternative_if ARM64_WORKAROUND_845719 > alternative_else_nop_endif > #endif > 3: > - scs_save tsk, x0 > + scs_save tsk > > #ifdef CONFIG_ARM64_PTR_AUTH > alternative_if ARM64_HAS_ADDRESS_AUTH > @@ -979,8 +979,8 @@ SYM_FUNC_START(cpu_switch_to) > mov sp, x9 > msr sp_el0, x1 > ptrauth_keys_install_kernel x1, x8, x9, x10 > - scs_save x0, x8 > - scs_load x1, x8 > + scs_save x0 > + scs_load x1 > ret > SYM_FUNC_END(cpu_switch_to) > NOKPROBE(cpu_switch_to) > diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S > index 070ed53c049d..6a700526b117 100644 > --- a/arch/arm64/kernel/head.S > +++ b/arch/arm64/kernel/head.S > @@ -412,7 +412,7 @@ SYM_FUNC_END(__create_page_tables) > stp xzr, xzr, [sp, #S_STACKFRAME] > add x29, sp, #S_STACKFRAME > > - scs_load \tsk, \tmp1 > + scs_load \tsk > > adr_l \tmp1, __per_cpu_offset > ldr w\tmp2, [\tsk, #TSK_CPU] > -- > 2.31.1.818.g46aad6cb9e-goog >
Hi Will, On Thu, May 27, 2021 at 3:55 AM Will Deacon <will@kernel.org> wrote: > > The scs_load and scs_save asm macros don't make use of the mandatory > 'tmp' register argument, so drop it and fix up the callers. > > Cc: Sami Tolvanen <samitolvanen@google.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Signed-off-by: Will Deacon <will@kernel.org> > --- > > Applies against for-next/boot > > arch/arm64/include/asm/scs.h | 8 ++++---- > arch/arm64/kernel/entry.S | 8 ++++---- > arch/arm64/kernel/head.S | 2 +- > 3 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/arm64/include/asm/scs.h b/arch/arm64/include/asm/scs.h > index eaa2cd92e4c1..8297bccf0784 100644 > --- a/arch/arm64/include/asm/scs.h > +++ b/arch/arm64/include/asm/scs.h > @@ -9,18 +9,18 @@ > #ifdef CONFIG_SHADOW_CALL_STACK > scs_sp .req x18 > > - .macro scs_load tsk, tmp > + .macro scs_load tsk > ldr scs_sp, [\tsk, #TSK_TI_SCS_SP] > .endm > > - .macro scs_save tsk, tmp > + .macro scs_save tsk > str scs_sp, [\tsk, #TSK_TI_SCS_SP] > .endm > #else > - .macro scs_load tsk, tmp > + .macro scs_load tsk > .endm > > - .macro scs_save tsk, tmp > + .macro scs_save tsk > .endm > #endif /* CONFIG_SHADOW_CALL_STACK */ > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > index 294f24e16fee..3153f1448cdb 100644 > --- a/arch/arm64/kernel/entry.S > +++ b/arch/arm64/kernel/entry.S > @@ -275,7 +275,7 @@ alternative_else_nop_endif > > mte_set_kernel_gcr x22, x23 > > - scs_load tsk, x20 > + scs_load tsk > .else > add x21, sp, #PT_REGS_SIZE > get_current_task tsk > @@ -375,7 +375,7 @@ alternative_if ARM64_WORKAROUND_845719 > alternative_else_nop_endif > #endif > 3: > - scs_save tsk, x0 > + scs_save tsk > > #ifdef CONFIG_ARM64_PTR_AUTH > alternative_if ARM64_HAS_ADDRESS_AUTH > @@ -979,8 +979,8 @@ SYM_FUNC_START(cpu_switch_to) > mov sp, x9 > msr sp_el0, x1 > ptrauth_keys_install_kernel x1, x8, x9, x10 > - scs_save x0, x8 > - scs_load x1, x8 > + scs_save x0 > + scs_load x1 > ret > SYM_FUNC_END(cpu_switch_to) > NOKPROBE(cpu_switch_to) > diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S > index 070ed53c049d..6a700526b117 100644 > --- a/arch/arm64/kernel/head.S > +++ b/arch/arm64/kernel/head.S > @@ -412,7 +412,7 @@ SYM_FUNC_END(__create_page_tables) > stp xzr, xzr, [sp, #S_STACKFRAME] > add x29, sp, #S_STACKFRAME > > - scs_load \tsk, \tmp1 > + scs_load \tsk > > adr_l \tmp1, __per_cpu_offset > ldr w\tmp2, [\tsk, #TSK_CPU] Looks good to me, thanks for cleaning this up! Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Sami
diff --git a/arch/arm64/include/asm/scs.h b/arch/arm64/include/asm/scs.h index eaa2cd92e4c1..8297bccf0784 100644 --- a/arch/arm64/include/asm/scs.h +++ b/arch/arm64/include/asm/scs.h @@ -9,18 +9,18 @@ #ifdef CONFIG_SHADOW_CALL_STACK scs_sp .req x18 - .macro scs_load tsk, tmp + .macro scs_load tsk ldr scs_sp, [\tsk, #TSK_TI_SCS_SP] .endm - .macro scs_save tsk, tmp + .macro scs_save tsk str scs_sp, [\tsk, #TSK_TI_SCS_SP] .endm #else - .macro scs_load tsk, tmp + .macro scs_load tsk .endm - .macro scs_save tsk, tmp + .macro scs_save tsk .endm #endif /* CONFIG_SHADOW_CALL_STACK */ diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 294f24e16fee..3153f1448cdb 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -275,7 +275,7 @@ alternative_else_nop_endif mte_set_kernel_gcr x22, x23 - scs_load tsk, x20 + scs_load tsk .else add x21, sp, #PT_REGS_SIZE get_current_task tsk @@ -375,7 +375,7 @@ alternative_if ARM64_WORKAROUND_845719 alternative_else_nop_endif #endif 3: - scs_save tsk, x0 + scs_save tsk #ifdef CONFIG_ARM64_PTR_AUTH alternative_if ARM64_HAS_ADDRESS_AUTH @@ -979,8 +979,8 @@ SYM_FUNC_START(cpu_switch_to) mov sp, x9 msr sp_el0, x1 ptrauth_keys_install_kernel x1, x8, x9, x10 - scs_save x0, x8 - scs_load x1, x8 + scs_save x0 + scs_load x1 ret SYM_FUNC_END(cpu_switch_to) NOKPROBE(cpu_switch_to) diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 070ed53c049d..6a700526b117 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -412,7 +412,7 @@ SYM_FUNC_END(__create_page_tables) stp xzr, xzr, [sp, #S_STACKFRAME] add x29, sp, #S_STACKFRAME - scs_load \tsk, \tmp1 + scs_load \tsk adr_l \tmp1, __per_cpu_offset ldr w\tmp2, [\tsk, #TSK_CPU]
The scs_load and scs_save asm macros don't make use of the mandatory 'tmp' register argument, so drop it and fix up the callers. Cc: Sami Tolvanen <samitolvanen@google.com> Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will@kernel.org> --- Applies against for-next/boot arch/arm64/include/asm/scs.h | 8 ++++---- arch/arm64/kernel/entry.S | 8 ++++---- arch/arm64/kernel/head.S | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-)