Commit | Line | Data |
---|---|---|
66701b14 | 1 | config ZONE_DMA |
35f9cd08 | 2 | def_bool y |
66701b14 | 3 | |
8e1a6dd2 | 4 | config XTENSA |
35f9cd08 | 5 | def_bool y |
8f371c75 | 6 | select ARCH_WANT_FRAME_POINTERS |
ec7748b5 | 7 | select HAVE_IDE |
c66af411 | 8 | select GENERIC_ATOMIC64 |
925f5532 | 9 | select GENERIC_CLOCKEVENTS |
4febd95a | 10 | select VIRT_TO_BUS |
47a5d9dc | 11 | select GENERIC_IRQ_SHOW |
e3f43291 | 12 | select GENERIC_SCHED_CLOCK |
d38efc1f MF |
13 | select MODULES_USE_ELF_RELA |
14 | select GENERIC_PCI_IOMAP | |
e969161b | 15 | select ARCH_WANT_IPC_PARSE_VERSION |
6ed65f37 | 16 | select ARCH_WANT_OPTIONAL_GPIOLIB |
25df8198 | 17 | select BUILDTIME_EXTABLE_SORT |
3e41f9ba | 18 | select CLONE_BACKWARDS |
2206d5dd | 19 | select IRQ_DOMAIN |
e6ffe17e | 20 | select HAVE_OPROFILE |
478ba61a | 21 | select HAVE_FUNCTION_TRACER |
496543c4 | 22 | select HAVE_IRQ_TIME_ACCOUNTING |
a6f3eefa | 23 | select HAVE_PERF_EVENTS |
bda8932d | 24 | select COMMON_CLK |
8e1a6dd2 CZ |
25 | help |
26 | Xtensa processors are 32-bit RISC machines designed by Tensilica | |
27 | primarily for embedded systems. These processors are both | |
28 | configurable and extensible. The Linux port to the Xtensa | |
29 | architecture supports all processor configurations and extensions, | |
30 | with reasonable minimum requirements. The Xtensa Linux project has | |
0ada4490 | 31 | a home page at <http://www.linux-xtensa.org/>. |
8e1a6dd2 | 32 | |
8e1a6dd2 | 33 | config RWSEM_XCHGADD_ALGORITHM |
35f9cd08 | 34 | def_bool y |
8e1a6dd2 | 35 | |
d4337aa5 | 36 | config GENERIC_HWEIGHT |
35f9cd08 | 37 | def_bool y |
d4337aa5 | 38 | |
f0d1b0b3 | 39 | config ARCH_HAS_ILOG2_U32 |
35f9cd08 | 40 | def_bool n |
f0d1b0b3 DH |
41 | |
42 | config ARCH_HAS_ILOG2_U64 | |
35f9cd08 | 43 | def_bool n |
f0d1b0b3 | 44 | |
ce816fa8 | 45 | config NO_IOPORT_MAP |
d046f77e | 46 | def_bool n |
5ea81769 | 47 | |
bdc80787 PA |
48 | config HZ |
49 | int | |
50 | default 100 | |
51 | ||
8e1a6dd2 | 52 | source "init/Kconfig" |
dc52ddc0 | 53 | source "kernel/Kconfig.freezer" |
8e1a6dd2 | 54 | |
8f371c75 MF |
55 | config LOCKDEP_SUPPORT |
56 | def_bool y | |
57 | ||
3e4196a5 MF |
58 | config STACKTRACE_SUPPORT |
59 | def_bool y | |
60 | ||
c92931b2 MF |
61 | config TRACE_IRQFLAGS_SUPPORT |
62 | def_bool y | |
63 | ||
35f9cd08 JW |
64 | config MMU |
65 | def_bool n | |
66 | ||
4c0d2141 JW |
67 | config VARIANT_IRQ_SWITCH |
68 | def_bool n | |
69 | ||
a1a2bdec BS |
70 | config HAVE_XTENSA_GPIO32 |
71 | def_bool n | |
72 | ||
f615136c MF |
73 | config MAY_HAVE_SMP |
74 | def_bool n | |
75 | ||
8e1a6dd2 CZ |
76 | menu "Processor type and features" |
77 | ||
78 | choice | |
79 | prompt "Xtensa Processor Configuration" | |
173d6681 | 80 | default XTENSA_VARIANT_FSF |
8e1a6dd2 | 81 | |
173d6681 | 82 | config XTENSA_VARIANT_FSF |
0025427e | 83 | bool "fsf - default (not generic) configuration" |
35f9cd08 | 84 | select MMU |
0025427e CZ |
85 | |
86 | config XTENSA_VARIANT_DC232B | |
87 | bool "dc232b - Diamond 232L Standard Core Rev.B (LE)" | |
35f9cd08 | 88 | select MMU |
a1a2bdec | 89 | select HAVE_XTENSA_GPIO32 |
0025427e | 90 | help |
35f9cd08 | 91 | This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE). |
000af2c5 | 92 | |
d0b73b48 PD |
93 | config XTENSA_VARIANT_DC233C |
94 | bool "dc233c - Diamond 233L Standard Core Rev.C (LE)" | |
95 | select MMU | |
a1a2bdec | 96 | select HAVE_XTENSA_GPIO32 |
d0b73b48 PD |
97 | help |
98 | This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE). | |
99 | ||
000af2c5 JW |
100 | config XTENSA_VARIANT_S6000 |
101 | bool "s6000 - Stretch software configurable processor" | |
102 | select VARIANT_IRQ_SWITCH | |
103 | select ARCH_REQUIRE_GPIOLIB | |
b070a03f | 104 | select XTENSA_CALIBRATE_CCOUNT |
8e1a6dd2 CZ |
105 | endchoice |
106 | ||
8e1a6dd2 CZ |
107 | config XTENSA_UNALIGNED_USER |
108 | bool "Unaligned memory access in use space" | |
35f9cd08 JW |
109 | help |
110 | The Xtensa architecture currently does not handle unaligned | |
111 | memory accesses in hardware but through an exception handler. | |
112 | Per default, unaligned memory accesses are disabled in user space. | |
8e1a6dd2 | 113 | |
35f9cd08 | 114 | Say Y here to enable unaligned memory access in user space. |
8e1a6dd2 | 115 | |
bd96efe1 | 116 | source "kernel/Kconfig.preempt" |
8e1a6dd2 | 117 | |
f615136c MF |
118 | config HAVE_SMP |
119 | bool "System Supports SMP (MX)" | |
120 | depends on MAY_HAVE_SMP | |
121 | select XTENSA_MX | |
122 | help | |
123 | This option is use to indicate that the system-on-a-chip (SOC) | |
124 | supports Multiprocessing. Multiprocessor support implemented above | |
125 | the CPU core definition and currently needs to be selected manually. | |
126 | ||
127 | Multiprocessor support in implemented with external cache and | |
128 | interrupt controlers. | |
129 | ||
130 | The MX interrupt distributer adds Interprocessor Interrupts | |
131 | and causes the IRQ numbers to be increased by 4 for devices | |
132 | like the open cores ethernet driver and the serial interface. | |
133 | ||
134 | You still have to select "Enable SMP" to enable SMP on this SOC. | |
135 | ||
136 | config SMP | |
137 | bool "Enable Symmetric multi-processing support" | |
138 | depends on HAVE_SMP | |
f615136c MF |
139 | select GENERIC_SMP_IDLE_THREAD |
140 | help | |
141 | Enabled SMP Software; allows more than one CPU/CORE | |
142 | to be activated during startup. | |
143 | ||
144 | config NR_CPUS | |
145 | depends on SMP | |
146 | int "Maximum number of CPUs (2-32)" | |
147 | range 2 32 | |
148 | default "4" | |
149 | ||
49b424fe MF |
150 | config HOTPLUG_CPU |
151 | bool "Enable CPU hotplug support" | |
152 | depends on SMP | |
153 | help | |
154 | Say Y here to allow turning CPUs off and on. CPUs can be | |
155 | controlled through /sys/devices/system/cpu. | |
156 | ||
157 | Say N if you want to disable CPU hotplug. | |
158 | ||
8e1a6dd2 CZ |
159 | config MATH_EMULATION |
160 | bool "Math emulation" | |
161 | help | |
162 | Can we use information of configuration file? | |
163 | ||
e85e335f MF |
164 | config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX |
165 | bool "Initialize Xtensa MMU inside the Linux kernel code" | |
166 | default y | |
167 | help | |
168 | Earlier version initialized the MMU in the exception vector | |
169 | before jumping to _startup in head.S and had an advantage that | |
170 | it was possible to place a software breakpoint at 'reset' and | |
171 | then enter your normal kernel breakpoints once the MMU was mapped | |
172 | to the kernel mappings (0XC0000000). | |
173 | ||
174 | This unfortunately doesn't work for U-Boot and likley also wont | |
175 | work for using KEXEC to have a hot kernel ready for doing a | |
176 | KDUMP. | |
177 | ||
178 | So now the MMU is initialized in head.S but it's necessary to | |
179 | use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup. | |
180 | xt-gdb can't place a Software Breakpoint in the 0XD region prior | |
181 | to mapping the MMU and after mapping even if the area of low memory | |
182 | was mapped gdb wouldn't remove the breakpoint on hitting it as the | |
183 | PC wouldn't match. Since Hardware Breakpoints are recommended for | |
184 | Linux configurations it seems reasonable to just assume they exist | |
185 | and leave this older mechanism for unfortunate souls that choose | |
186 | not to follow Tensilica's recommendation. | |
187 | ||
188 | Selecting this will cause U-Boot to set the KERNEL Load and Entry | |
189 | address at 0x00003000 instead of the mapped std of 0xD0003000. | |
190 | ||
191 | If in doubt, say Y. | |
192 | ||
65559100 MF |
193 | config HIGHMEM |
194 | bool "High Memory Support" | |
195 | help | |
196 | Linux can use the full amount of RAM in the system by | |
197 | default. However, the default MMUv2 setup only maps the | |
198 | lowermost 128 MB of memory linearly to the areas starting | |
199 | at 0xd0000000 (cached) and 0xd8000000 (uncached). | |
200 | When there are more than 128 MB memory in the system not | |
201 | all of it can be "permanently mapped" by the kernel. | |
202 | The physical memory that's not permanently mapped is called | |
203 | "high memory". | |
204 | ||
205 | If you are compiling a kernel which will never run on a | |
206 | machine with more than 128 MB total physical RAM, answer | |
207 | N here. | |
208 | ||
209 | If unsure, say Y. | |
210 | ||
8e1a6dd2 CZ |
211 | endmenu |
212 | ||
35f9cd08 JW |
213 | config XTENSA_CALIBRATE_CCOUNT |
214 | def_bool n | |
215 | help | |
216 | On some platforms (XT2000, for example), the CPU clock rate can | |
217 | vary. The frequency can be determined, however, by measuring | |
218 | against a well known, fixed frequency, such as an UART oscillator. | |
219 | ||
220 | config SERIAL_CONSOLE | |
221 | def_bool n | |
222 | ||
35f9cd08 JW |
223 | menu "Bus options" |
224 | ||
225 | config PCI | |
226 | bool "PCI support" | |
227 | default y | |
228 | help | |
229 | Find out whether you have a PCI motherboard. PCI is the name of a | |
230 | bus system, i.e. the way the CPU talks to the other stuff inside | |
231 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | |
232 | VESA. If you have PCI, say Y, otherwise N. | |
233 | ||
234 | source "drivers/pci/Kconfig" | |
235 | ||
35e71f90 CZ |
236 | endmenu |
237 | ||
8e1a6dd2 CZ |
238 | menu "Platform options" |
239 | ||
240 | choice | |
241 | prompt "Xtensa System Type" | |
242 | default XTENSA_PLATFORM_ISS | |
243 | ||
244 | config XTENSA_PLATFORM_ISS | |
245 | bool "ISS" | |
35f9cd08 JW |
246 | select XTENSA_CALIBRATE_CCOUNT |
247 | select SERIAL_CONSOLE | |
8e1a6dd2 CZ |
248 | help |
249 | ISS is an acronym for Tensilica's Instruction Set Simulator. | |
250 | ||
251 | config XTENSA_PLATFORM_XT2000 | |
252 | bool "XT2000" | |
253 | help | |
254 | XT2000 is the name of Tensilica's feature-rich emulation platform. | |
255 | This hardware is capable of running a full Linux distribution. | |
256 | ||
f82e939f JW |
257 | config XTENSA_PLATFORM_S6105 |
258 | bool "S6105" | |
259 | select SERIAL_CONSOLE | |
ce816fa8 | 260 | select NO_IOPORT_MAP |
f82e939f | 261 | |
0d456bad MF |
262 | config XTENSA_PLATFORM_XTFPGA |
263 | bool "XTFPGA" | |
264 | select SERIAL_CONSOLE | |
265 | select ETHOC | |
266 | select XTENSA_CALIBRATE_CCOUNT | |
267 | help | |
268 | XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605). | |
269 | This hardware is capable of running a full Linux distribution. | |
270 | ||
8e1a6dd2 CZ |
271 | endchoice |
272 | ||
273 | ||
8e1a6dd2 CZ |
274 | config XTENSA_CPU_CLOCK |
275 | int "CPU clock rate [MHz]" | |
276 | depends on !XTENSA_CALIBRATE_CCOUNT | |
35f9cd08 | 277 | default 16 |
8e1a6dd2 CZ |
278 | |
279 | config GENERIC_CALIBRATE_DELAY | |
280 | bool "Auto calibration of the BogoMIPS value" | |
35f9cd08 | 281 | help |
82300bf4 | 282 | The BogoMIPS value can easily be derived from the CPU frequency. |
8e1a6dd2 CZ |
283 | |
284 | config CMDLINE_BOOL | |
285 | bool "Default bootloader kernel arguments" | |
286 | ||
287 | config CMDLINE | |
288 | string "Initial kernel command string" | |
289 | depends on CMDLINE_BOOL | |
290 | default "console=ttyS0,38400 root=/dev/ram" | |
291 | help | |
292 | On some architectures (EBSA110 and CATS), there is currently no way | |
293 | for the boot loader to pass arguments to the kernel. For these | |
294 | architectures, you should supply some command-line options at build | |
295 | time by entering them here. As a minimum, you should specify the | |
296 | memory size and the root device (e.g., mem=64M root=/dev/nfs). | |
297 | ||
da844a81 MF |
298 | config USE_OF |
299 | bool "Flattened Device Tree support" | |
300 | select OF | |
301 | select OF_EARLY_FLATTREE | |
302 | help | |
303 | Include support for flattened device tree machine descriptions. | |
304 | ||
305 | config BUILTIN_DTB | |
306 | string "DTB to build into the kernel image" | |
307 | depends on OF | |
308 | ||
b6c7e873 VP |
309 | config BLK_DEV_SIMDISK |
310 | tristate "Host file-based simulated block device support" | |
311 | default n | |
312 | depends on XTENSA_PLATFORM_ISS | |
313 | help | |
314 | Create block devices that map to files in the host file system. | |
315 | Device binding to host file may be changed at runtime via proc | |
316 | interface provided the device is not in use. | |
317 | ||
318 | config BLK_DEV_SIMDISK_COUNT | |
319 | int "Number of host file-based simulated block devices" | |
320 | range 1 10 | |
321 | depends on BLK_DEV_SIMDISK | |
322 | default 2 | |
323 | help | |
324 | This is the default minimal number of created block devices. | |
325 | Kernel/module parameter 'simdisk_count' may be used to change this | |
326 | value at runtime. More file names (but no more than 10) may be | |
327 | specified as parameters, simdisk_count grows accordingly. | |
328 | ||
329 | config SIMDISK0_FILENAME | |
330 | string "Host filename for the first simulated device" | |
331 | depends on BLK_DEV_SIMDISK = y | |
332 | default "" | |
333 | help | |
334 | Attach a first simdisk to a host file. Conventionally, this file | |
335 | contains a root file system. | |
336 | ||
337 | config SIMDISK1_FILENAME | |
338 | string "Host filename for the second simulated device" | |
339 | depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1 | |
340 | default "" | |
341 | help | |
342 | Another simulated disk in a host file for a buildroot-independent | |
343 | storage. | |
344 | ||
82300bf4 CZ |
345 | source "mm/Kconfig" |
346 | ||
8e1a6dd2 CZ |
347 | source "drivers/pcmcia/Kconfig" |
348 | ||
349 | source "drivers/pci/hotplug/Kconfig" | |
350 | ||
351 | endmenu | |
352 | ||
cab00891 | 353 | menu "Executable file formats" |
8e1a6dd2 | 354 | |
8e1a6dd2 CZ |
355 | source "fs/Kconfig.binfmt" |
356 | ||
357 | endmenu | |
358 | ||
d5950b43 SR |
359 | source "net/Kconfig" |
360 | ||
8e1a6dd2 CZ |
361 | source "drivers/Kconfig" |
362 | ||
363 | source "fs/Kconfig" | |
364 | ||
8e1a6dd2 CZ |
365 | source "arch/xtensa/Kconfig.debug" |
366 | ||
367 | source "security/Kconfig" | |
368 | ||
369 | source "crypto/Kconfig" | |
370 | ||
371 | source "lib/Kconfig" | |
372 | ||
373 |