[PATCH 0/6] arm64: boot cleanups

Ard Biesheuvel ardb at kernel.org
Thu May 20 07:46:46 PDT 2021


On Thu, 20 May 2021 at 13:50, Mark Rutland <mark.rutland at arm.com> wrote:
>
> This series (based on v5.13-rc1) reworks the way we initialize some state at
> boot time, simplifying and unifying the logic for primary and secondary CPUs.
> This allows us to initalize the per-cpu offsets earlier (which will help to
> enable KCSAN), and reduces the data we need to pass to a secondary. In future,
> this should allow us to transfer the secondary data atomically and make the
> secondary boot paths more robust to arbitrarily long delays.
>
> I've based this on Mahdavan's stacktrace termination patch [1] (duplicated here
> unchanged), since it made sense to combine the unwind initialization along with
> the other CPU state, and otherwise there would be non-trivial merge conflicts.
>
> I've given the series some boot testing with a variety of configurations,
> checking that stacktraces work correctly, etc.
>
> The series can be found on my arm64/boot/rework branch on kernel.org:
>
>   https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/log/?h=arm64/boot/rework
>   git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/boot/rework
>
> Thanks,
> Mark.
>
> [1] https://lore.kernel.org/r/20210510110026.18061-1-mark.rutland@arm.com
>
> Madhavan T. Venkataraman (1):
>   arm64: Implement stack trace termination record
>
> Mark Rutland (5):
>   arm64: assembler: add set_this_cpu_offset
>   arm64: smp: remove pointless secondary_data maintenance
>   arm64: smp: remove stack from secondary_data
>   arm64: smp: unify task and sp setup
>   arm64: smp: initialize cpu offset earlier
>

For the series

Reviewed-by: Ard Biesheuvel <ardb at kernel.org>

Note that this will conflict with Fuad's cache maintenance cleanup series.


>  arch/arm64/include/asm/assembler.h | 18 ++++++++----
>  arch/arm64/include/asm/smp.h       |  2 --
>  arch/arm64/kernel/asm-offsets.c    |  2 +-
>  arch/arm64/kernel/entry.S          |  2 +-
>  arch/arm64/kernel/head.S           | 58 ++++++++++++++++++++++++--------------
>  arch/arm64/kernel/process.c        |  5 ++++
>  arch/arm64/kernel/setup.c          |  6 ----
>  arch/arm64/kernel/smp.c            | 14 ++++-----
>  arch/arm64/kernel/stacktrace.c     | 16 +++++------
>  arch/arm64/mm/proc.S               | 12 ++------
>  10 files changed, 72 insertions(+), 63 deletions(-)
>
> --
> 2.11.0
>



More information about the linux-arm-kernel mailing list