On Wed, Oct 22, 2025 at 07:16:05PM +0530, Shivang Upadhyay wrote: > Currently, on ppc64 systems, kexec cannot directly use a > user-provided devicetreeblob (dtb) when booting a new > kernel with an initrd. This limitation exists because the > dtb must be modified at runtime — for example, to include > the initrd’s memory location and size, and to add > /memreserve/ entries based on the current system memory > layout. > > Previously, kexec handled this by generating a fresh dtb in > memory from the running system’s /proc/device-tree directory. > However, this approach prevents users from making > intentional modifications to the dtb — such as changin boot > arguments, enabling or disabling devices, or testing kernel > changes that depend on specific device tree properties. > > Adding support for user-provided dtb (with appropriate > patching by kexec) allows more control for developers, > particularly when experimenting with custom kernels or > hardware configurations. > > This patch series lifts this restriction and ensures that > the necessary /memreserve/ sections are properly added to > the new DTB. on ppc64, it is mandatory, for the rebooting > cpu to be present in the new kernel’s dtb, so additional > logic has been added to identify and mark one of available > cpu as reboot cpu on currect system. > > A new architecture-specific function, arch_do_unload(), has > been introduced to perform the necessary cleanup during > kexec unload. in ppc64, the reboot CPU changes due to kexec, > and it gets reset back on kexec unload. > > Shivang Upadhyay (4): > ppc64: ensure /memreserve/ sections exist in user-provided FDT > ppc64: handle reboot CPU in case of user provided DTB > Add arch_do_unload hook for arch-specific cleanup > ppc64: life the dtb and initrd restriction
Thanks, applied. - ppc64: life the dtb and initrd restriction https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=4dc039779675 - Add arch_do_unload hook for arch-specific cleanup https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=bf4aa2a1f365 - ppc64: handle reboot CPU in case of user provided DTB https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=39631c8fd64f - ppc64: ensure /memreserve/ sections exist in user-provided FDT https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=32f664bfa479
