mbox series

[0/4] arm64: kexec: translate relocate_kernel.S to C languange

Message ID 20240328115656.24090-1-piliu@redhat.com (mailing list archive)
Headers show
Series arm64: kexec: translate relocate_kernel.S to C languange | expand

Message

Pingfan Liu March 28, 2024, 11:56 a.m. UTC
Translate relocate_kernel.S to C languange to make it more readable.

The relocate_kernel.c is PIE, but I am not sure whether it should locate in
kernel/pi, which runs check on the PIE code. (I can correct it in next
version)

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
To: linux-arm-kernel@lists.infradead.org
---
Pingfan Liu (4):
  arm64: relocate: Let __relocate_new_kernel_start align on SZ_4K
  arm64: mm: Provide prot param in trans_pgd_idmap_page()'s prototype
  arm64: kexec: Introduce d_size to carry cacheline size information
  arm64: kexec: Change relocate_kernel to C code

 arch/arm64/include/asm/kexec.h      |   1 +
 arch/arm64/include/asm/trans_pgd.h  |   2 +-
 arch/arm64/kernel/Makefile          |   1 +
 arch/arm64/kernel/asm-offsets.c     |  10 --
 arch/arm64/kernel/hibernate.c       |   3 +-
 arch/arm64/kernel/machine_kexec.c   |  16 ++-
 arch/arm64/kernel/relocate_kernel.S | 100 --------------
 arch/arm64/kernel/relocate_kernel.c | 197 ++++++++++++++++++++++++++++
 arch/arm64/kernel/vmlinux.lds.S     |   3 +-
 arch/arm64/mm/trans_pgd.c           |   4 +-
 10 files changed, 218 insertions(+), 119 deletions(-)
 delete mode 100644 arch/arm64/kernel/relocate_kernel.S
 create mode 100644 arch/arm64/kernel/relocate_kernel.c