From e8c699eb1f7a50b4f10024c41b8c86f907233f8d Mon Sep 17 00:00:00 2001 From: Jonas Aaberg Date: Mon, 6 Sep 2010 12:56:31 +0200 Subject: boottime: Enable boot time measurements. This patch enables boot time measurements for u-boot. It also includes minor updates as well. Change-Id: I993c9ad4fa5dab62df2c0a88454a7546d9565d21 Signed-off-by: Jonas Aaberg Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/4610 Reviewed-by: Robert ROSENGREN Reviewed-by: Michael BRANDT --- include/boottime.h | 44 +++++++++++++++++++++++++++++++++++++------- include/configs/u8500.h | 5 +++++ 2 files changed, 42 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/boottime.h b/include/boottime.h index 95f039170..b48696bde 100644 --- a/include/boottime.h +++ b/include/boottime.h @@ -28,17 +28,47 @@ struct boottime_entry { u8 name[BOOTTIME_MAX_NAME_LEN]; }; -#ifdef CONFIG_BOOTTIME +/** + * boottime_tag() + * Add a sample point with a name now. Shall be called before function "name" + * is executed. + * @name: Sample point name. + */ void boottime_tag(char *name); -void boottime_remove_last(void); + +/** + * boottime_get_entry() + * + * Loads a boottime measure point information. + * @i: boottime measurement point entry. + * + * Returns a boottime entry. NULL, if not existing. + */ struct boottime_entry *boottime_get_entry(unsigned int i); + +/** + * boottime_idle_get() + * + * Returns the amount of time in us that has been spent idling. + */ unsigned long boottime_idle_get(void); + +/** + * boottime_idle_done() + * + * Returns the total time since start in us. + */ unsigned long boottime_idle_done(void); + +/** + * boottime_idle_add() + * + * This function shall be added to all delay() functions. + * The delay time input to delay() shall be provided to this + * function as well. It is used to calculate average load + * during boot. + * @time: time in us. + */ void boottime_idle_add(unsigned long time); -#else -#define boottime_tag(x) -#define boottime_remove_last() -#define boottime_idle_add(x) -#endif #endif diff --git a/include/configs/u8500.h b/include/configs/u8500.h index 24b7b47fa..35d7833b1 100644 --- a/include/configs/u8500.h +++ b/include/configs/u8500.h @@ -41,6 +41,8 @@ #define CONFIG_SYS_TIMERBASE 0xA03C6000 /* MTU0 timer */ #endif +#define CONFIG_BOOTTIME + #define BOARD_LATE_INIT 1 /*----------------------------------------------------------------------- @@ -144,8 +146,11 @@ "console=${console}\0" \ "emmcboot=echo Booting from eMMC ...; " \ "run commonargs emmcargs addcons memargs;" \ + "boottime_tag write_partition;" \ "write_partition_block;" \ + "boottime_tag load_kernel;" \ "mmc read 0 ${loadaddr} 0xA0000 0x4000;" \ + "boottime_tag boot_kernel;" \ "bootm ${loadaddr}\0" \ "cmdfile=mmc init 1;mmc_read_cmd_file;run bootcmd\0" \ "flash=mmc init 1;fatload mmc 1 ${loadaddr} flash.scr;" \ -- cgit v1.2.3