1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright (C) 2019 Cadence Design Systems Inc. */ 3 4#ifndef _ASM_XTENSA_CORE_H 5#define _ASM_XTENSA_CORE_H 6 7#include <variant/core.h> 8 9#ifndef XCHAL_HAVE_DIV32 10#define XCHAL_HAVE_DIV32 0 11#endif 12 13#ifndef XCHAL_HAVE_EXCLUSIVE 14#define XCHAL_HAVE_EXCLUSIVE 0 15#endif 16 17#ifndef XCHAL_HAVE_EXTERN_REGS 18#define XCHAL_HAVE_EXTERN_REGS 0 19#endif 20 21#ifndef XCHAL_HAVE_MPU 22#define XCHAL_HAVE_MPU 0 23#endif 24 25#ifndef XCHAL_HAVE_VECBASE 26#define XCHAL_HAVE_VECBASE 0 27#endif 28 29#ifndef XCHAL_SPANNING_WAY 30#define XCHAL_SPANNING_WAY 0 31#endif 32 33#ifndef XCHAL_HAVE_TRAX 34#define XCHAL_HAVE_TRAX 0 35#endif 36 37#ifndef XCHAL_NUM_PERF_COUNTERS 38#define XCHAL_NUM_PERF_COUNTERS 0 39#endif 40 41#if XCHAL_HAVE_WINDOWED 42#if defined(CONFIG_USER_ABI_DEFAULT) || defined(CONFIG_USER_ABI_CALL0_PROBE) 43/* Whether windowed ABI is supported in userspace. */ 44#define USER_SUPPORT_WINDOWED 45#endif 46#if defined(__XTENSA_WINDOWED_ABI__) || defined(USER_SUPPORT_WINDOWED) 47/* Whether windowed ABI is supported either in userspace or in the kernel. */ 48#define SUPPORT_WINDOWED 49#endif 50#endif 51 52/* Xtensa ABI requires stack alignment to be at least 16 */ 53#if XCHAL_DATA_WIDTH > 16 54#define XTENSA_STACK_ALIGNMENT XCHAL_DATA_WIDTH 55#else 56#define XTENSA_STACK_ALIGNMENT 16 57#endif 58 59#ifndef XCHAL_HW_MIN_VERSION 60#if defined(XCHAL_HW_MIN_VERSION_MAJOR) && defined(XCHAL_HW_MIN_VERSION_MINOR) 61#define XCHAL_HW_MIN_VERSION (XCHAL_HW_MIN_VERSION_MAJOR * 100 + \ 62 XCHAL_HW_MIN_VERSION_MINOR) 63#else 64#define XCHAL_HW_MIN_VERSION 0 65#endif 66#endif 67 68#endif 69