From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Murray Date: Wed, 31 Aug 2011 23:20:57 +0100 Subject: [U-Boot] [PATCH 3/7] Add timing information to printf's for use with bootgraph.pl In-Reply-To: <1314829261-13996-1-git-send-email-amurray@theiet.org> References: <1314829261-13996-1-git-send-email-amurray@theiet.org> Message-ID: <1314829261-13996-4-git-send-email-amurray@theiet.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Andrew Murray This patch adds timings information to printfs. Signed-off-by: Andrew Murray --- common/console.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/common/console.c b/common/console.c index 8c650e0..33de3fa 100644 --- a/common/console.c +++ b/common/console.c @@ -370,13 +370,23 @@ int printf(const char *fmt, ...) va_list args; uint i; char printbuffer[CONFIG_SYS_PBSIZE]; + char *buf = printbuffer; va_start(args, fmt); +#if defined(CONFIG_BOOT_TRACE) + unsigned long long ticks = get_ticks(); + int secs = ticks / get_tbclk(); + int msec = ((ticks * 1000000) / get_tbclk()) - (secs * 1000000); + + i += sprintf(buf, "[%5lu.%06lu] ", secs, msec); + buf += i; +#endif + /* For this to work, printbuffer must be larger than * anything we ever want to print. */ - i = vsprintf(printbuffer, fmt, args); + i += vsprintf(buf, fmt, args); va_end(args); /* Print the string */ -- 1.7.4.1