[U-Boot] [PATCH 0/7] Bootgraph.pl instrumentation support for UBoot

Andrew Murray amurray at theiet.org
Thu Sep 1 00:20:54 CEST 2011


This patchset introduces the CONFIG_BOOT_TRACE option which provides support
for boot time instrumentation.

When enabled printf output is prefixed with timing information (similar to the
kernel's CONFIG_PRINTK_TIME option) and additional output is generated which
instruments functions and commands called (much like the kernel's
initcall_debug functionality).

The kernel's bootgraph.pl script has been ported to render UBoots instrumented
ouptut into a pretty SVG graph. An example of this can be found here: 
http://goo.gl/dX8aR - which shows the boot time of a Beagle board.

The patch currently provides support for instrumentation of UBoot commands
(e.g. U_BOOT_CMD) for all platforms but only when the HUSH shell is not in use.
Initialisation instrumentation is only limited to the arch/arm/lib/board.c file
at present but can very easily be extended to other relevant files.

The patch also includes documentation.

Andrew Murray (7):
  Add bootgraph.pl script for generating a boot graph SVG file
  Add macros for recording init calls during UBoot execution
  Add timing information to printf's for use with bootgraph.pl
  Add bootgraph instrumentation for ARM boards
  Add bootgraph instrumentation for bootm command
  Add bootgraph instrumentation for UBoot commands
  Add documentation for bootgraph.pl

 arch/arm/lib/board.c |   28 +++++---
 common/cmd_bootm.c   |    1 +
 common/console.c     |   12 +++-
 common/main.c        |   19 +++--
 doc/README.bootgraph |   57 +++++++++++++++
 include/common.h     |   23 ++++++
 tools/bootgraph.pl   |  189 ++++++++++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 312 insertions(+), 17 deletions(-)
 create mode 100644 doc/README.bootgraph
 create mode 100755 tools/bootgraph.pl

-- 
1.7.4.1



More information about the U-Boot mailing list