Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/xtensa/include/asm/core.h
26442 views
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
70