Skip to content

RFC Relocatable kernel support for PPC64

Mohan Kumar M linuxppc-dev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 RFC Latest4 patches 17 repliesIn review
  2. v2 RFC4 patches 0 repliesSuperseded
  3. v1 RFC4 patches 0 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4Extract list of relocation offsetsarch/powerpc/boot/relocs.c+865 -015 replies
2/4Build files needed for relocation supportarch/powerpc/Kconfig arch/powerpc/Makefile arch/powerpc/boot/Makefile +1 more+83 -80 replies
3/4Apply relocation info to vmlinuxarch/powerpc/boot/reloc_apply.S+229 -00 replies
4/4Relocation supportarch/powerpc/kernel/crash_dump.c arch/powerpc/kernel/entry_64.S arch/powerpc/kernel/head_64.S +19 more+189 -492 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [RFC v3 PATCH 0/4] Relocatable kernel support for PPC64

Hi,

Following four patches enable the "relocatable kernel" feature for PPC64 kernels.
1. extract_relocation_info.patch
2. relocation_build.patch
3. apply_relocation.patch
4. relocation_support.patch

With the patchset, vmcore image of a crashed system can be captured using the same kernel binary.

Still the kernel is not a fully relocatable kernel. It can either run at 0 or 32MB based on which address its loaded. If its loaded by 'kexec -p', it behaves as a relocatable kernel and runs at 32MB(even though its compiled for 0). If the same kernel is loaded by yaboot or kexec -l, it will behave as a normal kernel and will run at the compiled address.

Difference between v3 and v2
* Relocatable kernel build process is integrated with the kernel build.
* The problem kdump kernel boot fail on some specific systems is fixed now.

Issues:
* Relocatable vmlinux image is built in arch/powerpc/boot as vmlinux.reloc. But it should be built in top level directory of kernel source as vmlinux instead of vmlinux.reloc

* During kdump kernel boot, all secondary processors are stuck up. But during yaboot all secondary processors are brought online.

Tested on POWER5 systems.

Please send me your suggestions and feedbacks.

Regards,
Mohan.