bootstage: Implement core microsecond boot time measurement
authorSimon Glass <sjg@chromium.org>
Mon, 13 Feb 2012 13:51:19 +0000 (13:51 +0000)
committerWolfgang Denk <wd@denx.de>
Sun, 18 Mar 2012 20:42:14 +0000 (21:42 +0100)
commit3a608ca01d76e8cb90dcc8dc1a22cde98cdca3ab
treee00bc2156e8ed15bcb5de0ee76826dac024ac302
parent770605e4f9874230728f5a592820c619b1565ebc
bootstage: Implement core microsecond boot time measurement

This defines the basics of a new boot time measurement feature. This allows
logging of very accurate time measurements as the boot proceeds, by using
an available microsecond counter.

To enable the feature, define CONFIG_BOOTSTAGE in your board config file.
Also available is CONFIG_BOOTSTAGE_REPORT which will cause a report to be
printed just before handing off to the OS.

Most IDs are not named at this stage. For that I would first like to
renumber them all.

Timer summary in microseconds:
       Mark    Elapsed  Stage
          0          0  reset
    205,000    205,000  board_init_f
  6,053,000  5,848,000  bootm_start
  6,053,000          0  id=1
  6,058,000      5,000  id=101
  6,058,000          0  id=100
  6,061,000      3,000  id=103
  6,064,000      3,000  id=104
  6,093,000     29,000  id=107
  6,093,000          0  id=106
  6,093,000          0  id=105
  6,093,000          0  id=108
  7,089,000    996,000  id=7
  7,089,000          0  id=15
  7,089,000          0  id=8
  7,097,000      8,000  start_kernel

Signed-off-by: Simon Glass <sjg@chromium.org>
README
common/Makefile
common/bootstage.c [new file with mode: 0644]
include/bootstage.h