On Sat, Feb 13, 2021 at 08:10:41AM -0800, Lakshmi Ramasubramanian wrote: > From: Rob Herring <robh@xxxxxxxxxx> > > Both arm64 and powerpc do essentially the same FDT /chosen setup for > kexec. The differences are either omissions that arm64 should have > or additional properties that will be ignored. The setup code can be > combined and shared by both powerpc and arm64. > > The differences relative to the arm64 version: > - If /chosen doesn't exist, it will be created (should never happen). > - Any old dtb and initrd reserved memory will be released. > - The new initrd and elfcorehdr are marked reserved. > - "linux,booted-from-kexec" is set. > > The differences relative to the powerpc version: > - "kaslr-seed" and "rng-seed" may be set. > - "linux,elfcorehdr" is set. > - Any existing "linux,usable-memory-range" is removed. > > Combine the code for setting up the /chosen node in the FDT and updating > the memory reservation for kexec, for powerpc and arm64, in > of_kexec_alloc_and_setup_fdt() and move it to "drivers/of/kexec.c". > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > Signed-off-by: Lakshmi Ramasubramanian <nramas@xxxxxxxxxxxxxxxxxxx> s390:allmodconfig: drivers/of/kexec.c: In function 'of_kexec_alloc_and_setup_fdt': drivers/of/kexec.c:378:10: error: 'const struct kimage' has no member named 'arch' 378 | image->arch.elf_load_addr, | ^~ drivers/of/kexec.c:379:10: error: 'const struct kimage' has no member named 'arch' 379 | image->arch.elf_headers_sz); | ^~ drivers/of/kexec.c:387:35: error: 'const struct kimage' has no member named 'arch' 387 | ret = fdt_add_mem_rsv(fdt, image->arch.elf_load_addr, | ^~ drivers/of/kexec.c:388:16: error: 'const struct kimage' has no member named 'arch' 388 | image->arch.elf_headers_sz); | ^~ Guenter