Skip to content

arm64: head.S cleanup

Mark Rutland linux-arm-kernel 2 versions – New

Get series with b4
b4 am 20150318182352.GI19814@leverpostej

Versions newest first · linked by author and title

  1. v5 Latest8 patches 0 repliesNew
  2. v11 patch 0 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8arm64: Get rid of struct cpu_table+0 -00 replies
2/8arm64: add macros for common adrp usages+0 -01 reply
2/8arm64: add macros for common adrp usages+0 -01 reply
8/8arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol+0 -02 replies
8/8arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol+0 -02 replies
8/8arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol+0 -01 reply
8/8arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol+0 -01 reply
8/8arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol+0 -07 replies

Reviews trailers per patch

6 of 8 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchMark Rutland
SeriesT-b R-b
1/8A-b
2/8
2/8
8/8A-b
8/8A-b
8/8A-b
8/8A-b
8/8A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [PATCH v5 0/8] arm64: head.S cleanup
Quoted 4 lines · Ard Biesheuvel

This some janitorial work on head.S, just stuff I noticed when making changes to it for other reasons.

This still needs acks on patches #2, #5 and #8

I've given each patch of the series series a spin on Juno (using EFI+PSCI) and a model (using the bootwwapper + spin-table). For patches 1-7 the code looks sane, I see no build regressions on defconfig, and everything works, so for those feel free to add:

I have some comments against patch 8 that will need to be fixed up, so I'll provide tags for that separately.

Mark.

Quoted 49 lines

Changes since v4:
- included Marc Zyngier's struct cpu_table removal patch
- dropped __lookup_processor_type_data patch now that Marc has nuked the whole thing
- added patch to merge __enable_mmu() and __turn_mmu_on() into a single function, as there is no need for funky trampoline stuff when you have two non-overlapping TTBRs
- added patch to remove __calc_phys_offset and use PC-relative references or absolute (linker generated) references as appropriate
- added patch to complain when x1/x2/x3 are non-zero, which helps ensure that we will ever be able to use them for anything
- added R-b's

Changes since v3:
- added similar patch for secondary_holding_pen_release
- fixed bug in patch #1 (ldr_l)

Changes since v2:
- added separate patch to add macros for adrp/add, adrp/ldr and adrp/str
- added R-b's

Ard Biesheuvel (7):
arm64: add macros for common adrp usages
arm64: remove processor_id
arm64: remove __switch_data object from head.S
arm64: use PC-relative reference for secondary_holding_pen_release
arm64: merge __enable_mmu and __turn_mmu_on
arm64: remove __calc_phys_offset
arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol

Marc Zyngier (1):
arm64: Get rid of struct cpu_table

 arch/arm64/include/asm/assembler.h |  29 ++++++
 arch/arm64/include/asm/cputable.h  |  30 ------
 arch/arm64/kernel/Makefile         |   2 +-
 arch/arm64/kernel/asm-offsets.c    |   4 -
 arch/arm64/kernel/cputable.c       |  33 ------
 arch/arm64/kernel/head.S           | 203 +++++++------------------------------
 arch/arm64/kernel/setup.c          |  34 +++----
 7 files changed, 83 insertions(+), 252 deletions(-)
 delete mode 100644 arch/arm64/include/asm/cputable.h
 delete mode 100644 arch/arm64/kernel/cputable.c
Signature · 1 line
1.8.3.2