Message ID | 20250409201428.648717-1-bjorn@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | kexec-tools RISC-V port | expand |
On Wed, Apr 09, 2025 at 10:14:22PM +0200, Björn Töpel wrote: > From: Björn Töpel <bjorn@rivosinc.com> > > Hi! > > This is an attempt to finally get the RISC-V patches for kexec-tools > upstream. > > Simon suggested in [1] that: > > > In my mind the big question is how to move RISC-V support from that > > branch, to being merged into main. > > > > IIRC there were some issues that needed to be addressed. Perhaps they > > are all addressed by this series, and with some appropriate squashing > > we can move forwards with a series based on main? > > I talked to Nick last week, and he suggested that we'd work the RISC-V > collab Github [2], but I think it's just easier to do it on the list. > > I've been collecting a number of different trees out there, and tried > to group them in a series. > > Given that there is not support for RISC-V upstream yet, I didn't see > the need to carry all the fixes/updates ("development history") as > separate commits -- it doesn't help bugtracking/bisectability. Thanks Björn, I haven't looked over the patches yet. But in principle I agree with this approach. > > Instead the first commit message is a big one, and tries to give > attribution to all involved parties. Input/thoughts are very much > welcome! > > To properly test this on RISC-V, the upstream Linux kernel has most > things in 6.15-rc1, e.g.: > commit 28093cfef5dd ("riscv/kexec_file: Handle R_RISCV_64 in purgatory relocator") > commit 3f7023171df4 ("riscv/purgatory: 4B align purgatory_start") > > To cross-build kexec-tools: > | ./bootstrap > | ./configure --host=riscv64-linux-gnu > | make > > For some tests, additional kernel patches are needed, that as of today > is not in 6.15-rc1: > * To test "kexec -s -l Image", kexec_file_load with Image support is > needed [3] > * To test "kexec -c -l vmlinux" with CONFIG_RELOCATABLE, a kbuild fix > is needed [4] > * Typically if you load initrd, or a large kernel [5] (since a bunch > of Reserved regions are not properly exposed). > > I've tested combinations with crashkernel (-p), and regular (-c/-s + -e) for: > * ACPI/UEFI > * DT/UEFI > * DT > * w/ initrd > * w/o initrd > * ELF (userland loader + kexec_load, and kexec_file_load) > * Image (userland loader + kexec_load, and kexec_file_load) > > I'm sure there are combinations I've missed, but at least from my POV > we're in a pretty good shape. > > All authors: Please let me know if you prefer another split of the > patches. Or something else for that matter! ;-) > > > Let's get the ball rolling! > Björn ...