blob: 6e147119421a4b5d150bc08b4517f5876737c650 [file] [log] [blame]
Andrew Boie94338952016-04-21 14:47:09 -07001# Copyright (c) 2016 Intel Corporation
David B. Kinderac74d8b2017-01-18 17:01:01 -08002# SPDX-License-Identifier: Apache-2.0
Andrew Boie94338952016-04-21 14:47:09 -07003
Andrew Boie94338952016-04-21 14:47:09 -07004menu "Nios II Options"
5 depends on NIOS2
6
7config ARCH
8 string
9 default "nios2"
10
Andrew Boie94338952016-04-21 14:47:09 -070011menu "Nios II Gen 2 Processor Options"
12
13config CPU_NIOS2_GEN2
14 bool
15 default y
Anas Nashif1f1143a2017-11-22 13:03:53 -050016 select BUILD_OUTPUT_HEX
Chris Coleman99a268f2020-08-28 09:02:20 -040017 select ARCH_HAS_EXTRA_EXCEPTION_INFO
Andrew Boie94338952016-04-21 14:47:09 -070018 help
Anas Nashif429c2a42017-12-13 10:08:21 -050019 This option signifies the use of a Nios II Gen 2 CPU
Andrew Boie94338952016-04-21 14:47:09 -070020
21endmenu
22
23menu "Nios II Family Options"
24
Andrew Boiec99c6862017-02-09 14:37:32 -080025config GEN_ISR_TABLES
26 default y
27
28config GEN_IRQ_VECTOR_TABLE
29 default n
30
31config NUM_IRQS
32 int
33 default 32
34
Andrew Boiea7b54982016-06-24 11:27:39 -070035config HAS_MUL_INSTRUCTION
36 bool
Andrew Boiea7b54982016-06-24 11:27:39 -070037
38config HAS_DIV_INSTRUCTION
39 bool
Andrew Boiea7b54982016-06-24 11:27:39 -070040
41config HAS_MULX_INSTRUCTION
42 bool
Andrew Boiea7b54982016-06-24 11:27:39 -070043
Andrew Boie31196d72016-06-28 13:33:14 -070044config INCLUDE_RESET_VECTOR
45 bool "Include Reset vector"
46 default y
47 help
Anas Nashif429c2a42017-12-13 10:08:21 -050048 Include the reset vector stub, which enables instruction/data caches
49 and then jumps to __start. This code is typically located at the very
50 beginning of flash memory. You may need to omit this if using the
51 nios2-download tool since it refuses to load data anywhere other than
52 RAM.
Andrew Boie31196d72016-06-28 13:33:14 -070053
Andrew Boie2eb86db2016-07-06 14:35:26 -070054config EXTRA_EXCEPTION_INFO
55 bool "Extra exception debug information"
Andrew Boie2eb86db2016-07-06 14:35:26 -070056 help
Anas Nashif429c2a42017-12-13 10:08:21 -050057 Have exceptions print additional useful debugging information in
58 human-readable form, at the expense of code size. For example,
59 the cause code for an exception will be supplemented by a string
60 describing what that cause code means.
Andrew Boie2eb86db2016-07-06 14:35:26 -070061
Andrew Boieef298122016-06-30 16:45:08 -070062choice
Ulf Magnusson975de212019-11-01 10:24:07 +010063 prompt "Global Pointer options"
64 default GP_GLOBAL
Andrew Boieef298122016-06-30 16:45:08 -070065
66config GP_NONE
67 bool "No global pointer"
68 help
Anas Nashif429c2a42017-12-13 10:08:21 -050069 Do not use global pointer relative offsets at all
Andrew Boieef298122016-06-30 16:45:08 -070070
71config GP_LOCAL
72 bool "Local data global pointer references"
73 help
Anas Nashif429c2a42017-12-13 10:08:21 -050074 Use global pointer relative offsets for small globals declared in the
75 same C file as the code that uses it.
Andrew Boieef298122016-06-30 16:45:08 -070076
77config GP_GLOBAL
78 bool "Global data global pointer references"
79 help
Anas Nashif429c2a42017-12-13 10:08:21 -050080 Use global pointer relative offsets for small globals declared
81 anywhere in the executable. Note that if any small globals that are put
Daniel Leungc8066c52019-03-09 00:35:40 -080082 in alternate sections they must be declared
Anas Nashif429c2a42017-12-13 10:08:21 -050083 in headers with proper __attribute__((section)) or the linker will
84 error out.
Andrew Boieef298122016-06-30 16:45:08 -070085
86config GP_ALL_DATA
87 bool "All data global pointer references"
88 help
Anas Nashif429c2a42017-12-13 10:08:21 -050089 Use GP relative access for all data in the program, not just
90 small data. Use this if your board has 64K or less of RAM.
Andrew Boieef298122016-06-30 16:45:08 -070091
92endchoice
93
Andrew Boie94338952016-04-21 14:47:09 -070094endmenu
95
Andrew Boie94338952016-04-21 14:47:09 -070096endmenu