Message ID | 20240729161501.1806271-1-mark.rutland@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | Cleanup initialization | expand |
On Mon, 29 Jul 2024 17:14:50 +0100, Mark Rutland <mark.rutland@arm.com> wrote: > > These patches cleanup the boot-wrapper initialization logic to make it > more consistent and easier to extend in C code in future. The big > changes are: > > * The kernel is always entered via an exception return. This allows us > to initialize PSTATE consistently, and will allow us to adjust the > SPSR dynamically in C code in future if necessary. > > * Regardless of the entered exception level, CPU state is initialized > under cpu_init_arch(), allowing for logic to be shared regardless of > which exception level was entered. > > * CPUs are initialized sequentially, which allows better for better > logging within the boot-wrapper. > > Mark. > > Mark Rutland (11): > Always enter AArch32 kernels in ARM mode > aarch64: Remove redundant EL1 entry logic > aarch64: Implement cpu_init_arch() > aarch64: Always enter kernel via exception return > aarch32: Refactor inital entry > aarch32: Implement cpu_init_arch() > aarch32: Always enter kernel via exception return > Unify assembly setup paths > Simplify spin logic > Add printing functions > Boot CPUs sequentially > > arch/aarch32/boot.S | 95 ++++++++++---------- > arch/aarch32/include/asm/{gic-v3.h => gic.h} | 2 +- > arch/aarch32/init.c | 30 +++++-- > arch/aarch64/boot.S | 66 ++++---------- > arch/aarch64/include/asm/{gic-v3.h => gic.h} | 2 +- > arch/aarch64/init.c | 30 +++++-- > arch/aarch64/spin.S | 14 +-- > common/boot.c | 20 ++--- > common/gic-v3.c | 2 +- > common/gic.c | 2 +- > common/init.c | 50 +++++++++-- > common/platform.c | 35 ++++++++ > common/psci.c | 16 +--- > include/boot.h | 8 +- > include/gic.h | 16 ++++ > include/platform.h | 4 + > 16 files changed, 221 insertions(+), 171 deletions(-) > rename arch/aarch32/include/asm/{gic-v3.h => gic.h} (91%) > rename arch/aarch64/include/asm/{gic-v3.h => gic.h} (92%) > create mode 100644 include/gic.h This looks good to me. With the issue reported by Lucas fixed and an extra comment in patch #3: Acked-by: Marc Zyngier <maz@kernel.org> M.