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

Simon Glass sjg at chromium.org
Tue Dec 29 04:31:07 CET 2020


On Mon, 21 Dec 2020 at 23:23, Pragnesh Patel <pragnesh.patel at sifive.com> wrote:
>
> 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 at sifive.com>
> ---
>
> Changes in v2:
> - new patch
>
>  lib/Kconfig | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list