[U-Boot] [PATCH 3/7] Add timing information to printf's for use with bootgraph.pl
Andrew Murray
amurray at theiet.org
Thu Sep 1 01:30:36 CEST 2011
On 31 August 2011 23:47, Mike Frysinger <vapier at gentoo.org> wrote:
> On Wednesday, August 31, 2011 18:20:57 Andrew Murray wrote:
>> 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);
>
> NAK for a few reasons:
> - i dont see how this could possibly compile warning free
> - you never initialize "i", only added to it
> - you call va_start() inbetween variable decls
> -mike
>
Yes this does look dreadful - I'll update the patch pending outcome of
thread with Simon Glass and existing work in this area.
Andrew Murray
More information about the U-Boot
mailing list