blob: f9e3b357af7982abd00333b6bf2f908947c17d6b [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
Joao Pintoc1678ff2016-03-10 14:44:13 -060022 select GENERIC_PCI_IOMAP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053023 select GENERIC_PENDING_IRQ if SMP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053024 select GENERIC_SMP_IDLE_THREAD
Mischa Jonkerf46121b2013-01-18 15:12:24 +053025 select HAVE_ARCH_KGDB
Vineet Gupta547f1122013-01-18 15:12:22 +053026 select HAVE_ARCH_TRACEHOOK
Vineet Gupta5e057422015-08-06 17:55:34 +053027 select HAVE_FUTEX_CMPXCHG
Gilad Ben-Yossef43689022013-01-22 16:48:45 +053028 select HAVE_IOREMAP_PROT
Vineet Gupta4d86dfb2013-01-22 17:03:59 +053029 select HAVE_KPROBES
30 select HAVE_KRETPROBES
Vineet Guptac121c502013-01-18 15:12:20 +053031 select HAVE_MEMBLOCK
Vineet Gupta854a0d92013-01-22 17:03:19 +053032 select HAVE_MOD_ARCH_SPECIFIC if ARC_DW2_UNWIND
Vineet Gupta769bc1f2013-01-22 17:02:38 +053033 select HAVE_OPROFILE
Vineet Gupta9c575642013-01-18 15:12:24 +053034 select HAVE_PERF_EVENTS
Vineet Gupta999159a2013-01-22 17:00:52 +053035 select IRQ_DOMAIN
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053036 select MODULES_USE_ELF_RELA
Vineet Guptac121c502013-01-18 15:12:20 +053037 select NO_BOOTMEM
Vineet Gupta999159a2013-01-22 17:00:52 +053038 select OF
39 select OF_EARLY_FLATTREE
Vineet Gupta9c575642013-01-18 15:12:24 +053040 select PERF_USE_VMALLOC
Dave Hansend1a1dc02013-07-01 13:04:42 -070041 select HAVE_DEBUG_STACKOVERFLOW
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053042
Joao Pintoc1678ff2016-03-10 14:44:13 -060043config MIGHT_HAVE_PCI
44 bool
45
Vineet Gupta0dafafc2013-09-06 14:18:17 +053046config TRACE_IRQFLAGS_SUPPORT
47 def_bool y
48
49config LOCKDEP_SUPPORT
50 def_bool y
51
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053052config SCHED_OMIT_FRAME_POINTER
53 def_bool y
54
55config GENERIC_CSUM
56 def_bool y
57
58config RWSEM_GENERIC_SPINLOCK
59 def_bool y
60
61config ARCH_FLATMEM_ENABLE
62 def_bool y
63
64config MMU
65 def_bool y
66
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070067config NO_IOPORT_MAP
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053068 def_bool y
69
70config GENERIC_CALIBRATE_DELAY
71 def_bool y
72
73config GENERIC_HWEIGHT
74 def_bool y
75
Vineet Gupta44c8bb92013-01-18 15:12:23 +053076config STACKTRACE_SUPPORT
77 def_bool y
78 select STACKTRACE
79
Vineet Guptafe6c1b82014-07-08 18:43:47 +053080config HAVE_ARCH_TRANSPARENT_HUGEPAGE
81 def_bool y
82 depends on ARC_MMU_V4
83
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053084source "init/Kconfig"
85source "kernel/Kconfig.freezer"
86
87menu "ARC Architecture Configuration"
88
Vineet Gupta93ad7002013-01-22 16:51:50 +053089menu "ARC Platform/SoC/Board"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053090
Vineet Guptafd155792015-02-20 19:12:18 +053091source "arch/arc/plat-sim/Kconfig"
Christian Ruppert072eb692013-04-12 08:40:59 +020092source "arch/arc/plat-tb10x/Kconfig"
Alexey Brodkin556cc1c2014-01-27 14:51:34 +010093source "arch/arc/plat-axs10x/Kconfig"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053094#New platform adds here
Vineet Gupta93ad7002013-01-22 16:51:50 +053095
Vineet Gupta53d98952013-01-18 15:12:25 +053096endmenu
Vineet Guptacfdbc2e2013-01-18 15:12:20 +053097
Vineet Gupta1f6ccff2013-05-13 18:30:41 +053098choice
99 prompt "ARC Instruction Set"
100 default ISA_ARCOMPACT
101
102config ISA_ARCOMPACT
103 bool "ARCompact ISA"
104 help
105 The original ARC ISA of ARC600/700 cores
106
Vineet Gupta65bfbcd2015-03-09 14:01:08 +0530107config ISA_ARCV2
108 bool "ARC ISA v2"
109 help
110 ISA for the Next Generation ARC-HS cores
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530111
112endchoice
113
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530114menu "ARC CPU Configuration"
115
116choice
117 prompt "ARC Core"
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530118 default ARC_CPU_770 if ISA_ARCOMPACT
119 default ARC_CPU_HS if ISA_ARCV2
120
121if ISA_ARCOMPACT
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530122
123config ARC_CPU_750D
124 bool "ARC750D"
Vineet Gupta14a0abf2015-06-26 12:42:53 +0530125 select ARC_CANT_LLSC
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530126 help
127 Support for ARC750 core
128
129config ARC_CPU_770
130 bool "ARC770"
Vineet Gupta742f8af2013-11-07 14:47:16 +0530131 select ARC_HAS_SWAPE
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530132 help
133 Support for ARC770 core introduced with Rel 4.10 (Summer 2011)
134 This core has a bunch of cool new features:
135 -MMU-v3: Variable Page Sz (4k, 8k, 16k), bigger J-TLB (128x4)
136 Shared Address Spaces (for sharing TLB entires in MMU)
137 -Caches: New Prog Model, Region Flush
138 -Insns: endian swap, load-locked/store-conditional, time-stamp-ctr
139
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530140endif #ISA_ARCOMPACT
141
142config ARC_CPU_HS
143 bool "ARC-HS"
144 depends on ISA_ARCV2
145 help
146 Support for ARC HS38x Cores based on ARCv2 ISA
147 The notable features are:
148 - SMP configurations of upto 4 core with coherency
149 - Optional L2 Cache and IO-Coherency
150 - Revised Interrupt Architecture (multiple priorites, reg banks,
151 auto stack switch, auto regfile save/restore)
152 - MMUv4 (PIPT dcache, Huge Pages)
153 - Instructions for
154 * 64bit load/store: LDD, STD
155 * Hardware assisted divide/remainder: DIV, REM
156 * Function prologue/epilogue: ENTER_S, LEAVE_S
157 * IRQ enable/disable: CLRI, SETI
158 * pop count: FFS, FLS
159 * SETcc, BMSKN, XBFU...
160
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530161endchoice
162
163config CPU_BIG_ENDIAN
164 bool "Enable Big Endian Mode"
165 default n
166 help
167 Build kernel for Big Endian Mode of ARC CPU
168
Vineet Gupta41195d22013-01-18 15:12:23 +0530169config SMP
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530170 bool "Symmetric Multi-Processing"
Vineet Gupta41195d22013-01-18 15:12:23 +0530171 default n
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530172 select ARC_HAS_COH_CACHES if ISA_ARCV2
173 select ARC_MCIP if ISA_ARCV2
Vineet Gupta41195d22013-01-18 15:12:23 +0530174 help
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530175 This enables support for systems with more than one CPU.
Vineet Gupta41195d22013-01-18 15:12:23 +0530176
177if SMP
178
179config ARC_HAS_COH_CACHES
180 def_bool n
181
Vineet Gupta41195d22013-01-18 15:12:23 +0530182config ARC_HAS_REENTRANT_IRQ_LV2
183 def_bool n
184
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530185config ARC_MCIP
186 bool "ARConnect Multicore IP (MCIP) Support "
187 depends on ISA_ARCV2
188 help
189 This IP block enables SMP in ARC-HS38 cores.
190 It provides for cross-core interrupts, multi-core debug
191 hardware semaphores, shared memory,....
Vineet Gupta41195d22013-01-18 15:12:23 +0530192
193config NR_CPUS
Noam Camus3aa4f802013-06-03 15:19:59 +0300194 int "Maximum number of CPUs (2-4096)"
195 range 2 4096
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530196 default "4"
197
Vineet Gupta3971cdc2015-10-09 11:26:12 +0530198config ARC_SMP_HALT_ON_RESET
199 bool "Enable Halt-on-reset boot mode"
200 default y if ARC_UBOOT_SUPPORT
201 help
202 In SMP configuration cores can be configured as Halt-on-reset
203 or they could all start at same time. For Halt-on-reset, non
204 masters are parked until Master kicks them so they can start of
205 at designated entry point. For other case, all jump to common
206 entry point and spin wait for Master's signal.
207
Vineet Gupta82fea5a2014-09-10 19:05:38 +0530208endif #SMP
Vineet Gupta41195d22013-01-18 15:12:23 +0530209
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530210menuconfig ARC_CACHE
211 bool "Enable Cache Support"
212 default y
Vineet Gupta41195d22013-01-18 15:12:23 +0530213 # if SMP, cache enabled ONLY if ARC implementation has cache coherency
214 depends on !SMP || ARC_HAS_COH_CACHES
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530215
216if ARC_CACHE
217
218config ARC_CACHE_LINE_SHIFT
219 int "Cache Line Length (as power of 2)"
220 range 5 7
221 default "6"
222 help
223 Starting with ARC700 4.9, Cache line length is configurable,
224 This option specifies "N", with Line-len = 2 power N
225 So line lengths of 32, 64, 128 are specified by 5,6,7, respectively
226 Linux only supports same line lengths for I and D caches.
227
228config ARC_HAS_ICACHE
229 bool "Use Instruction Cache"
230 default y
231
232config ARC_HAS_DCACHE
233 bool "Use Data Cache"
234 default y
235
236config ARC_CACHE_PAGES
237 bool "Per Page Cache Control"
238 default y
239 depends on ARC_HAS_ICACHE || ARC_HAS_DCACHE
240 help
241 This can be used to over-ride the global I/D Cache Enable on a
242 per-page basis (but only for pages accessed via MMU such as
243 Kernel Virtual address or User Virtual Address)
244 TLB entries have a per-page Cache Enable Bit.
245 Note that Global I/D ENABLE + Per Page DISABLE works but corollary
246 Global DISABLE + Per Page ENABLE won't work
247
Vineet Gupta4102b532013-05-09 21:54:51 +0530248config ARC_CACHE_VIPT_ALIASING
249 bool "Support VIPT Aliasing D$"
Vineet Guptad1f317d2015-04-06 17:23:57 +0530250 depends on ARC_HAS_DCACHE && ISA_ARCOMPACT
Vineet Gupta4102b532013-05-09 21:54:51 +0530251 default n
252
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530253endif #ARC_CACHE
254
Vineet Gupta8b5850f2013-01-18 15:12:25 +0530255config ARC_HAS_ICCM
256 bool "Use ICCM"
257 help
258 Single Cycle RAMS to store Fast Path Code
259 default n
260
261config ARC_ICCM_SZ
262 int "ICCM Size in KB"
263 default "64"
264 depends on ARC_HAS_ICCM
265
266config ARC_HAS_DCCM
267 bool "Use DCCM"
268 help
269 Single Cycle RAMS to store Fast Path Data
270 default n
271
272config ARC_DCCM_SZ
273 int "DCCM Size in KB"
274 default "64"
275 depends on ARC_HAS_DCCM
276
277config ARC_DCCM_BASE
278 hex "DCCM map address"
279 default "0xA0000000"
280 depends on ARC_HAS_DCCM
281
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530282config ARC_HAS_HW_MPY
283 bool "Use Hardware Multiplier (Normal or Faster XMAC)"
284 default y
285 help
286 Influences how gcc generates code for MPY operations.
287 If enabled, MPYxx insns are generated, provided by Standard/XMAC
288 Multipler. Otherwise software multipy lib is used
289
290choice
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530291 prompt "MMU Version"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530292 default ARC_MMU_V3 if ARC_CPU_770
293 default ARC_MMU_V2 if ARC_CPU_750D
Vineet Guptad7a512b2015-04-06 17:22:39 +0530294 default ARC_MMU_V4 if ARC_CPU_HS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530295
Vineet Guptac583ee42015-09-29 16:01:13 +0530296if ISA_ARCOMPACT
297
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530298config ARC_MMU_V1
299 bool "MMU v1"
300 help
301 Orig ARC700 MMU
302
303config ARC_MMU_V2
304 bool "MMU v2"
305 help
306 Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio
307 when 2 D-TLB and 1 I-TLB entries index into same 2way set.
308
309config ARC_MMU_V3
310 bool "MMU v3"
311 depends on ARC_CPU_770
312 help
313 Introduced with ARC700 4.10: New Features
314 Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
315 Shared Address Spaces (SASID)
316
Vineet Guptac583ee42015-09-29 16:01:13 +0530317endif
318
Vineet Guptad7a512b2015-04-06 17:22:39 +0530319config ARC_MMU_V4
320 bool "MMU v4"
321 depends on ISA_ARCV2
322
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530323endchoice
324
325
326choice
327 prompt "MMU Page Size"
328 default ARC_PAGE_SIZE_8K
329
330config ARC_PAGE_SIZE_8K
331 bool "8KB"
332 help
333 Choose between 8k vs 16k
334
335config ARC_PAGE_SIZE_16K
336 bool "16KB"
Alexey Brodkin450ed0d2015-07-16 21:45:17 +0300337 depends on ARC_MMU_V3 || ARC_MMU_V4
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530338
339config ARC_PAGE_SIZE_4K
340 bool "4KB"
Alexey Brodkin450ed0d2015-07-16 21:45:17 +0300341 depends on ARC_MMU_V3 || ARC_MMU_V4
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530342
343endchoice
344
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530345if ISA_ARCOMPACT
346
Vineet Gupta4788a592013-01-18 15:12:22 +0530347config ARC_COMPACT_IRQ_LEVELS
348 bool "ARCompact IRQ Priorities: High(2)/Low(1)"
349 default n
350 # Timer HAS to be high priority, for any other high priority config
351 select ARC_IRQ3_LV2
Vineet Gupta41195d22013-01-18 15:12:23 +0530352 # if SMP, LV2 enabled ONLY if ARC implementation has LV2 re-entrancy
353 depends on !SMP || ARC_HAS_REENTRANT_IRQ_LV2
Vineet Gupta4788a592013-01-18 15:12:22 +0530354
355if ARC_COMPACT_IRQ_LEVELS
356
357config ARC_IRQ3_LV2
358 bool
359
360config ARC_IRQ5_LV2
361 bool
362
363config ARC_IRQ6_LV2
364 bool
365
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530366endif #ARC_COMPACT_IRQ_LEVELS
Vineet Gupta4788a592013-01-18 15:12:22 +0530367
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530368config ARC_FPU_SAVE_RESTORE
369 bool "Enable FPU state persistence across context switch"
370 default n
371 help
372 Double Precision Floating Point unit had dedictaed regs which
373 need to be saved/restored across context-switch.
374 Note that ARC FPU is overly simplistic, unlike say x86, which has
375 hardware pieces to allow software to conditionally save/restore,
376 based on actual usage of FPU by a task. Thus our implemn does
377 this for all tasks in system.
378
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530379endif #ISA_ARCOMPACT
380
Vineet Guptafbf8e132013-03-30 15:07:47 +0530381config ARC_CANT_LLSC
382 def_bool n
383
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530384config ARC_HAS_LLSC
385 bool "Insn: LLOCK/SCOND (efficient atomic ops)"
386 default y
Vineet Gupta14a0abf2015-06-26 12:42:53 +0530387 depends on !ARC_CANT_LLSC
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530388
Vineet Guptae78fdfe2015-07-14 19:50:18 +0530389config ARC_STAR_9000923308
390 bool "Workaround for llock/scond livelock"
391 default y
392 depends on ISA_ARCV2 && SMP && ARC_HAS_LLSC
393
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530394config ARC_HAS_SWAPE
395 bool "Insn: SWAPE (endian-swap)"
396 default y
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530397
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530398if ISA_ARCV2
399
400config ARC_HAS_LL64
401 bool "Insn: 64bit LDD/STD"
402 help
403 Enable gcc to generate 64-bit load/store instructions
404 ISA mandates even/odd registers to allow encoding of two
405 dest operands with 2 possible source operands.
406 default y
407
Alexey Brodkind05a76a2015-07-16 21:45:38 +0300408config ARC_HAS_DIV_REM
409 bool "Insn: div, divu, rem, remu"
410 default y
411
Vineet Guptaaa93e8e2013-11-07 14:57:16 +0530412config ARC_HAS_RTC
413 bool "Local 64-bit r/o cycle counter"
414 default n
415 depends on !SMP
416
Vineet Gupta72d72882014-12-24 18:41:55 +0530417config ARC_HAS_GRTC
418 bool "SMP synchronized 64-bit cycle counter"
419 default y
420 depends on SMP
421
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530422config ARC_NUMBER_OF_INTERRUPTS
423 int "Number of interrupts"
424 range 8 240
425 default 32
426 help
427 This defines the number of interrupts on the ARCv2HS core.
428 It affects the size of vector table.
429 The initial 8 IRQs are fixed (Timer, ICI etc) and although configurable
430 in hardware, it keep things simple for Linux to assume they are always
431 present.
432
433endif # ISA_ARCV2
434
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530435endmenu # "ARC CPU Configuration"
436
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530437config LINUX_LINK_BASE
438 hex "Linux Link Address"
439 default "0x80000000"
440 help
441 ARC700 divides the 32 bit phy address space into two equal halves
442 -Lower 2G (0 - 0x7FFF_FFFF ) is user virtual, translated by MMU
443 -Upper 2G (0x8000_0000 onwards) is untranslated, for kernel
444 Typically Linux kernel is linked at the start of untransalted addr,
445 hence the default value of 0x8zs.
446 However some customers have peripherals mapped at this addr, so
447 Linux needs to be scooted a bit.
448 If you don't know what the above means, leave this setting alone.
Vineet Guptaff1c0b62015-12-15 13:57:16 +0530449 This needs to match memory start address specified in Device Tree
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530450
Vineet Gupta45890f62015-03-09 18:53:49 +0530451config HIGHMEM
452 bool "High Memory Support"
453 help
454 With ARC 2G:2G address split, only upper 2G is directly addressable by
455 kernel. Enable this to potentially allow access to rest of 2G and PAE
456 in future
457
Vineet Gupta5a364c22015-02-06 18:44:57 +0300458config ARC_HAS_PAE40
459 bool "Support for the 40-bit Physical Address Extension"
460 default n
461 depends on ISA_ARCV2
462 select HIGHMEM
463 help
464 Enable access to physical memory beyond 4G, only supported on
465 ARC cores with 40 bit Physical Addressing support
466
467config ARCH_PHYS_ADDR_T_64BIT
468 def_bool ARC_HAS_PAE40
469
470config ARCH_DMA_ADDR_T_64BIT
471 bool
472
Vineet Gupta080c3742013-02-11 19:52:57 +0530473config ARC_CURR_IN_REG
474 bool "Dedicate Register r25 for current_task pointer"
475 default y
476 help
477 This reserved Register R25 to point to Current Task in
478 kernel mode. This saves memory access for each such access
479
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530480
Vineet Gupta1736a562014-09-08 11:18:15 +0530481config ARC_EMUL_UNALIGNED
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530482 bool "Emulate unaligned memory access (userspace only)"
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530483 default N
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530484 select SYSCTL_ARCH_UNALIGN_NO_WARN
485 select SYSCTL_ARCH_UNALIGN_ALLOW
Vineet Gupta1f6ccff2013-05-13 18:30:41 +0530486 depends on ISA_ARCOMPACT
Vineet Gupta2e651ea2013-01-23 16:30:36 +0530487 help
488 This enables misaligned 16 & 32 bit memory access from user space.
489 Use ONLY-IF-ABS-NECESSARY as it will be very slow and also can hide
490 potential bugs in code
491
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530492config HZ
493 int "Timer Frequency"
494 default 100
495
Vineet Guptacbe056f2013-01-18 15:12:25 +0530496config ARC_METAWARE_HLINK
497 bool "Support for Metaware debugger assisted Host access"
498 default n
499 help
500 This options allows a Linux userland apps to directly access
501 host file system (open/creat/read/write etc) with help from
502 Metaware Debugger. This can come in handy for Linux-host communication
503 when there is no real usable peripheral such as EMAC.
504
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530505menuconfig ARC_DBG
506 bool "ARC debugging"
507 default y
508
Vineet Guptaaa6083e2014-11-07 10:45:28 +0530509if ARC_DBG
510
Vineet Gupta854a0d92013-01-22 17:03:19 +0530511config ARC_DW2_UNWIND
512 bool "Enable DWARF specific kernel stack unwind"
Vineet Gupta854a0d92013-01-22 17:03:19 +0530513 default y
514 select KALLSYMS
515 help
516 Compiles the kernel with DWARF unwind information and can be used
517 to get stack backtraces.
518
519 If you say Y here the resulting kernel image will be slightly larger
520 but not slower, and it will give very useful debugging information.
521 If you don't debug the kernel, you can say N, but we may not be able
522 to solve problems without frame unwind information
523
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530524config ARC_DBG_TLB_PARANOIA
525 bool "Paranoia Checks in Low Level TLB Handlers"
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530526 default n
527
528config ARC_DBG_TLB_MISS_COUNT
529 bool "Profile TLB Misses"
530 default n
531 select DEBUG_FS
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530532 help
533 Counts number of I and D TLB Misses and exports them via Debugfs
534 The counters can be cleared via Debugfs as well
535
Vineet Guptaaa6083e2014-11-07 10:45:28 +0530536if SMP
537
538config ARC_IPI_DBG
539 bool "Debug Inter Core interrupts"
540 default n
541
542endif
543
544endif
545
Vineet Gupta036b2c52015-03-09 19:40:09 +0530546config ARC_UBOOT_SUPPORT
547 bool "Support uboot arg Handling"
548 default n
549 help
550 ARC Linux by default checks for uboot provided args as pointers to
551 external cmdline or DTB. This however breaks in absence of uboot,
552 when booting from Metaware debugger directly, as the registers are
553 not zeroed out on reset by mdb and/or ARCv2 based cores. The bogus
554 registers look like uboot args to kernel which then chokes.
555 So only enable the uboot arg checking/processing if users are sure
556 of uboot being in play.
557
Vineet Gupta999159a2013-01-22 17:00:52 +0530558config ARC_BUILTIN_DTB_NAME
559 string "Built in DTB"
560 help
561 Set the name of the DTB to embed in the vmlinux binary
562 Leaving it blank selects the minimal "skeleton" dtb
563
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530564source "kernel/Kconfig.preempt"
565
Vineet Gupta56288322013-04-06 14:16:20 +0530566menu "Executable file formats"
567source "fs/Kconfig.binfmt"
568endmenu
569
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530570endmenu # "ARC Architecture Configuration"
571
572source "mm/Kconfig"
573source "net/Kconfig"
574source "drivers/Kconfig"
Joao Pintoc1678ff2016-03-10 14:44:13 -0600575
576menu "Bus Support"
577
578config PCI
579 bool "PCI support" if MIGHT_HAVE_PCI
580 help
581 PCI is the name of a bus system, i.e., the way the CPU talks to
582 the other stuff inside your box. Find out if your board/platform
583 has PCI.
584
585 Note: PCIe support for Synopsys Device will be available only
586 when HAPS DX is configured with PCIe RC bitmap. If you have PCI,
587 say Y, otherwise N.
588
589config PCI_SYSCALL
590 def_bool PCI
591
592source "drivers/pci/Kconfig"
593source "drivers/pci/pcie/Kconfig"
594
595endmenu
596
Vineet Guptacfdbc2e2013-01-18 15:12:20 +0530597source "fs/Kconfig"
598source "arch/arc/Kconfig.debug"
599source "security/Kconfig"
600source "crypto/Kconfig"
601source "lib/Kconfig"
Alexey Brodkin996bad62014-10-29 15:26:25 +0300602source "kernel/power/Kconfig"