Merge tag 'gvt-next-fixes-2020-12-25' of https://github.com/intel/gvt-linux into...
[linux-2.6-microblaze.git] / arch / nios2 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config NIOS2
3         def_bool y
4         select ARCH_32BIT_OFF_T
5         select ARCH_HAS_DMA_PREP_COHERENT
6         select ARCH_HAS_SYNC_DMA_FOR_CPU
7         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
8         select ARCH_HAS_DMA_SET_UNCACHED
9         select ARCH_NO_SWAP
10         select COMMON_CLK
11         select TIMER_OF
12         select GENERIC_ATOMIC64
13         select GENERIC_CLOCKEVENTS
14         select GENERIC_CPU_DEVICES
15         select GENERIC_IRQ_PROBE
16         select GENERIC_IRQ_SHOW
17         select GENERIC_STRNCPY_FROM_USER
18         select GENERIC_STRNLEN_USER
19         select HAVE_ARCH_TRACEHOOK
20         select HAVE_ARCH_KGDB
21         select IRQ_DOMAIN
22         select MODULES_USE_ELF_RELA
23         select OF
24         select OF_EARLY_FLATTREE
25         select SOC_BUS
26         select SPARSE_IRQ
27         select USB_ARCH_HAS_HCD if USB_SUPPORT
28         select CPU_NO_EFFICIENT_FFS
29         select MMU_GATHER_NO_RANGE if MMU
30         select SET_FS
31
32 config GENERIC_CSUM
33         def_bool y
34
35 config GENERIC_HWEIGHT
36         def_bool y
37
38 config GENERIC_CALIBRATE_DELAY
39         def_bool y
40
41 config NO_IOPORT_MAP
42         def_bool y
43
44 config FPU
45         def_bool n
46
47 config TRACE_IRQFLAGS_SUPPORT
48         def_bool n
49
50 menu "Kernel features"
51
52 source "kernel/Kconfig.hz"
53
54 config FORCE_MAX_ZONEORDER
55         int "Maximum zone order"
56         range 9 20
57         default "11"
58         help
59           The kernel memory allocator divides physically contiguous memory
60           blocks into "zones", where each zone is a power of two number of
61           pages.  This option selects the largest power of two that the kernel
62           keeps in the memory allocator.  If you need to allocate very large
63           blocks of physically contiguous memory, then you may need to
64           increase this value.
65
66           This config option is actually maximum order plus one. For example,
67           a value of 11 means that the largest free memory block is 2^10 pages.
68
69 endmenu
70
71 source "arch/nios2/platform/Kconfig.platform"
72
73 menu "Processor type and features"
74
75 config MMU
76         def_bool y
77
78 config NR_CPUS
79         int
80         default "1"
81
82 config NIOS2_ALIGNMENT_TRAP
83         bool "Catch alignment trap"
84         default y
85         help
86           Nios II CPUs cannot fetch/store data which is not bus aligned,
87           i.e., a 2 or 4 byte fetch must start at an address divisible by
88           2 or 4. Any non-aligned load/store instructions will be trapped and
89           emulated in software if you say Y here, which has a performance
90           impact.
91
92 comment "Boot options"
93
94 config CMDLINE_BOOL
95         bool "Default bootloader kernel arguments"
96         default y
97
98 config CMDLINE
99         string "Default kernel command string"
100         default ""
101         depends on CMDLINE_BOOL
102         help
103           On some platforms, there is currently no way for the boot loader to
104           pass arguments to the kernel. For these platforms, you can supply
105           some command-line options at build time by entering them here.  In
106           other cases you can specify kernel args so that you don't have
107           to set them up in board prom initialization routines.
108
109 config CMDLINE_FORCE
110         bool "Force default kernel command string"
111         depends on CMDLINE_BOOL
112         help
113           Set this to have arguments from the default kernel command string
114           override those passed by the boot loader.
115
116 config NIOS2_CMDLINE_IGNORE_DTB
117         bool "Ignore kernel command string from DTB"
118         depends on CMDLINE_BOOL
119         depends on !CMDLINE_FORCE
120         default y
121         help
122           Set this to ignore the bootargs property from the devicetree's
123           chosen node and fall back to CMDLINE if nothing is passed.
124
125 config NIOS2_PASS_CMDLINE
126         bool "Passed kernel command line from u-boot"
127         help
128           Use bootargs env variable from u-boot for kernel command line.
129           will override "Default kernel command string".
130           Say N if you are unsure.
131
132 config NIOS2_BOOT_LINK_OFFSET
133         hex "Link address offset for booting"
134         default "0x00500000"
135         help
136           This option allows you to set the link address offset of the zImage.
137           This can be useful if you are on a board which has a small amount of
138           memory.
139
140 endmenu
141
142 menu "Advanced setup"
143
144 config ADVANCED_OPTIONS
145         bool "Prompt for advanced kernel configuration options"
146
147 comment "Default settings for advanced configuration options are used"
148         depends on !ADVANCED_OPTIONS
149
150 config NIOS2_KERNEL_MMU_REGION_BASE_BOOL
151         bool "Set custom kernel MMU region base address"
152         depends on ADVANCED_OPTIONS
153         help
154           This option allows you to set the virtual address of the kernel MMU region.
155
156           Say N here unless you know what you are doing.
157
158 config NIOS2_KERNEL_MMU_REGION_BASE
159         hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL
160         default "0x80000000"
161         help
162           This option allows you to set the virtual base address of the kernel MMU region.
163
164 config NIOS2_KERNEL_REGION_BASE_BOOL
165         bool "Set custom kernel region base address"
166         depends on ADVANCED_OPTIONS
167         help
168           This option allows you to set the virtual address of the kernel region.
169
170           Say N here unless you know what you are doing.
171
172 config NIOS2_KERNEL_REGION_BASE
173         hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL
174         default "0xc0000000"
175
176 config NIOS2_IO_REGION_BASE_BOOL
177         bool "Set custom I/O region base address"
178         depends on ADVANCED_OPTIONS
179         help
180           This option allows you to set the virtual address of the I/O region.
181
182           Say N here unless you know what you are doing.
183
184 config NIOS2_IO_REGION_BASE
185         hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL
186         default "0xe0000000"
187
188 endmenu