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: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
6c887b2acb
commit
e2ee100fd8
@ -37,7 +37,7 @@ void __udelay(unsigned long usec)
|
|||||||
os_usleep(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;
|
return os_get_nsec() / 1000;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ void os_usleep(unsigned long usec)
|
|||||||
usleep(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)
|
#if defined(CLOCK_MONOTONIC) && defined(_POSIX_MONOTONIC_CLOCK)
|
||||||
struct timespec tp;
|
struct timespec tp;
|
||||||
|
@ -22,6 +22,19 @@
|
|||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
#define __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 */
|
/* Number of bits in a C 'long' on this architecture */
|
||||||
#define CONFIG_SANDBOX_BITS_PER_LONG 64
|
#define CONFIG_SANDBOX_BITS_PER_LONG 64
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user