[U-Boot] [RFC PATCH v2 0/15] bootstage: record and publish boot progress timing
Simon Glass
sjg at chromium.org
Tue Jan 3 23:33:54 CET 2012
Hi,
On Sat, Dec 10, 2011 at 1:07 PM, Simon Glass <sjg at chromium.org> wrote:
> This series creates a simple boot progress timing feature in U-Boot.
>
> Previous discussion on this is here:
>
> http://lists.denx.de/pipermail/u-boot/2011-May/thread.html#92584
>
> A request was made to unify this with show_boot_progress(). As discussed
> in the v1 RFC patch, this series addresses this the following way:
Are there comments / objections on this series at this stage? I am
wanting to build it on with a new series.
Regards,
Simon
>
> 1. Create bootstage.h with the intent of replacing integers with enums. This
> will allow the values to be easily changed or rationalised later as required.
> It also makes it more explicit that (for example) 15 means we are about to
> run an OS.
>
> 2. Change show_boot_progress() to use these enums. This first patch just
> shows doing this with one (commonly used) integer value.
>
> 3. Create bootstage.c file which permits recording of bootstage timestamps.
>
> 4. Change the existing show_boot_progress() handlers within board files to
> use a provided bootstage progress handler instead. This is easy enough as
> there are few users.
>
> 5. Change show_boot_progress() to call into bootstage, which in turns calls
> the board-provided progress handler, if defined, after recording a timestamp.
> The function signature will stay the same for now.
>
> Ultimately I would like boot timing available from before U-Boot to user
> space in Linux. See RFC patch for Linux here:
>
> http://lwn.net/Articles/460432/
>
> and discussion here:
>
> http://comments.gmane.org/gmane.linux.kernel/1194861
>
> Still to do: change the microsecond time printout to use the Linux
> seconds.microseconds format.
>
> Changes in v2:
> - Unify show_boot_progress() into this series
>
> Simon Glass (15):
> bootstage: Create an initial header for boot progress integers
> bootstage: Make use of BOOTSTAGE_ID_RUN_OS in show_boot_progress()
> bootstage: Use show_boot_error() for -ve progress numbers
> bootstage: Convert progress numbers 1-9 into enums
> bootstage: Convert progress numbers 10-19 to enums
> bootstage: Convert progress numbers 20-41 to enums
> bootstage: Convert IDE progress numbers to enums
> bootstage: Convert NAND progress numbers to enums
> bootstage: Convert net progress numbers to enums
> bootstage: Convert FIT progress numbers to enums
> bootstage: Define an optional microsecond timer
> bootstage: Replace show_boot_progress/error() with bootstage_...()
> bootstage: Add microsecond boot time measurement
> bootstage: Plumb in bootstage calls for basic operations
> bootstage: arm: Add bootstage calls in board and bootm
>
> README | 25 +++
> arch/arm/lib/board.c | 3 +
> arch/arm/lib/bootm.c | 6 +-
> arch/avr32/lib/bootm.c | 2 +-
> arch/m68k/lib/bootm.c | 2 +-
> arch/microblaze/lib/bootm.c | 2 +-
> arch/mips/lib/bootm.c | 2 +-
> arch/mips/lib/bootm_qemu_mips.c | 2 +-
> arch/nds32/lib/bootm.c | 2 +-
> arch/powerpc/lib/board.c | 2 +-
> arch/powerpc/lib/bootm.c | 2 +-
> arch/sparc/lib/board.c | 2 +-
> arch/x86/lib/board.c | 19 +--
> board/Seagate/dockstar/dockstar.c | 4 +-
> board/a4m072/a4m072.c | 2 +-
> board/bf533-stamp/bf533-stamp.c | 30 ++--
> board/hermes/hermes.c | 8 +-
> board/ivm/ivm.c | 2 +-
> board/matrix_vision/common/mv_common.c | 2 +-
> board/matrix_vision/mvbc_p/mvbc_p.c | 8 +-
> board/pcs440ep/pcs440ep.c | 50 +++---
> board/scb9328/scb9328.c | 6 -
> board/sixnet/sixnet.c | 2 +-
> board/ti/beagle/beagle.c | 2 +-
> common/Makefile | 1 +
> common/bootstage.c | 160 ++++++++++++++++++++
> common/cmd_bootm.c | 95 ++++++------
> common/cmd_ide.c | 46 +++---
> common/cmd_nand.c | 34 ++--
> common/cmd_net.c | 23 ++-
> common/cmd_usb.c | 1 +
> common/env_common.c | 2 +-
> common/image.c | 56 ++++---
> include/bootstage.h | 260 ++++++++++++++++++++++++++++++++
> include/common.h | 13 +-
> lib/time.c | 17 ++
> net/bootp.c | 4 +
> net/eth.c | 6 +-
> net/net.c | 1 +
> post/post.c | 4 +-
> 40 files changed, 698 insertions(+), 212 deletions(-)
> create mode 100644 common/bootstage.c
> create mode 100644 include/bootstage.h
>
> --
> 1.7.3.1
>
More information about the U-Boot
mailing list