subsys: debug: tracing: Fix interrupt hooks
Change fixes interrupt hooks. Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
This commit is contained in:
parent
e9432c6e94
commit
c99fd5c807
4 changed files with 15 additions and 4 deletions
|
@ -119,6 +119,10 @@ _idle_state_cleared:
|
||||||
#endif
|
#endif
|
||||||
blx r3 /* call ISR */
|
blx r3 /* call ISR */
|
||||||
|
|
||||||
|
#ifdef CONFIG_TRACING
|
||||||
|
bl z_sys_trace_isr_exit
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_ARMV6_M_ARMV8_M_BASELINE)
|
#if defined(CONFIG_ARMV6_M_ARMV8_M_BASELINE)
|
||||||
pop {r3}
|
pop {r3}
|
||||||
mov lr, r3
|
mov lr, r3
|
||||||
|
|
|
@ -117,16 +117,16 @@ extern void _arch_isr_direct_header(void);
|
||||||
extern void _IntExit(void);
|
extern void _IntExit(void);
|
||||||
|
|
||||||
#ifdef CONFIG_TRACING
|
#ifdef CONFIG_TRACING
|
||||||
extern void z_sys_trace_isr_exit_to_scheduler(void);
|
extern void z_sys_trace_isr_exit(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline void _arch_isr_direct_footer(int maybe_swap)
|
static inline void _arch_isr_direct_footer(int maybe_swap)
|
||||||
{
|
{
|
||||||
if (maybe_swap) {
|
|
||||||
|
|
||||||
#ifdef CONFIG_TRACING
|
#ifdef CONFIG_TRACING
|
||||||
z_sys_trace_isr_exit_to_scheduler();
|
z_sys_trace_isr_exit();
|
||||||
#endif
|
#endif
|
||||||
|
if (maybe_swap) {
|
||||||
_IntExit();
|
_IntExit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#if CONFIG_TRACING
|
#if CONFIG_TRACING
|
||||||
void z_sys_trace_idle(void);
|
void z_sys_trace_idle(void);
|
||||||
void z_sys_trace_isr_enter(void);
|
void z_sys_trace_isr_enter(void);
|
||||||
|
void z_sys_trace_isr_exit(void);
|
||||||
void z_sys_trace_isr_exit_to_scheduler(void);
|
void z_sys_trace_isr_exit_to_scheduler(void);
|
||||||
void z_sys_trace_thread_switched_in(void);
|
void z_sys_trace_thread_switched_in(void);
|
||||||
void z_sys_trace_thread_switched_out(void);
|
void z_sys_trace_thread_switched_out(void);
|
||||||
|
@ -114,11 +115,12 @@ void z_sys_trace_thread_switched_out(void);
|
||||||
#define sys_trace_end_call(id)
|
#define sys_trace_end_call(id)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define z_sys_trace_idle()
|
#define z_sys_trace_idle()
|
||||||
|
|
||||||
#define z_sys_trace_isr_enter()
|
#define z_sys_trace_isr_enter()
|
||||||
|
|
||||||
|
#define z_sys_trace_isr_exit()
|
||||||
|
|
||||||
#define z_sys_trace_isr_exit_to_scheduler()
|
#define z_sys_trace_isr_exit_to_scheduler()
|
||||||
|
|
||||||
#define z_sys_trace_thread_switched_in()
|
#define z_sys_trace_thread_switched_in()
|
||||||
|
|
|
@ -29,6 +29,11 @@ void z_sys_trace_isr_enter(void)
|
||||||
sys_trace_isr_enter();
|
sys_trace_isr_enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void z_sys_trace_isr_exit(void)
|
||||||
|
{
|
||||||
|
sys_trace_isr_exit();
|
||||||
|
}
|
||||||
|
|
||||||
void z_sys_trace_isr_exit_to_scheduler(void)
|
void z_sys_trace_isr_exit_to_scheduler(void)
|
||||||
{
|
{
|
||||||
sys_trace_isr_exit_to_scheduler();
|
sys_trace_isr_exit_to_scheduler();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue