/* Copyright (c) 2022, 2023 Intel Corporation * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_SOC_XTENSA_DC233C_BACKTRACE_HELPERS_H_ #define ZEPHYR_SOC_XTENSA_DC233C_BACKTRACE_HELPERS_H_ #include #include static inline bool xtensa_dc233c_ptr_executable(const void *p) { bool in_text = ((p >= (void *)__text_region_start) && (p <= (void *)__text_region_end)); bool in_vecbase = ((p >= (void *)XCHAL_VECBASE_RESET_VADDR) && (p < (void *)CONFIG_SRAM_OFFSET)); return (in_text || in_vecbase); } static inline bool xtensa_dc233c_stack_ptr_is_sane(uint32_t sp) { return ((char *)sp >= __text_region_start); } #endif /* ZEPHYR_SOC_XTENSA_DC233C_BACKTRACE_HELPERS_H_ */