[PATCH 0/6] arm64: boot cleanups
Mark Rutland
mark.rutland at arm.com
Thu May 20 04:50:25 PDT 2021
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
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