summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2012-02-13 13:51:19 +0000
committerWolfgang Denk <wd@denx.de>2012-03-18 21:42:14 +0100
commit3a608ca01d76e8cb90dcc8dc1a22cde98cdca3ab (patch)
treee00bc2156e8ed15bcb5de0ee76826dac024ac302 /README
parent770605e4f9874230728f5a592820c619b1565ebc (diff)
downloadtalos-obmc-uboot-3a608ca01d76e8cb90dcc8dc1a22cde98cdca3ab.tar.gz
talos-obmc-uboot-3a608ca01d76e8cb90dcc8dc1a22cde98cdca3ab.zip
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>
Diffstat (limited to 'README')
-rw-r--r--README25
1 files changed, 25 insertions, 0 deletions
diff --git a/README b/README
index 89646725a0..1f8bd20495 100644
--- a/README
+++ b/README
@@ -2261,6 +2261,31 @@ The following options need to be configured:
example, some LED's) on your board. At the moment,
the following checkpoints are implemented:
+- Detailed boot stage timing
+ CONFIG_BOOTSTAGE
+ Define this option to get detailed timing of each stage
+ of the boot process.
+
+ CONFIG_BOOTSTAGE_USER_COUNT
+ This is the number of available user bootstage records.
+ Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
+ a new ID will be allocated from this stash. If you exceed
+ the limit, recording will stop.
+
+ CONFIG_BOOTSTAGE_REPORT
+ Define this to print a report before boot, similar to this:
+
+ Timer summary in microseconds:
+ Mark Elapsed Stage
+ 0 0 reset
+ 3,575,678 3,575,678 board_init_f start
+ 3,575,695 17 arch_cpu_init A9
+ 3,575,777 82 arch_cpu_init done
+ 3,659,598 83,821 board_init_r start
+ 3,910,375 250,777 main_loop
+ 29,916,167 26,005,792 bootm_start
+ 30,361,327 445,160 start_kernel
+
Legacy uImage format:
Arg Where When
OpenPOWER on IntegriCloud