diff options
author | Pragnesh Patel <pragnesh.patel@sifive.com> | 2021-01-17 18:11:24 +0530 |
---|---|---|
committer | Andes <uboot@andestech.com> | 2021-01-18 11:06:32 +0800 |
commit | a80f85138c9457141c799c022b5c924252031512 (patch) | |
tree | 449fbc79c6369b75d69b878ce63dbe3a581e0fd6 /lib/Kconfig | |
parent | 8f78e527942b81a4e1e0d20c2ee0a76daeb4e1e0 (diff) | |
download | u-boot-a80f85138c9457141c799c022b5c924252031512.tar.gz u-boot-a80f85138c9457141c799c022b5c924252031512.tar.bz2 u-boot-a80f85138c9457141c799c022b5c924252031512.zip |
trace: select TIMER_EARLY to avoid infinite recursion
When tracing functions is enabled this adds calls to
__cyg_profile_func_enter() and __cyg_profile_func_exit() to the traced
functions.
__cyg_profile_func_enter() and __cyg_profile_func_exit() invoke
timer_get_us() to record the entry and exit time.
initr_dm() will make gd->dm_root = NULL and gd->timer = NULL, so
timer_get_us() -> get_ticks() -> dm_timer_init() will lead to an
indefinite recursion.
So select TIMER_EARLY when tracing got enabled.
Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Rick Chen <rick@andestech.com>
Diffstat (limited to 'lib/Kconfig')
-rw-r--r-- | lib/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Kconfig b/lib/Kconfig index a704568443..9b9177f2aa 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -210,6 +210,7 @@ config BITREVERSE config TRACE bool "Support for tracing of function calls and timing" imply CMD_TRACE + select TIMER_EARLY help Enables function tracing within U-Boot. This allows recording of call traces including timing information. The command can write data to |