Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 1 | # Copyright (c) 2016 Intel Corporation |
David B. Kinder | ac74d8b | 2017-01-18 17:01:01 -0800 | [diff] [blame] | 2 | # SPDX-License-Identifier: Apache-2.0 |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 3 | |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 4 | menu "Nios II Options" |
| 5 | depends on NIOS2 |
| 6 | |
| 7 | config ARCH |
| 8 | string |
| 9 | default "nios2" |
| 10 | |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 11 | menu "Nios II Gen 2 Processor Options" |
| 12 | |
| 13 | config CPU_NIOS2_GEN2 |
| 14 | bool |
| 15 | default y |
Anas Nashif | 1f1143a | 2017-11-22 13:03:53 -0500 | [diff] [blame] | 16 | select BUILD_OUTPUT_HEX |
Chris Coleman | 99a268f | 2020-08-28 09:02:20 -0400 | [diff] [blame] | 17 | select ARCH_HAS_EXTRA_EXCEPTION_INFO |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 18 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 19 | This option signifies the use of a Nios II Gen 2 CPU |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 20 | |
| 21 | endmenu |
| 22 | |
| 23 | menu "Nios II Family Options" |
| 24 | |
Andrew Boie | c99c686 | 2017-02-09 14:37:32 -0800 | [diff] [blame] | 25 | config GEN_ISR_TABLES |
| 26 | default y |
| 27 | |
| 28 | config GEN_IRQ_VECTOR_TABLE |
| 29 | default n |
| 30 | |
| 31 | config NUM_IRQS |
| 32 | int |
| 33 | default 32 |
| 34 | |
Andrew Boie | a7b5498 | 2016-06-24 11:27:39 -0700 | [diff] [blame] | 35 | config HAS_MUL_INSTRUCTION |
| 36 | bool |
Andrew Boie | a7b5498 | 2016-06-24 11:27:39 -0700 | [diff] [blame] | 37 | |
| 38 | config HAS_DIV_INSTRUCTION |
| 39 | bool |
Andrew Boie | a7b5498 | 2016-06-24 11:27:39 -0700 | [diff] [blame] | 40 | |
| 41 | config HAS_MULX_INSTRUCTION |
| 42 | bool |
Andrew Boie | a7b5498 | 2016-06-24 11:27:39 -0700 | [diff] [blame] | 43 | |
Andrew Boie | 31196d7 | 2016-06-28 13:33:14 -0700 | [diff] [blame] | 44 | config INCLUDE_RESET_VECTOR |
| 45 | bool "Include Reset vector" |
| 46 | default y |
| 47 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 48 | 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 Boie | 31196d7 | 2016-06-28 13:33:14 -0700 | [diff] [blame] | 53 | |
Andrew Boie | 2eb86db | 2016-07-06 14:35:26 -0700 | [diff] [blame] | 54 | config EXTRA_EXCEPTION_INFO |
| 55 | bool "Extra exception debug information" |
Andrew Boie | 2eb86db | 2016-07-06 14:35:26 -0700 | [diff] [blame] | 56 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 57 | 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 Boie | 2eb86db | 2016-07-06 14:35:26 -0700 | [diff] [blame] | 61 | |
Andrew Boie | ef29812 | 2016-06-30 16:45:08 -0700 | [diff] [blame] | 62 | choice |
Ulf Magnusson | 975de21 | 2019-11-01 10:24:07 +0100 | [diff] [blame] | 63 | prompt "Global Pointer options" |
| 64 | default GP_GLOBAL |
Andrew Boie | ef29812 | 2016-06-30 16:45:08 -0700 | [diff] [blame] | 65 | |
| 66 | config GP_NONE |
| 67 | bool "No global pointer" |
| 68 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 69 | Do not use global pointer relative offsets at all |
Andrew Boie | ef29812 | 2016-06-30 16:45:08 -0700 | [diff] [blame] | 70 | |
| 71 | config GP_LOCAL |
| 72 | bool "Local data global pointer references" |
| 73 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 74 | Use global pointer relative offsets for small globals declared in the |
| 75 | same C file as the code that uses it. |
Andrew Boie | ef29812 | 2016-06-30 16:45:08 -0700 | [diff] [blame] | 76 | |
| 77 | config GP_GLOBAL |
| 78 | bool "Global data global pointer references" |
| 79 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 80 | Use global pointer relative offsets for small globals declared |
| 81 | anywhere in the executable. Note that if any small globals that are put |
Daniel Leung | c8066c5 | 2019-03-09 00:35:40 -0800 | [diff] [blame] | 82 | in alternate sections they must be declared |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 83 | in headers with proper __attribute__((section)) or the linker will |
| 84 | error out. |
Andrew Boie | ef29812 | 2016-06-30 16:45:08 -0700 | [diff] [blame] | 85 | |
| 86 | config GP_ALL_DATA |
| 87 | bool "All data global pointer references" |
| 88 | help |
Anas Nashif | 429c2a4 | 2017-12-13 10:08:21 -0500 | [diff] [blame] | 89 | 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 Boie | ef29812 | 2016-06-30 16:45:08 -0700 | [diff] [blame] | 91 | |
| 92 | endchoice |
| 93 | |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 94 | endmenu |
| 95 | |
Andrew Boie | 9433895 | 2016-04-21 14:47:09 -0700 | [diff] [blame] | 96 | endmenu |