xref: /netbsd-src/external/gpl3/gdb/dist/include/xtensa-config.h (revision e663ba6e3a60083e70de702e9d54bf486a57b6a7)
198b9484cSchristos /* Xtensa configuration settings.
2*e663ba6eSchristos    Copyright (C) 2001-2024 Free Software Foundation, Inc.
398b9484cSchristos    Contributed by Bob Wilson (bob.wilson@acm.org) at Tensilica.
498b9484cSchristos 
598b9484cSchristos    This program is free software; you can redistribute it and/or modify
698b9484cSchristos    it under the terms of the GNU General Public License as published by
798b9484cSchristos    the Free Software Foundation; either version 2, or (at your option)
898b9484cSchristos    any later version.
998b9484cSchristos 
1098b9484cSchristos    This program is distributed in the hope that it will be useful, but
1198b9484cSchristos    WITHOUT ANY WARRANTY; without even the implied warranty of
1298b9484cSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1398b9484cSchristos    General Public License for more details.
1498b9484cSchristos 
1598b9484cSchristos    You should have received a copy of the GNU General Public License
1698b9484cSchristos    along with this program; if not, write to the Free Software
1798b9484cSchristos    Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
1898b9484cSchristos 
1998b9484cSchristos #ifndef XTENSA_CONFIG_H
2098b9484cSchristos #define XTENSA_CONFIG_H
2198b9484cSchristos 
2298b9484cSchristos /* The macros defined here match those with the same names in the Xtensa
2398b9484cSchristos    compile-time HAL (Hardware Abstraction Layer).  Please refer to the
2498b9484cSchristos    Xtensa System Software Reference Manual for documentation of these
2598b9484cSchristos    macros.  */
2698b9484cSchristos 
2798b9484cSchristos #undef XCHAL_HAVE_BE
2898b9484cSchristos #define XCHAL_HAVE_BE			1
2998b9484cSchristos 
3098b9484cSchristos #undef XCHAL_HAVE_DENSITY
3198b9484cSchristos #define XCHAL_HAVE_DENSITY		1
3298b9484cSchristos 
3398b9484cSchristos #undef XCHAL_HAVE_CONST16
3498b9484cSchristos #define XCHAL_HAVE_CONST16		0
3598b9484cSchristos 
3698b9484cSchristos #undef XCHAL_HAVE_ABS
3798b9484cSchristos #define XCHAL_HAVE_ABS			1
3898b9484cSchristos 
3998b9484cSchristos #undef XCHAL_HAVE_ADDX
4098b9484cSchristos #define XCHAL_HAVE_ADDX			1
4198b9484cSchristos 
4298b9484cSchristos #undef XCHAL_HAVE_L32R
4398b9484cSchristos #define XCHAL_HAVE_L32R			1
4498b9484cSchristos 
4598b9484cSchristos #undef XSHAL_USE_ABSOLUTE_LITERALS
4698b9484cSchristos #define XSHAL_USE_ABSOLUTE_LITERALS	0
4798b9484cSchristos 
4898b9484cSchristos #undef XSHAL_HAVE_TEXT_SECTION_LITERALS
4998b9484cSchristos #define XSHAL_HAVE_TEXT_SECTION_LITERALS 1 /* Set if there is some memory that allows both code and literals.  */
5098b9484cSchristos 
5198b9484cSchristos #undef XCHAL_HAVE_MAC16
5298b9484cSchristos #define XCHAL_HAVE_MAC16		0
5398b9484cSchristos 
5498b9484cSchristos #undef XCHAL_HAVE_MUL16
5598b9484cSchristos #define XCHAL_HAVE_MUL16		1
5698b9484cSchristos 
5798b9484cSchristos #undef XCHAL_HAVE_MUL32
5898b9484cSchristos #define XCHAL_HAVE_MUL32		1
5998b9484cSchristos 
6098b9484cSchristos #undef XCHAL_HAVE_MUL32_HIGH
6198b9484cSchristos #define XCHAL_HAVE_MUL32_HIGH		0
6298b9484cSchristos 
6398b9484cSchristos #undef XCHAL_HAVE_DIV32
6498b9484cSchristos #define XCHAL_HAVE_DIV32		1
6598b9484cSchristos 
6698b9484cSchristos #undef XCHAL_HAVE_NSA
6798b9484cSchristos #define XCHAL_HAVE_NSA			1
6898b9484cSchristos 
6998b9484cSchristos #undef XCHAL_HAVE_MINMAX
7098b9484cSchristos #define XCHAL_HAVE_MINMAX		1
7198b9484cSchristos 
7298b9484cSchristos #undef XCHAL_HAVE_SEXT
7398b9484cSchristos #define XCHAL_HAVE_SEXT			1
7498b9484cSchristos 
7598b9484cSchristos #undef XCHAL_HAVE_LOOPS
7698b9484cSchristos #define XCHAL_HAVE_LOOPS		1
7798b9484cSchristos 
7898b9484cSchristos #undef XCHAL_HAVE_THREADPTR
7998b9484cSchristos #define XCHAL_HAVE_THREADPTR		1
8098b9484cSchristos 
8198b9484cSchristos #undef XCHAL_HAVE_RELEASE_SYNC
8298b9484cSchristos #define XCHAL_HAVE_RELEASE_SYNC		1
8398b9484cSchristos 
8498b9484cSchristos #undef XCHAL_HAVE_S32C1I
8598b9484cSchristos #define XCHAL_HAVE_S32C1I		1
8698b9484cSchristos 
8798b9484cSchristos #undef XCHAL_HAVE_BOOLEANS
8898b9484cSchristos #define XCHAL_HAVE_BOOLEANS		0
8998b9484cSchristos 
9098b9484cSchristos #undef XCHAL_HAVE_FP
9198b9484cSchristos #define XCHAL_HAVE_FP			0
9298b9484cSchristos 
9398b9484cSchristos #undef XCHAL_HAVE_FP_DIV
9498b9484cSchristos #define XCHAL_HAVE_FP_DIV		0
9598b9484cSchristos 
9698b9484cSchristos #undef XCHAL_HAVE_FP_RECIP
9798b9484cSchristos #define XCHAL_HAVE_FP_RECIP		0
9898b9484cSchristos 
9998b9484cSchristos #undef XCHAL_HAVE_FP_SQRT
10098b9484cSchristos #define XCHAL_HAVE_FP_SQRT		0
10198b9484cSchristos 
10298b9484cSchristos #undef XCHAL_HAVE_FP_RSQRT
10398b9484cSchristos #define XCHAL_HAVE_FP_RSQRT		0
10498b9484cSchristos 
10598b9484cSchristos #undef XCHAL_HAVE_DFP_accel
10698b9484cSchristos #define XCHAL_HAVE_DFP_accel			0
10798b9484cSchristos #undef XCHAL_HAVE_WINDOWED
10898b9484cSchristos #define XCHAL_HAVE_WINDOWED		1
10998b9484cSchristos 
11098b9484cSchristos #undef XCHAL_NUM_AREGS
11198b9484cSchristos #define XCHAL_NUM_AREGS			32
11298b9484cSchristos 
11398b9484cSchristos #undef XCHAL_HAVE_WIDE_BRANCHES
11498b9484cSchristos #define XCHAL_HAVE_WIDE_BRANCHES	0
11598b9484cSchristos 
11698b9484cSchristos #undef XCHAL_HAVE_PREDICTED_BRANCHES
11798b9484cSchristos #define XCHAL_HAVE_PREDICTED_BRANCHES	0
11898b9484cSchristos 
11998b9484cSchristos 
12098b9484cSchristos #undef XCHAL_ICACHE_SIZE
12198b9484cSchristos #define XCHAL_ICACHE_SIZE		16384
12298b9484cSchristos 
12398b9484cSchristos #undef XCHAL_DCACHE_SIZE
12498b9484cSchristos #define XCHAL_DCACHE_SIZE		16384
12598b9484cSchristos 
12698b9484cSchristos #undef XCHAL_ICACHE_LINESIZE
12798b9484cSchristos #define XCHAL_ICACHE_LINESIZE		32
12898b9484cSchristos 
12998b9484cSchristos #undef XCHAL_DCACHE_LINESIZE
13098b9484cSchristos #define XCHAL_DCACHE_LINESIZE		32
13198b9484cSchristos 
13298b9484cSchristos #undef XCHAL_ICACHE_LINEWIDTH
13398b9484cSchristos #define XCHAL_ICACHE_LINEWIDTH		5
13498b9484cSchristos 
13598b9484cSchristos #undef XCHAL_DCACHE_LINEWIDTH
13698b9484cSchristos #define XCHAL_DCACHE_LINEWIDTH		5
13798b9484cSchristos 
13898b9484cSchristos #undef XCHAL_DCACHE_IS_WRITEBACK
13998b9484cSchristos #define XCHAL_DCACHE_IS_WRITEBACK	1
14098b9484cSchristos 
14198b9484cSchristos 
14298b9484cSchristos #undef XCHAL_HAVE_MMU
14398b9484cSchristos #define XCHAL_HAVE_MMU			1
14498b9484cSchristos 
14598b9484cSchristos #undef XCHAL_MMU_MIN_PTE_PAGE_SIZE
14698b9484cSchristos #define XCHAL_MMU_MIN_PTE_PAGE_SIZE	12
14798b9484cSchristos 
14898b9484cSchristos 
14998b9484cSchristos #undef XCHAL_HAVE_DEBUG
15098b9484cSchristos #define XCHAL_HAVE_DEBUG		1
15198b9484cSchristos 
15298b9484cSchristos #undef XCHAL_NUM_IBREAK
15398b9484cSchristos #define XCHAL_NUM_IBREAK		2
15498b9484cSchristos 
15598b9484cSchristos #undef XCHAL_NUM_DBREAK
15698b9484cSchristos #define XCHAL_NUM_DBREAK		2
15798b9484cSchristos 
15898b9484cSchristos #undef XCHAL_DEBUGLEVEL
15998b9484cSchristos #define XCHAL_DEBUGLEVEL		6
16098b9484cSchristos 
16198b9484cSchristos 
16298b9484cSchristos #undef XCHAL_MAX_INSTRUCTION_SIZE
16398b9484cSchristos #define XCHAL_MAX_INSTRUCTION_SIZE	3
16498b9484cSchristos 
16598b9484cSchristos #undef XCHAL_INST_FETCH_WIDTH
16698b9484cSchristos #define XCHAL_INST_FETCH_WIDTH		4
16798b9484cSchristos 
16898b9484cSchristos 
16998b9484cSchristos #undef XSHAL_ABI
17098b9484cSchristos #undef XTHAL_ABI_WINDOWED
17198b9484cSchristos #undef XTHAL_ABI_CALL0
17298b9484cSchristos #define XSHAL_ABI			XTHAL_ABI_WINDOWED
17398b9484cSchristos #define XTHAL_ABI_WINDOWED		0
17498b9484cSchristos #define XTHAL_ABI_CALL0			1
17598b9484cSchristos 
17698b9484cSchristos #endif /* !XTENSA_CONFIG_H */
177