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