提交 e2ee100f 编写于 作者: S Simon Glass 提交者: Tom Rini

sandbox: Support trace feature

Support tracing on sandbox by adding suitable CONFIG options. To enable it,
compile U-Boot with FTRACE=1.

The timer functions are marked to skip tracing, since these are called from
the tracing code itself, and we want to avoid an infinite loop.
Signed-off-by: NSimon Glass <sjg@chromium.org>
上级 6c887b2a
......@@ -37,7 +37,7 @@ void __udelay(unsigned long usec)
os_usleep(usec);
}
unsigned long timer_get_us(void)
unsigned long __attribute__((no_instrument_function)) timer_get_us(void)
{
return os_get_nsec() / 1000;
}
......
......@@ -152,7 +152,7 @@ void os_usleep(unsigned long usec)
usleep(usec);
}
u64 os_get_nsec(void)
u64 __attribute__((no_instrument_function)) os_get_nsec(void)
{
#if defined(CLOCK_MONOTONIC) && defined(_POSIX_MONOTONIC_CLOCK)
struct timespec tp;
......
......@@ -22,6 +22,19 @@
#ifndef __CONFIG_H
#define __CONFIG_H
#ifdef FTRACE
#define CONFIG_TRACE
#define CONFIG_CMD_TRACE
#define CONFIG_TRACE_BUFFER_SIZE (16 << 20)
#define CONFIG_TRACE_EARLY_SIZE (8 << 20)
#define CONFIG_TRACE_EARLY
#define CONFIG_TRACE_EARLY_ADDR 0x00100000
#endif
#define CONFIG_BOOTSTAGE
#define CONFIG_BOOTSTAGE_REPORT
/* Number of bits in a C 'long' on this architecture */
#define CONFIG_SANDBOX_BITS_PER_LONG 64
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册