Re: [PATCH v2 1/2] trace: select TIMER_EARLY to avoid infinite recursion

From: Pragnesh Patel [mailto:pragnesh.patel@sifive.com] Sent: Tuesday, December 22, 2020 2:23 PM To: u-boot@lists.denx.de Cc: atish.patra@wdc.com; palmerdabbelt@google.com; bmeng.cn@gmail.com; paul.walmsley@sifive.com; anup.patel@wdc.com; sagar.kadam@sifive.com; Rick Jian-Zhi Chen(陳建志); pragnesh.patel@openfive.com; Pragnesh Patel; Simon Glass; Stefan Roese; Joao Marcos Costa; Reuben Dowle; Weijie Gao; Marcin Juszkiewicz; Michael Walle; Marek Szyprowski; Keerthy Subject: [PATCH v2 1/2] 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
Changes in v2:
- new patch
lib/Kconfig | 1 + 1 file changed, 1 insertion(+)
Reviewed-by: Rick Chen rick@andestech.com
participants (1)
-
Rick Chen