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

Pingfan Liu piliu at redhat.com
Thu Mar 28 04:56:50 PDT 2024


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 at arm.com>
Cc: Will Deacon <will at kernel.org>
Cc: Ard Biesheuvel <ardb at kernel.org>
Cc: Kees Cook <keescook at chromium.org>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Pasha Tatashin <pasha.tatashin at soleen.com>
To: linux-arm-kernel at 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

-- 
2.41.0




More information about the linux-arm-kernel mailing list