On Tue, Jun 15, 2021 at 12:40 PM Nick Kossifidis <mick@xxxxxxxxxxxx> wrote: > > Στις 2021-06-15 21:17, Geert Uytterhoeven έγραψε: > > RISC-V uses platform-specific code to locate the elf core header in > > memory. However, this does not conform to the standard > > "linux,elfcorehdr" DT bindings, as it relies on a reserved memory node > > with the "linux,elfcorehdr" compatible value, instead of on a > > "linux,elfcorehdr" property under the "/chosen" node. > > > > The non-compliant code can just be removed, as the standard behavior is > > already implemented by platform-agnostic handling in the FDT core code. > > > > Fixes: 5640975003d0234d ("RISC-V: Add crash kernel support") > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > NACK > > There is nothing standard about "linux,elfcorehdr", it's an It is and it is documented which is more than we can say for "linux,elfcorehdr" as a node. > arm64-specific property on /chosen and it's suboptimal, it gets the > addr/length of ELF core of the previous kernel through that property and > then goes on to reserve that region at: > https://elixir.bootlin.com/linux/v5.13-rc6/source/arch/arm64/mm/init.c#L155 > > Why on earth is this cleaner than just defining a reserved-region in the > first place (a standard binding) with and hook up a callback with > RESERVEDMEM_OF_DECLARE for it to also initialize elfcorehdr_addr/size ? > If you don't like the compatible string I'm ok to change it, but this > patch breaks kdump on riscv since that region won't be reserved any more > and kernel will corrupt it. I might agree if we were designing this all from scratch, but we're not. We've got powerpc doing /memreserve/ + kernel cmdline, arm64 using chosen, and RiscV a 3rd way. What happens when/if RiscV wants to add an IMA buffer? That's no different than this case. The 2 architectures supporting it both use /chosen. Specifying an initrd is no different either. Rob