[boot-wrapper PATCH 00/12] Preparatory fixes and cleanup

Mark Rutland mark.rutland at arm.com
Thu Jul 29 08:20:38 PDT 2021


The boot-wrapper has had periodic updates over the last few years, and with
each addition becomes increasingly in need of some larger scale cleanup to keep
it clear and maintainable.

While looking over Jaxson Han's ARMv8-R AArch64 series [1] I realised there are
a number of existing issues and design warts that we need to clean up before it
becomes harder to do so.

These patches address some existing issues with the boot-wrapper, and
restructure the codebase to make it easier to navigate. I intend to merge these
in the next few days if there are no objections, and will follow up with some
further rework which should make it easier to add ARMv8-R AArch64 support atop.

Thanks,
Mark.

[1] https://lore.kernel.org/r/20210525062509.201464-1-jaxson.han@arm.com

Mark Rutland (12):
  Ensure `kernel_address` is aligned
  Output text separately from data
  Remove cache maintenance
  Remove `flag_no_el3`
  Move PSCI triage to C
  Move scripts to a `scripts` directory
  aarch64: respect text offset
  Consistently use logical CPU IDs
  Cleanup `.globl` usage
  aarch32: rename `_spin_dead` -> `err_invalid_id`
  Rename `spin.h` -> `boot.h`
  Move common source files to `common` directory

 Makefile.am                            | 53 ++++++++++++---------
 arch/aarch32/boot.S                    | 22 +++------
 arch/aarch32/psci.S                    | 27 ++---------
 arch/aarch32/stack.S                   | 11 ++---
 arch/aarch32/utils.S                   |  4 +-
 arch/aarch64/boot.S                    | 21 ++------
 arch/aarch64/psci.S                    | 30 ++----------
 arch/aarch64/spin.S                    | 10 ++--
 arch/aarch64/stack.S                   | 11 ++---
 arch/aarch64/utils.S                   |  9 ++--
 cache.c                                | 58 -----------------------
 bakery_lock.c => common/bakery_lock.c  |  0
 boot_common.c => common/boot.c         |  7 +--
 gic-v3.c => common/gic-v3.c            |  4 +-
 gic.c => common/gic.c                  |  3 +-
 lib.c => common/lib.c                  |  0
 platform.c => common/platform.c        |  0
 psci.c => common/psci.c                | 28 ++++++++---
 include/{spin.h => boot.h}             |  6 +--
 include/cpu.h                          |  2 +
 include/linkage.h                      |  6 ++-
 model.lds.S                            |  3 +-
 scripts/AA64Image.pm                   | 87 ++++++++++++++++++++++++++++++++++
 FDT.pm => scripts/FDT.pm               |  0
 scripts/aa64-load-offset.pl            | 28 +++++++++++
 addpsci.pl => scripts/addpsci.pl       |  0
 findbase.pl => scripts/findbase.pl     |  0
 findcpuids.pl => scripts/findcpuids.pl |  0
 findmem.pl => scripts/findmem.pl       |  0
 29 files changed, 218 insertions(+), 212 deletions(-)
 delete mode 100644 cache.c
 rename bakery_lock.c => common/bakery_lock.c (100%)
 rename boot_common.c => common/boot.c (93%)
 rename gic-v3.c => common/gic-v3.c (98%)
 rename gic.c => common/gic.c (96%)
 rename lib.c => common/lib.c (100%)
 rename platform.c => common/platform.c (100%)
 rename psci.c => common/psci.c (69%)
 rename include/{spin.h => boot.h} (88%)
 create mode 100755 scripts/AA64Image.pm
 rename FDT.pm => scripts/FDT.pm (100%)
 create mode 100755 scripts/aa64-load-offset.pl
 rename addpsci.pl => scripts/addpsci.pl (100%)
 rename findbase.pl => scripts/findbase.pl (100%)
 rename findcpuids.pl => scripts/findcpuids.pl (100%)
 rename findmem.pl => scripts/findmem.pl (100%)

-- 
2.11.0




More information about the linux-arm-kernel mailing list