[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