blob: 5c086d5eae5b444ba83738e8d2ff19357684456d [file] [log] [blame]
Vineet Guptacfdbc2e2013-01-18 15:12:20 +05301#
2# Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3#
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License version 2 as
6# published by the Free Software Foundation.
7#
8
9config ARC
10 def_bool y
Vineet Gupta2a440162015-08-08 17:51:58 +053011 select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
Vineet Guptaf06d19e2013-11-15 12:08:05 +053012 select BUILDTIME_EXTABLE_SORT
Vineet Guptad7f8a082014-09-10 11:10:54 +053013 select COMMON_CLK
Vineet Gupta4adeefe2013-01-18 15:12:18 +053014 select CLONE_BACKWARDS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053015 select GENERIC_ATOMIC64
16 select GENERIC_CLOCKEVENTS
17 select GENERIC_FIND_FIRST_BIT
18 # for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
19 select GENERIC_IRQ_SHOW
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053020 select GENERIC_PENDING_IRQ if SMP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053021 select GENERIC_SMP_IDLE_THREAD
Mischa Jonkerf46121b2013-01-18 15:12:24 +053022 select HAVE_ARCH_KGDB
Vineet Gupta547f1122013-01-18 15:12:22 +053023 select HAVE_ARCH_TRACEHOOK
Vineet Gupta5e057422015-08-06 17:55:34 +053024 select HAVE_FUTEX_CMPXCHG
Gilad Ben-Yossef43689022013-01-22 16:48:45 +053025 select HAVE_IOREMAP_PROT
Vineet Gupta4d86dfb2013-01-22 17:03:59 +053026 select HAVE_KPROBES
27 select HAVE_KRETPROBES
Vineet Guptac121c502013-01-18 15:12:20 +053028 select HAVE_MEMBLOCK
Vineet Gupta854a0d92013-01-22 17:03:19 +053029 select HAVE_MOD_ARCH_SPECIFIC if ARC_DW2_UNWIND
Vineet Gupta769bc1f2013-01-22 17:02:38 +053030 select HAVE_OPROFILE
Vineet Gupta9c575642013-01-18 15:12:24 +053031 select HAVE_PERF_EVENTS
Vineet Gupta999159a2013-01-22 17:00:52 +053032 select IRQ_DOMAIN
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053033 select MODULES_USE_ELF_RELA
Vineet Guptac121c502013-01-18 15:12:20 +053034 select NO_BOOTMEM
Vineet Gupta999159a2013-01-22 17:00:52 +053035 select OF
36 select OF_EARLY_FLATTREE
Vineet Gupta9c575642013-01-18 15:12:24 +053037 select PERF_USE_VMALLOC
Dave Hansend1a1dc02013-07-01 13:04:42 -070038 select HAVE_DEBUG_STACKOVERFLOW
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053039
Vineet Gupta0dafafc2013-09-06 14:18:17 +053040config TRACE_IRQFLAGS_SUPPORT
41 def_bool y
42
43config LOCKDEP_SUPPORT
44 def_bool y
45
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053046config SCHED_OMIT_FRAME_POINTER
47 def_bool y
48
49config GENERIC_CSUM
50 def_bool y
51
52config RWSEM_GENERIC_SPINLOCK
53 def_bool y
54
55config ARCH_FLATMEM_ENABLE
56 def_bool y
57
58config MMU
59 def_bool y
60
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070061config NO_IOPORT_MAP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053062 def_bool y
63
64config GENERIC_CALIBRATE_DELAY
65 def_bool y
66
67config GENERIC_HWEIGHT
68 def_bool y
69
Vineet Gupta44c8bb92013-01-18 15:12:23 +053070config STACKTRACE_SUPPORT
71 def_bool y
72 select STACKTRACE
73
Vineet Guptafe6c1b82014-07-08 18:43:47 +053074config HAVE_ARCH_TRANSPARENT_HUGEPAGE
75 def_bool y
76 depends on ARC_MMU_V4
77
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053078source "init/Kconfig"
79source "kernel/Kconfig.freezer"
80
81menu "ARC Architecture Configuration"
82
Vineet Gupta93ad7002013-01-22 16:51:50 +053083menu "ARC Platform/SoC/Board"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053084
Vineet Guptafd155792015-02-20 19:12:18 +053085source "arch/arc/plat-sim/Kconfig"
Christian Ruppert072eb692013-04-12 08:40:59 +020086source "arch/arc/plat-tb10x/Kconfig"
Alexey Brodkin556cc1c2014-01-27 14:51:34 +010087source "arch/arc/plat-axs10x/Kconfig"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053088#New platform adds here
Vineet Gupta93ad7002013-01-22 16:51:50 +053089
Vineet Gupta53d98952013-01-18 15:12:25 +053090endmenu
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053091
Vineet Gupta1f6ccff2013-05-13 18:30:41 +053092choice
93 prompt "ARC Instruction Set"
94 default ISA_ARCOMPACT
95
96config ISA_ARCOMPACT
97 bool "ARCompact ISA"
98 help
99 The original ARC ISA of ARC600/700 cores
100
Vineet Gupta65bfbcd2015-03-09 14:01:08 +0530101config ISA_ARCV2
102 bool "ARC ISA v2"
103 help
104 ISA for the Next Generation ARC-HS cores
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530105
106endchoice
107
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530108menu "ARC CPU Configuration"
109
110choice
111 prompt "ARC Core"
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530112 default ARC_CPU_770 if ISA_ARCOMPACT
113 default ARC_CPU_HS if ISA_ARCV2
114
115if ISA_ARCOMPACT
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530116
117config ARC_CPU_750D
118 bool "ARC750D"
Vineet Gupta14a0abf2015-06-26 12:42:53 +0530119 select ARC_CANT_LLSC
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530120 help
121 Support for ARC750 core
122
123config ARC_CPU_770
124 bool "ARC770"
Vineet Gupta742f8af2013-11-07 14:47:16 +0530125 select ARC_HAS_SWAPE
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530126 help
127 Support for ARC770 core introduced with Rel 4.10 (Summer 2011)
128 This core has a bunch of cool new features:
129 -MMU-v3: Variable Page Sz (4k, 8k, 16k), bigger J-TLB (128x4)
130 Shared Address Spaces (for sharing TLB entires in MMU)
131 -Caches: New Prog Model, Region Flush
132 -Insns: endian swap, load-locked/store-conditional, time-stamp-ctr
133
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530134endif #ISA_ARCOMPACT
135
136config ARC_CPU_HS
137 bool "ARC-HS"
138 depends on ISA_ARCV2
139 help
140 Support for ARC HS38x Cores based on ARCv2 ISA
141 The notable features are:
142 - SMP configurations of upto 4 core with coherency
143 - Optional L2 Cache and IO-Coherency
144 - Revised Interrupt Architecture (multiple priorites, reg banks,
145 auto stack switch, auto regfile save/restore)
146 - MMUv4 (PIPT dcache, Huge Pages)
147 - Instructions for
148 * 64bit load/store: LDD, STD
149 * Hardware assisted divide/remainder: DIV, REM
150 * Function prologue/epilogue: ENTER_S, LEAVE_S
151 * IRQ enable/disable: CLRI, SETI
152 * pop count: FFS, FLS
153 * SETcc, BMSKN, XBFU...
154
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530155endchoice
156
157config CPU_BIG_ENDIAN
158 bool "Enable Big Endian Mode"
159 default n
160 help
161 Build kernel for Big Endian Mode of ARC CPU
162
Vineet Gupta41195d22013-01-18 15:12:23 +0530163config SMP
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530164 bool "Symmetric Multi-Processing"
Vineet Gupta41195d22013-01-18 15:12:23 +0530165 default n
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530166 select ARC_HAS_COH_CACHES if ISA_ARCV2
167 select ARC_MCIP if ISA_ARCV2
Vineet Gupta41195d22013-01-18 15:12:23 +0530168 help
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530169 This enables support for systems with more than one CPU.
Vineet Gupta41195d22013-01-18 15:12:23 +0530170
171if SMP
172
173config ARC_HAS_COH_CACHES
174 def_bool n
175
Vineet Gupta41195d22013-01-18 15:12:23 +0530176config ARC_HAS_REENTRANT_IRQ_LV2
177 def_bool n
178
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530179config ARC_MCIP
180 bool "ARConnect Multicore IP (MCIP) Support "
181 depends on ISA_ARCV2
182 help
183 This IP block enables SMP in ARC-HS38 cores.
184 It provides for cross-core interrupts, multi-core debug
185 hardware semaphores, shared memory,....
Vineet Gupta41195d22013-01-18 15:12:23 +0530186
187config NR_CPUS
Noam Camus3aa4f802013-06-03 15:19:59 +0300188 int "Maximum number of CPUs (2-4096)"
189 range 2 4096
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530190 default "4"
191
Vineet Gupta3971cdc2015-10-09 11:26:12 +0530192config ARC_SMP_HALT_ON_RESET
193 bool "Enable Halt-on-reset boot mode"
194 default y if ARC_UBOOT_SUPPORT
195 help
196 In SMP configuration cores can be configured as Halt-on-reset
197 or they could all start at same time. For Halt-on-reset, non
198 masters are parked until Master kicks them so they can start of
199 at designated entry point. For other case, all jump to common
200 entry point and spin wait for Master's signal.
201
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530202endif #SMP
Vineet Gupta41195d22013-01-18 15:12:23 +0530203
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530204menuconfig ARC_CACHE
205 bool "Enable Cache Support"
206 default y
Vineet Gupta41195d22013-01-18 15:12:23 +0530207 # if SMP, cache enabled ONLY if ARC implementation has cache coherency
208 depends on !SMP || ARC_HAS_COH_CACHES
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530209
210if ARC_CACHE
211
212config ARC_CACHE_LINE_SHIFT
213 int "Cache Line Length (as power of 2)"
214 range 5 7
215 default "6"
216 help
217 Starting with ARC700 4.9, Cache line length is configurable,
218 This option specifies "N", with Line-len = 2 power N
219 So line lengths of 32, 64, 128 are specified by 5,6,7, respectively
220 Linux only supports same line lengths for I and D caches.
221
222config ARC_HAS_ICACHE
223 bool "Use Instruction Cache"
224 default y
225
226config ARC_HAS_DCACHE
227 bool "Use Data Cache"
228 default y
229
230config ARC_CACHE_PAGES
231 bool "Per Page Cache Control"
232 default y
233 depends on ARC_HAS_ICACHE || ARC_HAS_DCACHE
234 help
235 This can be used to over-ride the global I/D Cache Enable on a
236 per-page basis (but only for pages accessed via MMU such as
237 Kernel Virtual address or User Virtual Address)
238 TLB entries have a per-page Cache Enable Bit.
239 Note that Global I/D ENABLE + Per Page DISABLE works but corollary
240 Global DISABLE + Per Page ENABLE won't work
241
Vineet Gupta4102b532013-05-09 21:54:51 +0530242config ARC_CACHE_VIPT_ALIASING
243 bool "Support VIPT Aliasing D$"
Vineet Guptad1f317d2015-04-06 17:23:57 +0530244 depends on ARC_HAS_DCACHE && ISA_ARCOMPACT
Vineet Gupta4102b532013-05-09 21:54:51 +0530245 default n
246
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530247endif #ARC_CACHE
248
Vineet Gupta8b5850f2013-01-18 15:12:25 +0530249config ARC_HAS_ICCM
250 bool "Use ICCM"
251 help
252 Single Cycle RAMS to store Fast Path Code
253 default n
254
255config ARC_ICCM_SZ
256 int "ICCM Size in KB"
257 default "64"
258 depends on ARC_HAS_ICCM
259
260config ARC_HAS_DCCM
261 bool "Use DCCM"
262 help
263 Single Cycle RAMS to store Fast Path Data
264 default n
265
266config ARC_DCCM_SZ
267 int "DCCM Size in KB"
268 default "64"
269 depends on ARC_HAS_DCCM
270
271config ARC_DCCM_BASE
272 hex "DCCM map address"
273 default "0xA0000000"
274 depends on ARC_HAS_DCCM
275
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530276choice
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530277 prompt "MMU Version"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530278 default ARC_MMU_V3 if ARC_CPU_770
279 default ARC_MMU_V2 if ARC_CPU_750D
Vineet Guptad7a512b2015-04-06 17:22:39 +0530280 default ARC_MMU_V4 if ARC_CPU_HS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530281
Vineet Guptac583ee4f2015-09-29 16:01:13 +0530282if ISA_ARCOMPACT
283
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530284config ARC_MMU_V1
285 bool "MMU v1"
286 help
287 Orig ARC700 MMU
288
289config ARC_MMU_V2
290 bool "MMU v2"
291 help
292 Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio
293 when 2 D-TLB and 1 I-TLB entries index into same 2way set.
294
295config ARC_MMU_V3
296 bool "MMU v3"
297 depends on ARC_CPU_770
298 help
299 Introduced with ARC700 4.10: New Features
300 Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
301 Shared Address Spaces (SASID)
302
Vineet Guptac583ee4f2015-09-29 16:01:13 +0530303endif
304
Vineet Guptad7a512b2015-04-06 17:22:39 +0530305config ARC_MMU_V4
306 bool "MMU v4"
307 depends on ISA_ARCV2
308
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530309endchoice
310
311
312choice
313 prompt "MMU Page Size"
314 default ARC_PAGE_SIZE_8K
315
316config ARC_PAGE_SIZE_8K
317 bool "8KB"
318 help
319 Choose between 8k vs 16k
320
321config ARC_PAGE_SIZE_16K
322 bool "16KB"
Alexey Brodkin450ed0d2015-07-16 21:45:17 +0300323 depends on ARC_MMU_V3 || ARC_MMU_V4
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530324
325config ARC_PAGE_SIZE_4K
326 bool "4KB"
Alexey Brodkin450ed0d2015-07-16 21:45:17 +0300327 depends on ARC_MMU_V3 || ARC_MMU_V4
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530328
329endchoice
330
Vineet Gupta37eda9d2016-02-10 06:52:07 +0530331choice
332 prompt "MMU Super Page Size"
333 depends on ISA_ARCV2 && TRANSPARENT_HUGEPAGE
334 default ARC_HUGEPAGE_2M
335
336config ARC_HUGEPAGE_2M
337 bool "2MB"
338
339config ARC_HUGEPAGE_16M
340 bool "16MB"
341
342endchoice
343
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530344if ISA_ARCOMPACT
345
Vineet Gupta4788a592013-01-18 15:12:22 +0530346config ARC_COMPACT_IRQ_LEVELS
347 bool "ARCompact IRQ Priorities: High(2)/Low(1)"
348 default n
349 # Timer HAS to be high priority, for any other high priority config
350 select ARC_IRQ3_LV2
Vineet Gupta41195d22013-01-18 15:12:23 +0530351 # if SMP, LV2 enabled ONLY if ARC implementation has LV2 re-entrancy
352 depends on !SMP || ARC_HAS_REENTRANT_IRQ_LV2
Vineet Gupta4788a592013-01-18 15:12:22 +0530353
354if ARC_COMPACT_IRQ_LEVELS
355
356config ARC_IRQ3_LV2
357 bool
358
359config ARC_IRQ5_LV2
360 bool
361
362config ARC_IRQ6_LV2
363 bool
364
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530365endif #ARC_COMPACT_IRQ_LEVELS
Vineet Gupta4788a592013-01-18 15:12:22 +0530366
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530367config ARC_FPU_SAVE_RESTORE
368 bool "Enable FPU state persistence across context switch"
369 default n
370 help
371 Double Precision Floating Point unit had dedictaed regs which
372 need to be saved/restored across context-switch.
373 Note that ARC FPU is overly simplistic, unlike say x86, which has
374 hardware pieces to allow software to conditionally save/restore,
375 based on actual usage of FPU by a task. Thus our implemn does
376 this for all tasks in system.
377
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530378endif #ISA_ARCOMPACT
379
Vineet Guptafbf8e132013-03-30 15:07:47 +0530380config ARC_CANT_LLSC
381 def_bool n
382
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530383config ARC_HAS_LLSC
384 bool "Insn: LLOCK/SCOND (efficient atomic ops)"
385 default y
Vineet Gupta14a0abf2015-06-26 12:42:53 +0530386 depends on !ARC_CANT_LLSC
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530387
Vineet Guptae78fdfe2015-07-14 19:50:18 +0530388config ARC_STAR_9000923308
389 bool "Workaround for llock/scond livelock"
Vineet Guptab31ac422016-03-15 11:36:43 +0530390 default n
Vineet Guptae78fdfe2015-07-14 19:50:18 +0530391 depends on ISA_ARCV2 && SMP && ARC_HAS_LLSC
392
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530393config ARC_HAS_SWAPE
394 bool "Insn: SWAPE (endian-swap)"
395 default y
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530396
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530397if ISA_ARCV2
398
399config ARC_HAS_LL64
400 bool "Insn: 64bit LDD/STD"
401 help
402 Enable gcc to generate 64-bit load/store instructions
403 ISA mandates even/odd registers to allow encoding of two
404 dest operands with 2 possible source operands.
405 default y
406
Alexey Brodkind05a76a2015-07-16 21:45:38 +0300407config ARC_HAS_DIV_REM
408 bool "Insn: div, divu, rem, remu"
409 default y
410
Vineet Guptaaa93e8e2013-11-07 14:57:16 +0530411config ARC_HAS_RTC
412 bool "Local 64-bit r/o cycle counter"
413 default n
414 depends on !SMP
415
Vineet Guptad584f0f2016-01-22 14:27:50 +0530416config ARC_HAS_GFRC
Vineet Gupta72d72882014-12-24 18:41:55 +0530417 bool "SMP synchronized 64-bit cycle counter"
418 default y
419 depends on SMP
420
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530421config ARC_NUMBER_OF_INTERRUPTS
422 int "Number of interrupts"
423 range 8 240
424 default 32
425 help
426 This defines the number of interrupts on the ARCv2HS core.
427 It affects the size of vector table.
428 The initial 8 IRQs are fixed (Timer, ICI etc) and although configurable
429 in hardware, it keep things simple for Linux to assume they are always
430 present.
431
432endif # ISA_ARCV2
433
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530434endmenu # "ARC CPU Configuration"
435
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530436config LINUX_LINK_BASE
437 hex "Linux Link Address"
438 default "0x80000000"
439 help
440 ARC700 divides the 32 bit phy address space into two equal halves
441 -Lower 2G (0 - 0x7FFF_FFFF ) is user virtual, translated by MMU
442 -Upper 2G (0x8000_0000 onwards) is untranslated, for kernel
443 Typically Linux kernel is linked at the start of untransalted addr,
444 hence the default value of 0x8zs.
445 However some customers have peripherals mapped at this addr, so
446 Linux needs to be scooted a bit.
447 If you don't know what the above means, leave this setting alone.
Vineet Guptaff1c0b62015-12-15 13:57:16 +0530448 This needs to match memory start address specified in Device Tree
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530449
Vineet Gupta45890f62015-03-09 18:53:49 +0530450config HIGHMEM
451 bool "High Memory Support"
452 help
453 With ARC 2G:2G address split, only upper 2G is directly addressable by
454 kernel. Enable this to potentially allow access to rest of 2G and PAE
455 in future
456
Vineet Gupta5a364c22015-02-06 18:44:57 +0300457config ARC_HAS_PAE40
458 bool "Support for the 40-bit Physical Address Extension"
459 default n
460 depends on ISA_ARCV2
Vineet Gupta5a364c22015-02-06 18:44:57 +0300461 help
462 Enable access to physical memory beyond 4G, only supported on
463 ARC cores with 40 bit Physical Addressing support
464
465config ARCH_PHYS_ADDR_T_64BIT
466 def_bool ARC_HAS_PAE40
467
468config ARCH_DMA_ADDR_T_64BIT
469 bool
470
Vineet Guptaf2e3d552016-03-16 16:38:57 +0530471config ARC_PLAT_NEEDS_PHYS_TO_DMA
472 bool
473
Vineet Gupta080c3742013-02-11 19:52:57 +0530474config ARC_CURR_IN_REG
475 bool "Dedicate Register r25 for current_task pointer"
476 default y
477 help
478 This reserved Register R25 to point to Current Task in
479 kernel mode. This saves memory access for each such access
480
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530481
Vineet Gupta1736a562014-09-08 11:18:15 +0530482config ARC_EMUL_UNALIGNED
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530483 bool "Emulate unaligned memory access (userspace only)"
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530484 default N
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530485 select SYSCTL_ARCH_UNALIGN_NO_WARN
486 select SYSCTL_ARCH_UNALIGN_ALLOW
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530487 depends on ISA_ARCOMPACT
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530488 help
489 This enables misaligned 16 & 32 bit memory access from user space.
490 Use ONLY-IF-ABS-NECESSARY as it will be very slow and also can hide
491 potential bugs in code
492
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530493config HZ
494 int "Timer Frequency"
495 default 100
496
Vineet Guptacbe056f2013-01-18 15:12:25 +0530497config ARC_METAWARE_HLINK
498 bool "Support for Metaware debugger assisted Host access"
499 default n
500 help
501 This options allows a Linux userland apps to directly access
502 host file system (open/creat/read/write etc) with help from
503 Metaware Debugger. This can come in handy for Linux-host communication
504 when there is no real usable peripheral such as EMAC.
505
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530506menuconfig ARC_DBG
507 bool "ARC debugging"
508 default y
509
Vineet Guptaaa6083e2014-11-07 10:45:28 +0530510if ARC_DBG
511
Vineet Gupta854a0d92013-01-22 17:03:19 +0530512config ARC_DW2_UNWIND
513 bool "Enable DWARF specific kernel stack unwind"
Vineet Gupta854a0d92013-01-22 17:03:19 +0530514 default y
515 select KALLSYMS
516 help
517 Compiles the kernel with DWARF unwind information and can be used
518 to get stack backtraces.
519
520 If you say Y here the resulting kernel image will be slightly larger
521 but not slower, and it will give very useful debugging information.
522 If you don't debug the kernel, you can say N, but we may not be able
523 to solve problems without frame unwind information
524
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530525config ARC_DBG_TLB_PARANOIA
526 bool "Paranoia Checks in Low Level TLB Handlers"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530527 default n
528
529config ARC_DBG_TLB_MISS_COUNT
530 bool "Profile TLB Misses"
531 default n
532 select DEBUG_FS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530533 help
534 Counts number of I and D TLB Misses and exports them via Debugfs
535 The counters can be cleared via Debugfs as well
536
Vineet Guptaaa6083e2014-11-07 10:45:28 +0530537endif
538
Vineet Gupta036b2c52015-03-09 19:40:09 +0530539config ARC_UBOOT_SUPPORT
540 bool "Support uboot arg Handling"
541 default n
542 help
543 ARC Linux by default checks for uboot provided args as pointers to
544 external cmdline or DTB. This however breaks in absence of uboot,
545 when booting from Metaware debugger directly, as the registers are
546 not zeroed out on reset by mdb and/or ARCv2 based cores. The bogus
547 registers look like uboot args to kernel which then chokes.
548 So only enable the uboot arg checking/processing if users are sure
549 of uboot being in play.
550
Vineet Gupta999159a2013-01-22 17:00:52 +0530551config ARC_BUILTIN_DTB_NAME
552 string "Built in DTB"
553 help
554 Set the name of the DTB to embed in the vmlinux binary
555 Leaving it blank selects the minimal "skeleton" dtb
556
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530557source "kernel/Kconfig.preempt"
558
Vineet Gupta56288322013-04-06 14:16:20 +0530559menu "Executable file formats"
560source "fs/Kconfig.binfmt"
561endmenu
562
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530563endmenu # "ARC Architecture Configuration"
564
565source "mm/Kconfig"
Vineet Gupta37eda9d2016-02-10 06:52:07 +0530566
567config FORCE_MAX_ZONEORDER
568 int "Maximum zone order"
569 default "12" if ARC_HUGEPAGE_16M
570 default "11"
571
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530572source "net/Kconfig"
573source "drivers/Kconfig"
574source "fs/Kconfig"
575source "arch/arc/Kconfig.debug"
576source "security/Kconfig"
577source "crypto/Kconfig"
578source "lib/Kconfig"
Alexey Brodkin996bad62014-10-29 15:26:25 +0300579source "kernel/power/Kconfig"