24 Jul, 2013

1 commit


26 Jun, 2013

2 commits


14 May, 2013

2 commits

  • Add a function which allows a (file, function, line number) to be marked
    in bootstage.

    Signed-off-by: Simon Glass
    Reviewed-by: Che-Liang Chiou

    Simon Glass
     
  • Any pointers to name strings that were passed to bootstage_mark_name()
    pre-relocation should be copied post-relocation so that they don't get
    trashed as the original location of U-Boot is re-used for other
    purposes.

    This change introduces a new API call that should be called from
    board_init_r() after malloc has been initted on any board that uses
    bootstage.

    Signed-off-by: Doug Anderson
    Signed-off-by: Simon Glass
    Reviewed-by: Simon Glass

    Doug Anderson
     

03 Oct, 2012

4 commits

  • It is useful to be able to write the bootstage information to memory for
    use by a later utility, or the Linux kernel. Provide a function to do
    this as well as a function to read bootstage information back and incorporate
    it into the current table.

    This also makes it possible for U-Boot to chain to another U-Boot and pass
    on its bootstage information.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add an option, CONFIG_BOOTSTAGE_FDT to pass boot timings to the kernel
    in the device tree, if available. To use this, you must have
    CONFIG_OF_LIBFDT defined.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Sometimes we want to add up the amount of time spent in a particular
    activity when it is happening in a number of discrete chunks.

    Add bootstage_start() to mark the start of an acitivity and
    bootstage_accum() to accumulate the time since the last start. Calling
    these function in pairs results in the accumulated time being collected.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This function is not static, but not exported either. Add a prototype
    in the header file and move the required enum to the header also.

    Signed-off-by: Simon Glass

    Simon Glass
     

11 Apr, 2012

1 commit

  • The standalone example does not have get_timer() defined, so we cannot
    rely on it being available.

    Move the timer function into boootstage.c to avoid this problem.

    This corrects a build breakage for the standalone example on some boards.

    Signed-off-by: Simon Glass
    Acked-by: Matthias Fuchs

    Simon Glass
     

19 Mar, 2012

1 commit

  • 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

    Simon Glass