Convert CONFIG_TRACE_BUFFER_SIZE et al to Kconfig

This converts the following to Kconfig:
   CONFIG_TRACE_BUFFER_SIZE
   CONFIG_TRACE_EARLY_SIZE
   CONFIG_TRACE_EARLY
   CONFIG_TRACE_EARLY_ADDR

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2019-04-08 13:20:52 -06:00
parent a24a78d7e3
commit 1c6eb075a3
3 changed files with 50 additions and 5 deletions

View file

@ -174,6 +174,54 @@ config TRACE
memory for exporting for analysis (e.g. using bootchart).
See doc/README.trace for full details.
config TRACE_BUFFER_SIZE
hex "Size of trace buffer in U-Boot"
depends on TRACE
default 0x01000000
help
Sets the size of the trace buffer in U-Boot. This is allocated from
memory during relocation. If this buffer is too small, the trace
history will be truncated, with later records omitted.
If early trace is enabled (i.e. before relocation), this buffer must
be large enough to include all the data from the early trace buffer as
well, since this is copied over to the main buffer during relocation.
A trace record is emitted for each function call and each record is
12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
the size is too small then 'trace stats' will show a message saying
how many records were dropped due to buffer overflow.
config TRACE_EARLY
bool "Enable tracing before relocation"
depends on TRACE
help
Sometimes it is helpful to trace execution of U-Boot before
relocation. This is possible by using a arch-specific, fixed buffer
position in memory. Enable this option to start tracing as early as
possible after U-Boot starts.
config TRACE_EARLY_SIZE
hex "Size of early trace buffer in U-Boot"
depends on TRACE_EARLY
default 0x00100000
help
Sets the size of the early trace buffer in bytes. This is used to hold
tracing information before relocation.
config TRACE_EARLY_ADDR
hex "Address of early trace buffer in U-Boot"
depends on TRACE_EARLY
default 0x00100000
help
Sets the address of the early trace buffer in U-Boot. This memory
must be accessible before relocation.
A trace record is emitted for each function call and each record is
12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
the size is too small then the message which says the amount of early
data being coped will the the same as the
source lib/dhry/Kconfig
menu "Security support"

View file

@ -296,7 +296,8 @@ int __attribute__((no_instrument_function)) trace_init(void *buff,
trace_enabled = 0;
hdr = map_sysmem(CONFIG_TRACE_EARLY_ADDR,
CONFIG_TRACE_EARLY_SIZE);
end = (char *)&hdr->ftrace[hdr->ftrace_count];
end = (char *)&hdr->ftrace[min(hdr->ftrace_count,
hdr->ftrace_size)];
used = end - (char *)hdr;
printf("trace: copying %08lx bytes of early data from %x to %08lx\n",
used, CONFIG_TRACE_EARLY_ADDR,

View file

@ -4401,10 +4401,6 @@ CONFIG_TMU_TIMER
CONFIG_TPL_PAD_TO
CONFIG_TPM_TIS_BASE_ADDRESS
CONFIG_TPS6586X_POWER
CONFIG_TRACE_BUFFER_SIZE
CONFIG_TRACE_EARLY
CONFIG_TRACE_EARLY_ADDR
CONFIG_TRACE_EARLY_SIZE
CONFIG_TRAILBLAZER
CONFIG_TRATS
CONFIG_TSEC