All of lore.kernel.org
 help / color / mirror / Atom feed
* [BOOT-WRAPPER 00/11] Cleanup initialization
@ 2024-07-29 16:14 Mark Rutland
  2024-07-29 16:14 ` [BOOT-WRAPPER 01/11] Always enter AArch32 kernels in ARM mode Mark Rutland
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Mark Rutland @ 2024-07-29 16:14 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: akos.denke, andre.przywara, luca.fancellu, mark.rutland, maz

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

-- 
2.30.2



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-08-03 10:58 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 16:14 [BOOT-WRAPPER 00/11] Cleanup initialization Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 01/11] Always enter AArch32 kernels in ARM mode Mark Rutland
2024-08-02 11:26   ` Andre Przywara
2024-08-03 10:53     ` Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 02/11] aarch64: Remove redundant EL1 entry logic Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 03/11] aarch64: Implement cpu_init_arch() Mark Rutland
2024-08-02  9:29   ` Marc Zyngier
2024-08-02  9:38     ` Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 04/11] aarch64: Always enter kernel via exception return Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 05/11] aarch32: Refactor inital entry Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 06/11] aarch32: Implement cpu_init_arch() Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 07/11] aarch32: Always enter kernel via exception return Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 08/11] Unify assembly setup paths Mark Rutland
2024-07-29 16:14 ` [BOOT-WRAPPER 09/11] Simplify spin logic Mark Rutland
2024-07-29 16:15 ` [BOOT-WRAPPER 10/11] Add printing functions Mark Rutland
2024-07-29 16:15 ` [BOOT-WRAPPER 11/11] Boot CPUs sequentially Mark Rutland
2024-07-31  9:57   ` Luca Fancellu
2024-08-03 10:57     ` Mark Rutland
2024-08-02 10:18 ` [BOOT-WRAPPER 00/11] Cleanup initialization Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.