xref: /optee_os/core/include/kernel/unwind.h (revision d50fee0321fe6853ac6352cf0fd548666457b407)
163029866SMarouene Boubakri /* SPDX-License-Identifier: BSD-2-Clause */
263029866SMarouene Boubakri /*-
363029866SMarouene Boubakri  * Copyright (c) 2015-2019 Linaro Limited
463029866SMarouene Boubakri  * Copyright (c) 2020, Huawei Technologies Co., Ltd
563029866SMarouene Boubakri  */
663029866SMarouene Boubakri 
7*d50fee03SEtienne Carriere #ifndef __KERNEL_UNWIND
8*d50fee03SEtienne Carriere #define __KERNEL_UNWIND
963029866SMarouene Boubakri 
1063029866SMarouene Boubakri #include <types_ext.h>
1163029866SMarouene Boubakri 
1263029866SMarouene Boubakri #if defined(CFG_UNWIND) && (TRACE_LEVEL > 0)
1363029866SMarouene Boubakri void print_kernel_stack(void);
1463029866SMarouene Boubakri #else
print_kernel_stack(void)1563029866SMarouene Boubakri static inline void print_kernel_stack(void)
1663029866SMarouene Boubakri {
1763029866SMarouene Boubakri }
1863029866SMarouene Boubakri #endif
1963029866SMarouene Boubakri 
2063029866SMarouene Boubakri #ifdef CFG_UNWIND
2163029866SMarouene Boubakri /* Get current call stack as an array allocated on the heap */
2263029866SMarouene Boubakri vaddr_t *unw_get_kernel_stack(void);
2363029866SMarouene Boubakri #else
unw_get_kernel_stack(void)2463029866SMarouene Boubakri static inline void *unw_get_kernel_stack(void)
2563029866SMarouene Boubakri {
2663029866SMarouene Boubakri 	return NULL;
2763029866SMarouene Boubakri }
2863029866SMarouene Boubakri #endif /* CFG_UNWIND  */
2963029866SMarouene Boubakri 
30*d50fee03SEtienne Carriere #endif /*__KERNEL_UNWIND*/
31