All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/4]  Add device-tree support to kexec-tools for ARM
@ 2012-09-05 11:43 Matthew Leach
  2012-09-05 11:44 ` [RFC PATCH 1/4] Fix an overflow bug with address comparison Matthew Leach
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Matthew Leach @ 2012-09-05 11:43 UTC (permalink / raw)
  To: kexec; +Cc: Matthew Leach, will.deacon

Hi all,

Running a kexec() on newer ARM platforms has become an issue as
information about the platform that is presented via device-tree is
required to boot a new kernel.

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.

All comments welcome,
Matt

Matthew Leach (4):
  Fix an overflow bug with address comparison
  Move libfdt to a generic location
  Add the dtc for device-tree manipulation
  Add device tree support to the ARM platform

 kexec/arch/arm/Makefile                            |  10 +
 kexec/arch/arm/include/arch/options.h              |   6 +-
 kexec/arch/arm/kexec-zImage-arm.c                  | 140 ++++-
 kexec/arch/ppc/Makefile                            |   8 +-
 kexec/kexec.c                                      |   2 +-
 util_lib/Makefile                                  |   2 +
 util_lib/dtc/Makefile.dtc                          |   9 +
 util_lib/dtc/data.c                                | 321 ++++++++++
 util_lib/dtc/dtc.c                                 |  44 ++
 util_lib/dtc/dtc.h                                 | 244 ++++++++
 util_lib/dtc/flattree.c                            | 649 +++++++++++++++++++++
 util_lib/dtc/fstree.c                              |  91 +++
 util_lib/dtc/livetree.c                            | 579 ++++++++++++++++++
 util_lib/dtc/srcpos.c                              | 252 ++++++++
 util_lib/dtc/srcpos.h                              |  87 +++
 util_lib/dtc/util.c                                |  59 ++
 util_lib/dtc/util.h                                |  56 ++
 util_lib/dtc/version_gen.h                         |   1 +
 .../arch/ppc => util_lib}/libfdt/Makefile.libfdt   |   8 +-
 {kexec/arch/ppc => util_lib}/libfdt/TODO           |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt.c          |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt.h          |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt_ro.c       |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt_rw.c       |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt_strerror.c |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt_sw.c       |   0
 {kexec/arch/ppc => util_lib}/libfdt/fdt_wip.c      |   0
 {kexec/arch/ppc => util_lib}/libfdt/libfdt.h       |   0
 {kexec/arch/ppc => util_lib}/libfdt/libfdt_env.h   |   0
 .../arch/ppc => util_lib}/libfdt/libfdt_internal.h |   0
 30 files changed, 2553 insertions(+), 15 deletions(-)
 create mode 100644 util_lib/dtc/Makefile.dtc
 create mode 100644 util_lib/dtc/data.c
 create mode 100644 util_lib/dtc/dtc.c
 create mode 100644 util_lib/dtc/dtc.h
 create mode 100644 util_lib/dtc/flattree.c
 create mode 100644 util_lib/dtc/fstree.c
 create mode 100644 util_lib/dtc/livetree.c
 create mode 100644 util_lib/dtc/srcpos.c
 create mode 100644 util_lib/dtc/srcpos.h
 create mode 100644 util_lib/dtc/util.c
 create mode 100644 util_lib/dtc/util.h
 create mode 100644 util_lib/dtc/version_gen.h
 rename {kexec/arch/ppc => util_lib}/libfdt/Makefile.libfdt (60%)
 rename {kexec/arch/ppc => util_lib}/libfdt/TODO (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt.c (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt.h (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt_ro.c (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt_rw.c (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt_strerror.c (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt_sw.c (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/fdt_wip.c (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/libfdt.h (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/libfdt_env.h (100%)
 rename {kexec/arch/ppc => util_lib}/libfdt/libfdt_internal.h (100%)

-- 
1.7.12


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-09-06 22:03 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-05 11:43 [RFC PATCH 0/4] Add device-tree support to kexec-tools for ARM Matthew Leach
2012-09-05 11:44 ` [RFC PATCH 1/4] Fix an overflow bug with address comparison Matthew Leach
2012-09-05 11:44 ` [RFC PATCH 2/4] Move libfdt to a generic location Matthew Leach
2012-09-05 11:44 ` [RFC PATCH 3/4] Add the dtc for device-tree manipulation Matthew Leach
2012-09-05 11:44 ` [RFC PATCH 4/4] Add device tree support to the ARM platform Matthew Leach
2012-09-05 12:38 ` [RFC PATCH 0/4] Add device-tree support to kexec-tools for ARM Simon Horman
2012-09-05 14:34   ` Matthew Leach
2012-09-06  3:29     ` Simon Horman
2012-09-06  9:01       ` Will Deacon
2012-09-06  9:09         ` Simon Horman
2012-09-06  9:14           ` Will Deacon
2012-09-06 22:03             ` Simon Horman
2012-09-06 11:04       ` Matthew Leach
2012-09-06 11:19         ` Will Deacon
2012-09-06 22:00         ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.