| /* 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 <zephyr/linker/linker-defs.h> |
| |
| #include <xtensa/config/core-isa.h> |
| |
| 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_ */ |