[PATCH 0/7] Add device-tree support to kexec-tools for ARM
Simon Horman
horms at verge.net.au
Sun Sep 9 20:05:50 EDT 2012
On Fri, Sep 07, 2012 at 10:11:19AM +0100, Matthew Leach wrote:
> Hi all,
>
> Running a kexec() on ARM platforms has become an issue as information
> about the platform that is presented via device-tree is required to
> boot newer kernels.
>
> The ATAGs kernel code is re-used, replacing the ATAGs with a
> device-tree blob so that only kexec-tools needs to be changed. There
> are two options for generating a dtb to be passed to the kernel from
> kexec-tools: 1) Read in the device-tree that is exposed in
> /proc/device-tree and flatten this out into a dtb. 2) Allow the user
> to specify a dtb file on the command line. These blobs are then
> loaded into memory before the kernel image and the address passed
> through to r2, as stated in the ARM booting documentation.
>
> These patches depend upon a kernel patch, namely:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-September/118275.html
>
> Simon - you are welcome to add your signed-off-by to my final patch as
> I incorporated bits of your final patch into mine.
Sure, I'll add the sign-off as part of merging the changes.
What I have in mind is to to merge the non ppc64/powerpc patches,
that is 5 of the 7 patches. I'm a but unsure how the kernel-side of things
will pan out, but an incremental patch can be made to kexec-tools
if needed and this series shouldn't break any existing support
Does that work for you?
> Matt
>
> Matthew Leach (1):
> ARM: Add device tree support to the ARM platform
>
> Simon Horman (6):
> libfdt: Move from kexec/arch/ppc/libfdt/ to kexec/libfdt/
> kexec-elf.h: Include headers for types used
> fs2dt: Add a generic copy of fs2dt
> ppc64: Move 64bit powerpc to use generic fs2dt code
> powerpc: Move 32bit powerpc to use generic fs2dt code
> arm: Make use of memory_ranges
>
> kexec/Makefile | 6 +
> kexec/arch/arm/Makefile | 13 +
> kexec/arch/arm/crashdump-arm.c | 45 ++-
> kexec/arch/arm/crashdump-arm.h | 2 +
> kexec/arch/arm/include/arch/options.h | 6 +-
> kexec/arch/arm/kexec-arm.h | 7 +
> kexec/arch/arm/kexec-zImage-arm.c | 87 ++++-
> kexec/arch/ppc/Makefile | 17 +-
> kexec/arch/ppc/crashdump-powerpc.c | 2 +-
> kexec/arch/ppc/crashdump-powerpc.h | 2 +
> kexec/arch/ppc/fs2dt.c | 450 --------------------------
> kexec/arch/ppc/kexec-elf-ppc.c | 2 -
> kexec/arch/ppc/kexec-ppc.h | 26 +-
> kexec/arch/ppc/kexec-uImage-ppc.c | 3 -
> kexec/arch/ppc64/Makefile | 7 +-
> kexec/arch/ppc64/crashdump-ppc64.c | 3 +-
> kexec/arch/ppc64/crashdump-ppc64.h | 4 +
> kexec/arch/ppc64/kexec-elf-ppc64.c | 4 +-
> kexec/arch/ppc64/kexec-ppc64.c | 1 +
> kexec/arch/ppc64/kexec-ppc64.h | 29 +-
> kexec/arch_reuse_initrd.c | 2 +
> kexec/{arch/ppc64 => }/fs2dt.c | 277 +++++++++-------
> kexec/fs2dt.h | 38 +++
> kexec/kexec-elf.h | 3 +
> kexec/kexec.h | 5 +
> kexec/{arch/ppc => }/libfdt/Makefile.libfdt | 8 +-
> kexec/{arch/ppc => }/libfdt/TODO | 0
> kexec/{arch/ppc => }/libfdt/fdt.c | 0
> kexec/{arch/ppc => }/libfdt/fdt.h | 0
> kexec/{arch/ppc => }/libfdt/fdt_ro.c | 0
> kexec/{arch/ppc => }/libfdt/fdt_rw.c | 0
> kexec/{arch/ppc => }/libfdt/fdt_strerror.c | 0
> kexec/{arch/ppc => }/libfdt/fdt_sw.c | 0
> kexec/{arch/ppc => }/libfdt/fdt_wip.c | 0
> kexec/{arch/ppc => }/libfdt/libfdt.h | 0
> kexec/{arch/ppc => }/libfdt/libfdt_env.h | 0
> kexec/{arch/ppc => }/libfdt/libfdt_internal.h | 0
> 37 files changed, 392 insertions(+), 657 deletions(-)
> delete mode 100644 kexec/arch/ppc/fs2dt.c
> rename kexec/{arch/ppc64 => }/fs2dt.c (77%)
> create mode 100644 kexec/fs2dt.h
> rename kexec/{arch/ppc => }/libfdt/Makefile.libfdt (60%)
> rename kexec/{arch/ppc => }/libfdt/TODO (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt.c (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt.h (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt_ro.c (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt_rw.c (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt_strerror.c (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt_sw.c (100%)
> rename kexec/{arch/ppc => }/libfdt/fdt_wip.c (100%)
> rename kexec/{arch/ppc => }/libfdt/libfdt.h (100%)
> rename kexec/{arch/ppc => }/libfdt/libfdt_env.h (100%)
> rename kexec/{arch/ppc => }/libfdt/libfdt_internal.h (100%)
>
> --
> 1.7.12
>
More information about the kexec
mailing list