mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
trace: make call depth limit customizable
Up to now we had hard coded values for the call depth up to which trace records are created: 200 for early tracing, 15 thereafter. UEFI applications reach a call depth of 80 or above. Provide customizing settings for the call trace depth limit and the early call trace depth limit. Use the old values as defaults. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Simon Glass
parent
a2fa38da20
commit
da0fb5fdd4
15
lib/Kconfig
15
lib/Kconfig
@@ -192,6 +192,13 @@ config TRACE_BUFFER_SIZE
|
|||||||
the size is too small then 'trace stats' will show a message saying
|
the size is too small then 'trace stats' will show a message saying
|
||||||
how many records were dropped due to buffer overflow.
|
how many records were dropped due to buffer overflow.
|
||||||
|
|
||||||
|
config TRACE_CALL_DEPTH_LIMIT
|
||||||
|
int "Trace call depth limit"
|
||||||
|
depends on TRACE
|
||||||
|
default 15
|
||||||
|
help
|
||||||
|
Sets the maximum call depth up to which function calls are recorded.
|
||||||
|
|
||||||
config TRACE_EARLY
|
config TRACE_EARLY
|
||||||
bool "Enable tracing before relocation"
|
bool "Enable tracing before relocation"
|
||||||
depends on TRACE
|
depends on TRACE
|
||||||
@@ -209,6 +216,14 @@ config TRACE_EARLY_SIZE
|
|||||||
Sets the size of the early trace buffer in bytes. This is used to hold
|
Sets the size of the early trace buffer in bytes. This is used to hold
|
||||||
tracing information before relocation.
|
tracing information before relocation.
|
||||||
|
|
||||||
|
config TRACE_EARLY_CALL_DEPTH_LIMIT
|
||||||
|
int "Early trace call depth limit"
|
||||||
|
depends on TRACE_EARLY
|
||||||
|
default 200
|
||||||
|
help
|
||||||
|
Sets the maximum call depth up to which function calls are recorded
|
||||||
|
during early tracing.
|
||||||
|
|
||||||
config TRACE_EARLY_ADDR
|
config TRACE_EARLY_ADDR
|
||||||
hex "Address of early trace buffer in U-Boot"
|
hex "Address of early trace buffer in U-Boot"
|
||||||
depends on TRACE_EARLY
|
depends on TRACE_EARLY
|
||||||
|
@@ -376,7 +376,7 @@ int __attribute__((no_instrument_function)) trace_init(void *buff,
|
|||||||
add_textbase();
|
add_textbase();
|
||||||
|
|
||||||
puts("trace: enabled\n");
|
puts("trace: enabled\n");
|
||||||
hdr->depth_limit = 15;
|
hdr->depth_limit = CONFIG_TRACE_CALL_DEPTH_LIMIT;
|
||||||
trace_enabled = 1;
|
trace_enabled = 1;
|
||||||
trace_inited = 1;
|
trace_inited = 1;
|
||||||
|
|
||||||
@@ -410,7 +410,7 @@ int __attribute__((no_instrument_function)) trace_early_init(void)
|
|||||||
hdr->ftrace = (struct trace_call *)((char *)hdr + needed);
|
hdr->ftrace = (struct trace_call *)((char *)hdr + needed);
|
||||||
hdr->ftrace_size = (buff_size - needed) / sizeof(*hdr->ftrace);
|
hdr->ftrace_size = (buff_size - needed) / sizeof(*hdr->ftrace);
|
||||||
add_textbase();
|
add_textbase();
|
||||||
hdr->depth_limit = 200;
|
hdr->depth_limit = CONFIG_TRACE_EARLY_CALL_DEPTH_LIMIT;
|
||||||
printf("trace: early enable at %08x\n", CONFIG_TRACE_EARLY_ADDR);
|
printf("trace: early enable at %08x\n", CONFIG_TRACE_EARLY_ADDR);
|
||||||
|
|
||||||
trace_enabled = 1;
|
trace_enabled = 1;
|
||||||
|
Reference in New Issue
Block a user