blob: 8150c2783583fc340b238cc6be0dddd35db41b95 [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 # ARC Busybox based initramfs absolutely relies on DEVTMPFS for /dev
16 select DEVTMPFS if !INITRAMFS_SOURCE=""
17 select GENERIC_ATOMIC64
18 select GENERIC_CLOCKEVENTS
19 select GENERIC_FIND_FIRST_BIT
20 # for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
21 select GENERIC_IRQ_SHOW
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053022 select GENERIC_PENDING_IRQ if SMP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053023 select GENERIC_SMP_IDLE_THREAD
Mischa Jonkerf46121b2013-01-18 15:12:24 +053024 select HAVE_ARCH_KGDB
Vineet Gupta547f1122013-01-18 15:12:22 +053025 select HAVE_ARCH_TRACEHOOK
Vineet Gupta5e057422015-08-06 17:55:34 +053026 select HAVE_FUTEX_CMPXCHG
Gilad Ben-Yossef43689022013-01-22 16:48:45 +053027 select HAVE_IOREMAP_PROT
Vineet Gupta4d86dfb2013-01-22 17:03:59 +053028 select HAVE_KPROBES
29 select HAVE_KRETPROBES
Vineet Guptac121c502013-01-18 15:12:20 +053030 select HAVE_MEMBLOCK
Vineet Gupta854a0d92013-01-22 17:03:19 +053031 select HAVE_MOD_ARCH_SPECIFIC if ARC_DW2_UNWIND
Vineet Gupta769bc1f2013-01-22 17:02:38 +053032 select HAVE_OPROFILE
Vineet Gupta9c575642013-01-18 15:12:24 +053033 select HAVE_PERF_EVENTS
Vineet Gupta999159a2013-01-22 17:00:52 +053034 select IRQ_DOMAIN
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053035 select MODULES_USE_ELF_RELA
Vineet Guptac121c502013-01-18 15:12:20 +053036 select NO_BOOTMEM
Vineet Gupta999159a2013-01-22 17:00:52 +053037 select OF
38 select OF_EARLY_FLATTREE
Vineet Gupta9c575642013-01-18 15:12:24 +053039 select PERF_USE_VMALLOC
Dave Hansend1a1dc02013-07-01 13:04:42 -070040 select HAVE_DEBUG_STACKOVERFLOW
Christoph Hellwig052c96d2016-01-20 15:01:26 -080041 select HAVE_DMA_ATTRS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053042
Vineet Gupta0dafafc2013-09-06 14:18:17 +053043config TRACE_IRQFLAGS_SUPPORT
44 def_bool y
45
46config LOCKDEP_SUPPORT
47 def_bool y
48
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053049config SCHED_OMIT_FRAME_POINTER
50 def_bool y
51
52config GENERIC_CSUM
53 def_bool y
54
55config RWSEM_GENERIC_SPINLOCK
56 def_bool y
57
58config ARCH_FLATMEM_ENABLE
59 def_bool y
60
61config MMU
62 def_bool y
63
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070064config NO_IOPORT_MAP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053065 def_bool y
66
67config GENERIC_CALIBRATE_DELAY
68 def_bool y
69
70config GENERIC_HWEIGHT
71 def_bool y
72
Vineet Gupta44c8bb92013-01-18 15:12:23 +053073config STACKTRACE_SUPPORT
74 def_bool y
75 select STACKTRACE
76
Vineet Guptafe6c1b82014-07-08 18:43:47 +053077config HAVE_ARCH_TRANSPARENT_HUGEPAGE
78 def_bool y
79 depends on ARC_MMU_V4
80
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053081source "init/Kconfig"
82source "kernel/Kconfig.freezer"
83
84menu "ARC Architecture Configuration"
85
Vineet Gupta93ad7002013-01-22 16:51:50 +053086menu "ARC Platform/SoC/Board"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053087
Vineet Guptafd155792015-02-20 19:12:18 +053088source "arch/arc/plat-sim/Kconfig"
Christian Ruppert072eb692013-04-12 08:40:59 +020089source "arch/arc/plat-tb10x/Kconfig"
Alexey Brodkin556cc1c2014-01-27 14:51:34 +010090source "arch/arc/plat-axs10x/Kconfig"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053091#New platform adds here
Vineet Gupta93ad7002013-01-22 16:51:50 +053092
Vineet Gupta53d98952013-01-18 15:12:25 +053093endmenu
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053094
Vineet Gupta1f6ccff2013-05-13 18:30:41 +053095choice
96 prompt "ARC Instruction Set"
97 default ISA_ARCOMPACT
98
99config ISA_ARCOMPACT
100 bool "ARCompact ISA"
101 help
102 The original ARC ISA of ARC600/700 cores
103
Vineet Gupta65bfbcd2015-03-09 14:01:08 +0530104config ISA_ARCV2
105 bool "ARC ISA v2"
106 help
107 ISA for the Next Generation ARC-HS cores
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530108
109endchoice
110
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530111menu "ARC CPU Configuration"
112
113choice
114 prompt "ARC Core"
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530115 default ARC_CPU_770 if ISA_ARCOMPACT
116 default ARC_CPU_HS if ISA_ARCV2
117
118if ISA_ARCOMPACT
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530119
120config ARC_CPU_750D
121 bool "ARC750D"
Vineet Gupta14a0abf2015-06-26 12:42:53 +0530122 select ARC_CANT_LLSC
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530123 help
124 Support for ARC750 core
125
126config ARC_CPU_770
127 bool "ARC770"
Vineet Gupta742f8af2013-11-07 14:47:16 +0530128 select ARC_HAS_SWAPE
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530129 help
130 Support for ARC770 core introduced with Rel 4.10 (Summer 2011)
131 This core has a bunch of cool new features:
132 -MMU-v3: Variable Page Sz (4k, 8k, 16k), bigger J-TLB (128x4)
133 Shared Address Spaces (for sharing TLB entires in MMU)
134 -Caches: New Prog Model, Region Flush
135 -Insns: endian swap, load-locked/store-conditional, time-stamp-ctr
136
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530137endif #ISA_ARCOMPACT
138
139config ARC_CPU_HS
140 bool "ARC-HS"
141 depends on ISA_ARCV2
142 help
143 Support for ARC HS38x Cores based on ARCv2 ISA
144 The notable features are:
145 - SMP configurations of upto 4 core with coherency
146 - Optional L2 Cache and IO-Coherency
147 - Revised Interrupt Architecture (multiple priorites, reg banks,
148 auto stack switch, auto regfile save/restore)
149 - MMUv4 (PIPT dcache, Huge Pages)
150 - Instructions for
151 * 64bit load/store: LDD, STD
152 * Hardware assisted divide/remainder: DIV, REM
153 * Function prologue/epilogue: ENTER_S, LEAVE_S
154 * IRQ enable/disable: CLRI, SETI
155 * pop count: FFS, FLS
156 * SETcc, BMSKN, XBFU...
157
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530158endchoice
159
160config CPU_BIG_ENDIAN
161 bool "Enable Big Endian Mode"
162 default n
163 help
164 Build kernel for Big Endian Mode of ARC CPU
165
Vineet Gupta41195d22013-01-18 15:12:23 +0530166config SMP
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530167 bool "Symmetric Multi-Processing"
Vineet Gupta41195d22013-01-18 15:12:23 +0530168 default n
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530169 select ARC_HAS_COH_CACHES if ISA_ARCV2
170 select ARC_MCIP if ISA_ARCV2
Vineet Gupta41195d22013-01-18 15:12:23 +0530171 help
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530172 This enables support for systems with more than one CPU.
Vineet Gupta41195d22013-01-18 15:12:23 +0530173
174if SMP
175
176config ARC_HAS_COH_CACHES
177 def_bool n
178
Vineet Gupta41195d22013-01-18 15:12:23 +0530179config ARC_HAS_REENTRANT_IRQ_LV2
180 def_bool n
181
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530182config ARC_MCIP
183 bool "ARConnect Multicore IP (MCIP) Support "
184 depends on ISA_ARCV2
185 help
186 This IP block enables SMP in ARC-HS38 cores.
187 It provides for cross-core interrupts, multi-core debug
188 hardware semaphores, shared memory,....
Vineet Gupta41195d22013-01-18 15:12:23 +0530189
190config NR_CPUS
Noam Camus3aa4f802013-06-03 15:19:59 +0300191 int "Maximum number of CPUs (2-4096)"
192 range 2 4096
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530193 default "4"
194
Vineet Gupta3971cdc2015-10-09 11:26:12 +0530195config ARC_SMP_HALT_ON_RESET
196 bool "Enable Halt-on-reset boot mode"
197 default y if ARC_UBOOT_SUPPORT
198 help
199 In SMP configuration cores can be configured as Halt-on-reset
200 or they could all start at same time. For Halt-on-reset, non
201 masters are parked until Master kicks them so they can start of
202 at designated entry point. For other case, all jump to common
203 entry point and spin wait for Master's signal.
204
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530205endif #SMP
Vineet Gupta41195d22013-01-18 15:12:23 +0530206
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530207menuconfig ARC_CACHE
208 bool "Enable Cache Support"
209 default y
Vineet Gupta41195d22013-01-18 15:12:23 +0530210 # if SMP, cache enabled ONLY if ARC implementation has cache coherency
211 depends on !SMP || ARC_HAS_COH_CACHES
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530212
213if ARC_CACHE
214
215config ARC_CACHE_LINE_SHIFT
216 int "Cache Line Length (as power of 2)"
217 range 5 7
218 default "6"
219 help
220 Starting with ARC700 4.9, Cache line length is configurable,
221 This option specifies "N", with Line-len = 2 power N
222 So line lengths of 32, 64, 128 are specified by 5,6,7, respectively
223 Linux only supports same line lengths for I and D caches.
224
225config ARC_HAS_ICACHE
226 bool "Use Instruction Cache"
227 default y
228
229config ARC_HAS_DCACHE
230 bool "Use Data Cache"
231 default y
232
233config ARC_CACHE_PAGES
234 bool "Per Page Cache Control"
235 default y
236 depends on ARC_HAS_ICACHE || ARC_HAS_DCACHE
237 help
238 This can be used to over-ride the global I/D Cache Enable on a
239 per-page basis (but only for pages accessed via MMU such as
240 Kernel Virtual address or User Virtual Address)
241 TLB entries have a per-page Cache Enable Bit.
242 Note that Global I/D ENABLE + Per Page DISABLE works but corollary
243 Global DISABLE + Per Page ENABLE won't work
244
Vineet Gupta4102b532013-05-09 21:54:51 +0530245config ARC_CACHE_VIPT_ALIASING
246 bool "Support VIPT Aliasing D$"
Vineet Guptad1f317d2015-04-06 17:23:57 +0530247 depends on ARC_HAS_DCACHE && ISA_ARCOMPACT
Vineet Gupta4102b532013-05-09 21:54:51 +0530248 default n
249
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530250endif #ARC_CACHE
251
Vineet Gupta8b5850f2013-01-18 15:12:25 +0530252config ARC_HAS_ICCM
253 bool "Use ICCM"
254 help
255 Single Cycle RAMS to store Fast Path Code
256 default n
257
258config ARC_ICCM_SZ
259 int "ICCM Size in KB"
260 default "64"
261 depends on ARC_HAS_ICCM
262
263config ARC_HAS_DCCM
264 bool "Use DCCM"
265 help
266 Single Cycle RAMS to store Fast Path Data
267 default n
268
269config ARC_DCCM_SZ
270 int "DCCM Size in KB"
271 default "64"
272 depends on ARC_HAS_DCCM
273
274config ARC_DCCM_BASE
275 hex "DCCM map address"
276 default "0xA0000000"
277 depends on ARC_HAS_DCCM
278
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530279config ARC_HAS_HW_MPY
280 bool "Use Hardware Multiplier (Normal or Faster XMAC)"
281 default y
282 help
283 Influences how gcc generates code for MPY operations.
284 If enabled, MPYxx insns are generated, provided by Standard/XMAC
285 Multipler. Otherwise software multipy lib is used
286
287choice
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530288 prompt "MMU Version"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530289 default ARC_MMU_V3 if ARC_CPU_770
290 default ARC_MMU_V2 if ARC_CPU_750D
Vineet Guptad7a512b2015-04-06 17:22:39 +0530291 default ARC_MMU_V4 if ARC_CPU_HS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530292
Vineet Guptac583ee4f2015-09-29 16:01:13 +0530293if ISA_ARCOMPACT
294
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530295config ARC_MMU_V1
296 bool "MMU v1"
297 help
298 Orig ARC700 MMU
299
300config ARC_MMU_V2
301 bool "MMU v2"
302 help
303 Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio
304 when 2 D-TLB and 1 I-TLB entries index into same 2way set.
305
306config ARC_MMU_V3
307 bool "MMU v3"
308 depends on ARC_CPU_770
309 help
310 Introduced with ARC700 4.10: New Features
311 Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
312 Shared Address Spaces (SASID)
313
Vineet Guptac583ee4f2015-09-29 16:01:13 +0530314endif
315
Vineet Guptad7a512b2015-04-06 17:22:39 +0530316config ARC_MMU_V4
317 bool "MMU v4"
318 depends on ISA_ARCV2
319
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530320endchoice
321
322
323choice
324 prompt "MMU Page Size"
325 default ARC_PAGE_SIZE_8K
326
327config ARC_PAGE_SIZE_8K
328 bool "8KB"
329 help
330 Choose between 8k vs 16k
331
332config ARC_PAGE_SIZE_16K
333 bool "16KB"
Alexey Brodkin450ed0d2015-07-16 21:45:17 +0300334 depends on ARC_MMU_V3 || ARC_MMU_V4
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530335
336config ARC_PAGE_SIZE_4K
337 bool "4KB"
Alexey Brodkin450ed0d2015-07-16 21:45:17 +0300338 depends on ARC_MMU_V3 || ARC_MMU_V4
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530339
340endchoice
341
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530342if ISA_ARCOMPACT
343
Vineet Gupta4788a592013-01-18 15:12:22 +0530344config ARC_COMPACT_IRQ_LEVELS
345 bool "ARCompact IRQ Priorities: High(2)/Low(1)"
346 default n
347 # Timer HAS to be high priority, for any other high priority config
348 select ARC_IRQ3_LV2
Vineet Gupta41195d22013-01-18 15:12:23 +0530349 # if SMP, LV2 enabled ONLY if ARC implementation has LV2 re-entrancy
350 depends on !SMP || ARC_HAS_REENTRANT_IRQ_LV2
Vineet Gupta4788a592013-01-18 15:12:22 +0530351
352if ARC_COMPACT_IRQ_LEVELS
353
354config ARC_IRQ3_LV2
355 bool
356
357config ARC_IRQ5_LV2
358 bool
359
360config ARC_IRQ6_LV2
361 bool
362
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530363endif #ARC_COMPACT_IRQ_LEVELS
Vineet Gupta4788a592013-01-18 15:12:22 +0530364
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530365config ARC_FPU_SAVE_RESTORE
366 bool "Enable FPU state persistence across context switch"
367 default n
368 help
369 Double Precision Floating Point unit had dedictaed regs which
370 need to be saved/restored across context-switch.
371 Note that ARC FPU is overly simplistic, unlike say x86, which has
372 hardware pieces to allow software to conditionally save/restore,
373 based on actual usage of FPU by a task. Thus our implemn does
374 this for all tasks in system.
375
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530376endif #ISA_ARCOMPACT
377
Vineet Guptafbf8e132013-03-30 15:07:47 +0530378config ARC_CANT_LLSC
379 def_bool n
380
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530381config ARC_HAS_LLSC
382 bool "Insn: LLOCK/SCOND (efficient atomic ops)"
383 default y
Vineet Gupta14a0abf2015-06-26 12:42:53 +0530384 depends on !ARC_CANT_LLSC
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530385
Vineet Guptae78fdfe2015-07-14 19:50:18 +0530386config ARC_STAR_9000923308
387 bool "Workaround for llock/scond livelock"
388 default y
389 depends on ISA_ARCV2 && SMP && ARC_HAS_LLSC
390
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530391config ARC_HAS_SWAPE
392 bool "Insn: SWAPE (endian-swap)"
393 default y
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530394
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530395if ISA_ARCV2
396
397config ARC_HAS_LL64
398 bool "Insn: 64bit LDD/STD"
399 help
400 Enable gcc to generate 64-bit load/store instructions
401 ISA mandates even/odd registers to allow encoding of two
402 dest operands with 2 possible source operands.
403 default y
404
Alexey Brodkind05a76a2015-07-16 21:45:38 +0300405config ARC_HAS_DIV_REM
406 bool "Insn: div, divu, rem, remu"
407 default y
408
Vineet Guptaaa93e8e2013-11-07 14:57:16 +0530409config ARC_HAS_RTC
410 bool "Local 64-bit r/o cycle counter"
411 default n
412 depends on !SMP
413
Vineet Gupta72d72882014-12-24 18:41:55 +0530414config ARC_HAS_GRTC
415 bool "SMP synchronized 64-bit cycle counter"
416 default y
417 depends on SMP
418
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530419config ARC_NUMBER_OF_INTERRUPTS
420 int "Number of interrupts"
421 range 8 240
422 default 32
423 help
424 This defines the number of interrupts on the ARCv2HS core.
425 It affects the size of vector table.
426 The initial 8 IRQs are fixed (Timer, ICI etc) and although configurable
427 in hardware, it keep things simple for Linux to assume they are always
428 present.
429
430endif # ISA_ARCV2
431
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530432endmenu # "ARC CPU Configuration"
433
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530434config LINUX_LINK_BASE
435 hex "Linux Link Address"
436 default "0x80000000"
437 help
438 ARC700 divides the 32 bit phy address space into two equal halves
439 -Lower 2G (0 - 0x7FFF_FFFF ) is user virtual, translated by MMU
440 -Upper 2G (0x8000_0000 onwards) is untranslated, for kernel
441 Typically Linux kernel is linked at the start of untransalted addr,
442 hence the default value of 0x8zs.
443 However some customers have peripherals mapped at this addr, so
444 Linux needs to be scooted a bit.
445 If you don't know what the above means, leave this setting alone.
Vineet Guptaff1c0b62015-12-15 13:57:16 +0530446 This needs to match memory start address specified in Device Tree
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530447
Vineet Gupta45890f62015-03-09 18:53:49 +0530448config HIGHMEM
449 bool "High Memory Support"
450 help
451 With ARC 2G:2G address split, only upper 2G is directly addressable by
452 kernel. Enable this to potentially allow access to rest of 2G and PAE
453 in future
454
Vineet Gupta5a364c22015-02-06 18:44:57 +0300455config ARC_HAS_PAE40
456 bool "Support for the 40-bit Physical Address Extension"
457 default n
458 depends on ISA_ARCV2
459 select HIGHMEM
460 help
461 Enable access to physical memory beyond 4G, only supported on
462 ARC cores with 40 bit Physical Addressing support
463
464config ARCH_PHYS_ADDR_T_64BIT
465 def_bool ARC_HAS_PAE40
466
467config ARCH_DMA_ADDR_T_64BIT
468 bool
469
Vineet Gupta080c3742013-02-11 19:52:57 +0530470config ARC_CURR_IN_REG
471 bool "Dedicate Register r25 for current_task pointer"
472 default y
473 help
474 This reserved Register R25 to point to Current Task in
475 kernel mode. This saves memory access for each such access
476
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530477
Vineet Gupta1736a562014-09-08 11:18:15 +0530478config ARC_EMUL_UNALIGNED
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530479 bool "Emulate unaligned memory access (userspace only)"
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530480 default N
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530481 select SYSCTL_ARCH_UNALIGN_NO_WARN
482 select SYSCTL_ARCH_UNALIGN_ALLOW
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530483 depends on ISA_ARCOMPACT
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530484 help
485 This enables misaligned 16 & 32 bit memory access from user space.
486 Use ONLY-IF-ABS-NECESSARY as it will be very slow and also can hide
487 potential bugs in code
488
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530489config HZ
490 int "Timer Frequency"
491 default 100
492
Vineet Guptacbe056f2013-01-18 15:12:25 +0530493config ARC_METAWARE_HLINK
494 bool "Support for Metaware debugger assisted Host access"
495 default n
496 help
497 This options allows a Linux userland apps to directly access
498 host file system (open/creat/read/write etc) with help from
499 Metaware Debugger. This can come in handy for Linux-host communication
500 when there is no real usable peripheral such as EMAC.
501
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530502menuconfig ARC_DBG
503 bool "ARC debugging"
504 default y
505
Vineet Guptaaa6083e2014-11-07 10:45:28 +0530506if ARC_DBG
507
Vineet Gupta854a0d92013-01-22 17:03:19 +0530508config ARC_DW2_UNWIND
509 bool "Enable DWARF specific kernel stack unwind"
Vineet Gupta854a0d92013-01-22 17:03:19 +0530510 default y
511 select KALLSYMS
512 help
513 Compiles the kernel with DWARF unwind information and can be used
514 to get stack backtraces.
515
516 If you say Y here the resulting kernel image will be slightly larger
517 but not slower, and it will give very useful debugging information.
518 If you don't debug the kernel, you can say N, but we may not be able
519 to solve problems without frame unwind information
520
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530521config ARC_DBG_TLB_PARANOIA
522 bool "Paranoia Checks in Low Level TLB Handlers"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530523 default n
524
525config ARC_DBG_TLB_MISS_COUNT
526 bool "Profile TLB Misses"
527 default n
528 select DEBUG_FS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530529 help
530 Counts number of I and D TLB Misses and exports them via Debugfs
531 The counters can be cleared via Debugfs as well
532
Vineet Guptaaa6083e2014-11-07 10:45:28 +0530533if SMP
534
535config ARC_IPI_DBG
536 bool "Debug Inter Core interrupts"
537 default n
538
539endif
540
541endif
542
Vineet Gupta036b2c52015-03-09 19:40:09 +0530543config ARC_UBOOT_SUPPORT
544 bool "Support uboot arg Handling"
545 default n
546 help
547 ARC Linux by default checks for uboot provided args as pointers to
548 external cmdline or DTB. This however breaks in absence of uboot,
549 when booting from Metaware debugger directly, as the registers are
550 not zeroed out on reset by mdb and/or ARCv2 based cores. The bogus
551 registers look like uboot args to kernel which then chokes.
552 So only enable the uboot arg checking/processing if users are sure
553 of uboot being in play.
554
Vineet Gupta999159a2013-01-22 17:00:52 +0530555config ARC_BUILTIN_DTB_NAME
556 string "Built in DTB"
557 help
558 Set the name of the DTB to embed in the vmlinux binary
559 Leaving it blank selects the minimal "skeleton" dtb
560
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530561source "kernel/Kconfig.preempt"
562
Vineet Gupta56288322013-04-06 14:16:20 +0530563menu "Executable file formats"
564source "fs/Kconfig.binfmt"
565endmenu
566
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530567endmenu # "ARC Architecture Configuration"
568
569source "mm/Kconfig"
570source "net/Kconfig"
571source "drivers/Kconfig"
572source "fs/Kconfig"
573source "arch/arc/Kconfig.debug"
574source "security/Kconfig"
575source "crypto/Kconfig"
576source "lib/Kconfig"
Alexey Brodkin996bad62014-10-29 15:26:25 +0300577source "kernel/power/Kconfig"