Commit | Line | Data |
---|---|---|
8c2c3df3 CM |
1 | config ARM64 |
2 | def_bool y | |
3 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | |
e6be7d31 | 4 | select ARCH_SUPPORTS_ATOMIC_RMW |
9170100e | 5 | select ARCH_WANT_OPTIONAL_GPIOLIB |
6212a512 | 6 | select ARCH_WANT_COMPAT_IPC_PARSE_VERSION |
6fa3eb70 | 7 | select ARM_HAS_SG_CHAIN |
b6f35981 | 8 | select ARCH_WANT_FRAME_POINTERS |
25c92a37 | 9 | select ARM_AMBA |
1aee5d7a | 10 | select ARM_ARCH_TIMER |
6fa3eb70 | 11 | select AUDIT_ARCH_COMPAT_GENERIC |
db2789b5 | 12 | select CLONE_BACKWARDS |
7ca2ef33 | 13 | select COMMON_CLK |
6fa3eb70 | 14 | select ARM_GIC |
8c2c3df3 | 15 | select GENERIC_CLOCKEVENTS |
6fa3eb70 S |
16 | select GENERIC_CLOCKEVENTS_BROADCAST if SMP |
17 | select GENERIC_CPU_AUTOPROBE | |
8c2c3df3 CM |
18 | select GENERIC_IOMAP |
19 | select GENERIC_IRQ_PROBE | |
20 | select GENERIC_IRQ_SHOW | |
21 | select GENERIC_SMP_IDLE_THREAD | |
22 | select GENERIC_TIME_VSYSCALL | |
23 | select HARDIRQS_SW_RESEND | |
6fa3eb70 S |
24 | select HAVE_ARCH_JUMP_LABEL |
25 | select HAVE_ARCH_AUDITSYSCALL | |
26 | select HAVE_ARCH_SECCOMP_FILTER | |
27 | select HAVE_ARCH_KGDB | |
8c2c3df3 | 28 | select HAVE_ARCH_TRACEHOOK |
6fa3eb70 | 29 | select HAVE_C_RECORDMCOUNT |
9b2a60c4 | 30 | select HAVE_DEBUG_BUGVERBOSE |
b69ec42b | 31 | select HAVE_DEBUG_KMEMLEAK |
8c2c3df3 CM |
32 | select HAVE_DMA_API_DEBUG |
33 | select HAVE_DMA_ATTRS | |
6fa3eb70 S |
34 | select HAVE_DYNAMIC_FTRACE |
35 | select HAVE_FTRACE_MCOUNT_RECORD | |
36 | select HAVE_FUNCTION_TRACER | |
37 | select HAVE_FUNCTION_GRAPH_TRACER | |
8c2c3df3 CM |
38 | select HAVE_GENERIC_DMA_COHERENT |
39 | select HAVE_GENERIC_HARDIRQS | |
40 | select HAVE_HW_BREAKPOINT if PERF_EVENTS | |
8c2c3df3 CM |
41 | select HAVE_MEMBLOCK |
42 | select HAVE_PERF_EVENTS | |
6fa3eb70 | 43 | select HAVE_SYSCALL_TRACEPOINTS |
8c2c3df3 | 44 | select IRQ_DOMAIN |
fea2acaa | 45 | select MODULES_USE_ELF_RELA |
8c2c3df3 CM |
46 | select NO_BOOTMEM |
47 | select OF | |
48 | select OF_EARLY_FLATTREE | |
6fa3eb70 | 49 | select OF_RESERVED_MEM |
8c2c3df3 | 50 | select PERF_USE_VMALLOC |
aa1e8ec1 CM |
51 | select POWER_RESET |
52 | select POWER_SUPPLY | |
8c2c3df3 CM |
53 | select RTC_LIB |
54 | select SPARSE_IRQ | |
7ac57a89 | 55 | select SYSCTL_EXCEPTION_TRACE |
8c2c3df3 CM |
56 | help |
57 | ARM 64-bit (AArch64) Linux support. | |
58 | ||
6fa3eb70 S |
59 | config ARM_HAS_SG_CHAIN |
60 | def_bool y | |
61 | ||
8c2c3df3 CM |
62 | config 64BIT |
63 | def_bool y | |
64 | ||
65 | config ARCH_PHYS_ADDR_T_64BIT | |
66 | def_bool y | |
67 | ||
68 | config MMU | |
69 | def_bool y | |
70 | ||
71 | config NO_IOPORT | |
72 | def_bool y | |
73 | ||
74 | config STACKTRACE_SUPPORT | |
75 | def_bool y | |
76 | ||
77 | config LOCKDEP_SUPPORT | |
78 | def_bool y | |
79 | ||
80 | config TRACE_IRQFLAGS_SUPPORT | |
81 | def_bool y | |
82 | ||
83 | config GENERIC_LOCKBREAK | |
84 | def_bool y | |
85 | depends on SMP && PREEMPT | |
86 | ||
87 | config RWSEM_GENERIC_SPINLOCK | |
88 | def_bool y | |
89 | ||
6fa3eb70 S |
90 | config ARCH_HAS_CPUFREQ |
91 | bool | |
92 | help | |
93 | Internal node to signify that the ARCH has CPUFREQ support | |
94 | and that the relevant menu configurations are displayed for | |
95 | it. | |
96 | ||
8c2c3df3 CM |
97 | config GENERIC_HWEIGHT |
98 | def_bool y | |
99 | ||
100 | config GENERIC_CSUM | |
101 | def_bool y | |
102 | ||
103 | config GENERIC_CALIBRATE_DELAY | |
104 | def_bool y | |
105 | ||
6fa3eb70 | 106 | config ZONE_DMA |
8c2c3df3 CM |
107 | def_bool y |
108 | ||
109 | config ARCH_DMA_ADDR_T_64BIT | |
110 | def_bool y | |
111 | ||
112 | config NEED_DMA_MAP_STATE | |
113 | def_bool y | |
114 | ||
115 | config NEED_SG_DMA_LENGTH | |
116 | def_bool y | |
117 | ||
118 | config SWIOTLB | |
119 | def_bool y | |
120 | ||
121 | config IOMMU_HELPER | |
122 | def_bool SWIOTLB | |
123 | ||
6fa3eb70 S |
124 | config ARM_ERRATA_824069 |
125 | bool "ARM errata: Cache line might not be marked as clean after a CleanShared snoop" | |
126 | depends on SMP | |
127 | help | |
128 | This option enables the workaround for erratum 824069 | |
129 | affecting Cortex-A53 MPCore with two or more processors (r0p0..r0p2). | |
130 | If a Cortex-A53 processor is executing a store or PLDW instruction at the same time | |
131 | as a processor in another cluster is executing a cache maintenance operation | |
132 | to the same address, then this erratum might cause a clean cache line to be | |
133 | incorrectly marked as dirty. This workaround replaces all cache clean opeartion | |
134 | to clean & invalidate. | |
135 | ||
136 | config KERNEL_MODE_NEON | |
137 | def_bool y | |
138 | ||
8c2c3df3 CM |
139 | source "init/Kconfig" |
140 | ||
141 | source "kernel/Kconfig.freezer" | |
142 | ||
1ae90e79 CM |
143 | menu "Platform selection" |
144 | ||
145 | config ARCH_VEXPRESS | |
146 | bool "ARMv8 software model (Versatile Express)" | |
147 | select ARCH_REQUIRE_GPIOLIB | |
148 | select COMMON_CLK_VERSATILE | |
aa1e8ec1 | 149 | select POWER_RESET_VEXPRESS |
1ae90e79 CM |
150 | select VEXPRESS_CONFIG |
151 | help | |
152 | This enables support for the ARMv8 software model (Versatile | |
153 | Express). | |
8c2c3df3 | 154 | |
6fa3eb70 S |
155 | config ARCH_MT6735 |
156 | bool "MediaTek MT6735" | |
157 | select GENERIC_TIME | |
158 | select GENERIC_CLOCKEVENTS | |
159 | select ARCH_HAS_CPUFREQ | |
160 | select ARM_AMBA | |
161 | select CPU_V7 | |
162 | select HAVE_SMP | |
163 | select NEED_MACH_MEMORY_H | |
164 | select IRQ_DOMAIN | |
165 | select IRQ_DOMAIN_DEBUG | |
166 | select GENERIC_SCHED_CLOCK | |
167 | select MTK_SYSTRACKER | |
168 | select ARMV7_COMPAT | |
169 | select ARMV7_COMPAT_CPUINFO | |
170 | help | |
171 | This enable support for MediaTek MT6735 | |
172 | ||
173 | config ARCH_MT6735M | |
174 | bool "MediaTek MT6735M" | |
175 | select GENERIC_TIME | |
176 | select GENERIC_CLOCKEVENTS | |
177 | select ARCH_HAS_CPUFREQ | |
178 | select ARM_AMBA | |
179 | select CPU_V7 | |
180 | select HAVE_SMP | |
181 | select NEED_MACH_MEMORY_H | |
182 | select IRQ_DOMAIN | |
183 | select IRQ_DOMAIN_DEBUG | |
184 | select GENERIC_SCHED_CLOCK | |
185 | select MTK_SYSTRACKER | |
186 | select ARMV7_COMPAT | |
187 | select ARMV7_COMPAT_CPUINFO | |
188 | help | |
189 | This enable support for MediaTek MT6735M | |
190 | ||
191 | config ARCH_MT6753 | |
192 | bool "MediaTek MT6735M" | |
193 | select GENERIC_TIME | |
194 | select GENERIC_CLOCKEVENTS | |
195 | select ARCH_HAS_CPUFREQ | |
196 | select ARM_AMBA | |
197 | select CPU_V7 | |
198 | select HAVE_SMP | |
199 | select NEED_MACH_MEMORY_H | |
200 | select IRQ_DOMAIN | |
201 | select IRQ_DOMAIN_DEBUG | |
202 | select GENERIC_SCHED_CLOCK | |
203 | select MTK_SYSTRACKER | |
204 | select ARMV7_COMPAT | |
205 | select ARMV7_COMPAT_CPUINFO | |
206 | help | |
207 | This enable support for MediaTek MT6753 | |
208 | ||
209 | config ARCH_MT6752 | |
210 | bool "MediaTek MT6752" | |
211 | select GENERIC_TIME | |
212 | select GENERIC_CLOCKEVENTS | |
213 | select ARCH_HAS_CPUFREQ | |
214 | select ARM_AMBA | |
215 | select CPU_V7 | |
216 | select HAVE_SMP | |
217 | select NEED_MACH_MEMORY_H | |
218 | select IRQ_DOMAIN | |
219 | select IRQ_DOMAIN_DEBUG | |
220 | select GENERIC_SCHED_CLOCK | |
221 | select MTK_SYSTRACKER | |
222 | select MTK_L2C_SHARE | |
223 | select ARCH_REQUIRE_GPIOLIB | |
224 | select MTK_ETM | |
225 | select MTK_EIC | |
226 | select ARMV7_COMPAT | |
227 | select ARMV7_COMPAT_CPUINFO | |
228 | help | |
229 | This enable support for MediaTek MT6752 | |
230 | ||
231 | config ARCH_MT6795 | |
232 | bool "MediaTek MT6795" | |
233 | select GENERIC_TIME | |
234 | select GENERIC_CLOCKEVENTS | |
235 | select ARCH_HAS_CPUFREQ | |
236 | select ARM_AMBA | |
237 | select CPU_V7 | |
238 | select HAVE_SMP | |
239 | select NEED_MACH_MEMORY_H | |
240 | select FIQ_GLUE | |
241 | select IRQ_DOMAIN | |
242 | select IRQ_DOMAIN_DEBUG | |
243 | select GENERIC_SCHED_CLOCK | |
244 | select ARCH_REQUIRE_GPIOLIB | |
245 | select MTK_CIRQ | |
246 | select MTK_CPU_STRESS | |
247 | select MTK_SYSTRACKER | |
248 | select MTK_LASTPC | |
249 | select ARMV7_COMPAT | |
250 | select ARMV7_COMPAT_CPUINFO | |
251 | help | |
252 | This enable support for MediaTek MT6795 | |
8c2c3df3 CM |
253 | endmenu |
254 | ||
6fa3eb70 S |
255 | source "drivers/misc/mediatek/mach/Kconfig" |
256 | ||
8c2c3df3 CM |
257 | menu "Bus support" |
258 | ||
259 | config ARM_AMBA | |
260 | bool | |
261 | ||
262 | endmenu | |
263 | ||
264 | menu "Kernel Features" | |
265 | ||
8c2c3df3 CM |
266 | config ARM64_64K_PAGES |
267 | bool "Enable 64KB pages support" | |
268 | help | |
269 | This feature enables 64KB pages support (4KB by default) | |
270 | allowing only two levels of page tables and faster TLB | |
271 | look-up. AArch32 emulation is not available when this feature | |
272 | is enabled. | |
273 | ||
274 | config SMP | |
275 | bool "Symmetric Multi-Processing" | |
276 | select USE_GENERIC_SMP_HELPERS | |
277 | help | |
278 | This enables support for systems with more than one CPU. If | |
279 | you say N here, the kernel will run on single and | |
280 | multiprocessor machines, but will use only one CPU of a | |
281 | multiprocessor machine. If you say Y here, the kernel will run | |
282 | on many, but not all, single processor machines. On a single | |
283 | processor machine, the kernel will run faster if you say N | |
284 | here. | |
285 | ||
286 | If you don't know what to do here, say N. | |
287 | ||
6fa3eb70 S |
288 | config ARM_CPU_TOPOLOGY |
289 | bool "Support CPU topology definition" | |
290 | depends on SMP | |
291 | default y | |
292 | help | |
293 | Support CPU topology definition, based on configuration | |
294 | provided by the firmware. | |
295 | ||
296 | config SCHED_MC | |
297 | bool "Multi-core scheduler support" | |
298 | depends on ARM_CPU_TOPOLOGY | |
299 | help | |
300 | Multi-core scheduler support improves the CPU scheduler's decision | |
301 | making when dealing with multi-core CPU chips at a cost of slightly | |
302 | increased overhead in some places. If unsure say N here. | |
303 | ||
304 | config SCHED_SMT | |
305 | bool "SMT scheduler support" | |
306 | depends on ARM_CPU_TOPOLOGY | |
307 | help | |
308 | Improves the CPU scheduler's decision making when dealing with | |
309 | MultiThreading at a cost of slightly increased overhead in some | |
310 | places. If unsure say N here. | |
311 | ||
312 | config DISABLE_CPU_SCHED_DOMAIN_BALANCE | |
313 | bool "(EXPERIMENTAL) Disable CPU level scheduler load-balancing" | |
314 | help | |
315 | Disables scheduler load-balancing at CPU sched domain level. | |
316 | ||
317 | config SCHED_HMP | |
318 | bool "(EXPERIMENTAL) Heterogenous multiprocessor scheduling" | |
319 | depends on DISABLE_CPU_SCHED_DOMAIN_BALANCE && SCHED_MC && FAIR_GROUP_SCHED && !SCHED_AUTOGROUP | |
320 | help | |
321 | Experimental scheduler optimizations for heterogeneous platforms. | |
322 | Attempts to introspectively select task affinity to optimize power | |
323 | and performance. Basic support for multiple (>2) cpu types is in place, | |
324 | but it has only been tested with two types of cpus. | |
325 | There is currently no support for migration of task groups, hence | |
326 | !SCHED_AUTOGROUP. Furthermore, normal load-balancing must be disabled | |
327 | between cpus of different type (DISABLE_CPU_SCHED_DOMAIN_BALANCE). | |
328 | ||
329 | config SCHED_HMP_PRIO_FILTER | |
330 | bool "(EXPERIMENTAL) Filter HMP migrations by task priority" | |
331 | depends on SCHED_HMP | |
332 | help | |
333 | Enables task priority based HMP migration filter. Any task with | |
334 | a NICE value above the threshold will always be on low-power cpus | |
335 | with less compute capacity. | |
336 | ||
337 | config SCHED_HMP_PRIO_FILTER_VAL | |
338 | int "NICE priority threshold" | |
339 | default 5 | |
340 | depends on SCHED_HMP_PRIO_FILTER | |
341 | ||
342 | config HMP_FAST_CPU_MASK | |
343 | string "HMP scheduler fast CPU mask" | |
344 | depends on SCHED_HMP | |
345 | help | |
346 | Leave empty to use device tree information. | |
347 | Specify the cpuids of the fast CPUs in the system as a list string, | |
348 | e.g. cpuid 0+1 should be specified as 0-1. | |
349 | ||
350 | config HMP_SLOW_CPU_MASK | |
351 | string "HMP scheduler slow CPU mask" | |
352 | depends on SCHED_HMP | |
353 | help | |
354 | Leave empty to use device tree information. | |
355 | Specify the cpuids of the slow CPUs in the system as a list string, | |
356 | e.g. cpuid 0+1 should be specified as 0-1. | |
357 | ||
358 | config HMP_VARIABLE_SCALE | |
359 | bool "Allows changing the load tracking scale through sysfs" | |
360 | depends on SCHED_HMP | |
361 | help | |
362 | When turned on, this option exports the thresholds and load average | |
363 | period value for the load tracking patches through sysfs. | |
364 | The values can be modified to change the rate of load accumulation | |
365 | and the thresholds used for HMP migration. | |
366 | The load_avg_period_ms is the time in ms to reach a load average of | |
367 | 0.5 for an idle task of 0 load average ratio that start a busy loop. | |
368 | The up_threshold and down_threshold is the value to go to a faster | |
369 | CPU or to go back to a slower cpu. | |
370 | The {up,down}_threshold are devided by 1024 before being compared | |
371 | to the load average. | |
372 | For examples, with load_avg_period_ms = 128 and up_threshold = 512, | |
373 | a running task with a load of 0 will be migrated to a bigger CPU after | |
374 | 128ms, because after 128ms its load_avg_ratio is 0.5 and the real | |
375 | up_threshold is 0.5. | |
376 | This patch has the same behavior as changing the Y of the load | |
377 | average computation to | |
378 | (1002/1024)^(LOAD_AVG_PERIOD/load_avg_period_ms) | |
379 | but it remove intermadiate overflows in computation. | |
380 | ||
381 | config MET_SCHED_HMP | |
382 | bool "(EXPERIMENTAL) MET SCHED HMP Info" | |
383 | depends on SCHED_HMP_ENHANCEMENT | |
384 | depends on HMP_TRACER | |
385 | help | |
386 | MET SCHED HMP Info | |
387 | ||
388 | config HMP_FREQUENCY_INVARIANT_SCALE | |
389 | bool "(EXPERIMENTAL) Frequency-Invariant Tracked Load for HMP" | |
390 | depends on HMP_VARIABLE_SCALE && CPU_FREQ | |
391 | depends on !ARCH_SCALE_INVARIANT_CPU_CAPACITY | |
392 | help | |
393 | Scales the current load contribution in line with the frequency | |
394 | of the CPU that the task was executed on. | |
395 | In this version, we use a simple linear scale derived from the | |
396 | maximum frequency reported by CPUFreq. | |
397 | Restricting tracked load to be scaled by the CPU's frequency | |
398 | represents the consumption of possible compute capacity | |
399 | (rather than consumption of actual instantaneous capacity as | |
400 | normal) and allows the HMP migration's simple threshold | |
401 | migration strategy to interact more predictably with CPUFreq's | |
402 | asynchronous compute capacity changes. | |
403 | ||
404 | config SCHED_HMP_ENHANCEMENT | |
405 | bool "(EXPERIMENTAL) HMP Ennhancement" | |
406 | depends on SCHED_HMP | |
407 | help | |
408 | HMP Ennhancement | |
409 | ||
410 | config HMP_TRACER | |
411 | bool "(EXPERIMENTAL) Profile HMP scheduler" | |
412 | depends on SCHED_HMP_ENHANCEMENT | |
413 | help | |
414 | Profile HMP scheduler | |
415 | ||
416 | config HMP_DYNAMIC_THRESHOLD | |
417 | bool "(EXPERIMENTAL) Dynamically adjust task migration threshold" | |
418 | depends on SCHED_HMP_ENHANCEMENT | |
419 | help | |
420 | Dynamically adjust task migration threshold according to current system load | |
421 | ||
422 | config HMP_GLOBAL_BALANCE | |
423 | bool "(EXPERIMENTAL) Enhance HMP global load balance" | |
424 | depends on SCHED_HMP_ENHANCEMENT | |
425 | help | |
426 | Enhance HMP global load balance | |
427 | ||
428 | config HMP_TASK_ASSIGNMENT | |
429 | bool "(EXPERIMENTAL) Enhance HMP task assignment" | |
430 | depends on SCHED_HMP_ENHANCEMENT | |
431 | help | |
432 | Enhance HMP task assignment | |
433 | ||
434 | config HMP_DISCARD_CFS_SELECTION_RESULT | |
435 | bool "(EXPERIMENTAL) Discard CFS runqueue selection result" | |
436 | depends on SCHED_HMP_ENHANCEMENT && HMP_TASK_ASSIGNMENT | |
437 | help | |
438 | Discard CFS runqueue selection result even if only one cluster exists | |
439 | ||
440 | config HMP_PACK_SMALL_TASK | |
441 | bool "(EXPERIMENTAL) Packing Small Tasks" | |
442 | depends on SCHED_HMP_ENHANCEMENT | |
443 | help | |
444 | This option enables Packing Small Tasks | |
445 | ||
446 | config HMP_PACK_BUDDY_INFO | |
447 | bool "(EXPERIMENTAL) Packing Small Tasks Buddy Information Log" | |
448 | depends on SCHED_HMP_ENHANCEMENT && HMP_PACK_SMALL_TASK | |
449 | help | |
450 | This option enables Packing Small Tasks Buddy Information Log | |
451 | ||
452 | config HMP_LAZY_BALANCE | |
453 | bool "(EXPERIMENTAL) Lazy Balance" | |
454 | depends on SCHED_HMP_ENHANCEMENT && HMP_PACK_SMALL_TASK | |
455 | help | |
456 | This option enables Lazy Balance | |
457 | ||
458 | config HMP_POWER_AWARE_CONTROLLER | |
459 | bool "(EXPERIMENTAL) Power-aware Scheduler for b.L MP Controller" | |
460 | depends on SCHED_HMP_ENHANCEMENT && HMP_PACK_SMALL_TASK && HMP_LAZY_BALANCE | |
461 | help | |
462 | Power-aware scheduler for b.L MP controller and status interface | |
463 | ||
464 | config HEVTASK_INTERFACE | |
465 | bool "task status interface" | |
466 | help | |
467 | The option provide an interface to show task status | |
468 | ||
469 | config ARCH_SCALE_INVARIANT_CPU_CAPACITY | |
470 | bool "(EXPERIMENTAL) Scale-Invariant CPU Compute Capacity Recording" | |
471 | depends on CPU_FREQ | |
472 | help | |
473 | Provides a new measure of maximum and instantaneous CPU compute | |
474 | capacity, derived from a table of relative compute performance | |
475 | for each core type present in the system. The table is an | |
476 | estimate and specific core performance may be different for | |
477 | any particular workload. The measure includes the relative | |
478 | performance and a linear scale of current to maximum frequency | |
479 | such that at maximum frequency (as expressed in the DTB) the | |
480 | reported compute capacity will be equal to the estimated | |
481 | performance from the table. Values range between 0 and 1023 where | |
482 | 1023 is the highest capacity available in the system. | |
483 | ||
8c2c3df3 CM |
484 | config NR_CPUS |
485 | int "Maximum number of CPUs (2-32)" | |
486 | range 2 32 | |
487 | depends on SMP | |
488 | default "4" | |
489 | ||
6fa3eb70 S |
490 | config SWP_EMULATE |
491 | bool "Emulate SWP/SWPB instructions" | |
492 | help | |
493 | ARMv6 architecture deprecates use of the SWP/SWPB instructions. ARMv8 | |
494 | oblosetes the use of SWP/SWPB instructions. ARMv7 multiprocessing | |
495 | extensions introduce the ability to disable these instructions, | |
496 | triggering an undefined instruction exception when executed. Say Y | |
497 | here to enable software emulation of these instructions for userspace | |
498 | (not kernel) using LDREX/STREX. Also creates /proc/cpu/swp_emulation | |
499 | for statistics. | |
500 | ||
501 | In some older versions of glibc [<=2.8] SWP is used during futex | |
502 | trylock() operations with the assumption that the code will not | |
503 | be preempted. This invalid assumption may be more likely to fail | |
504 | with SWP emulation enabled, leading to deadlock of the user | |
505 | application. | |
506 | ||
507 | NOTE: when accessing uncached shared regions, LDREX/STREX rely | |
508 | on an external transaction monitoring block called a global | |
509 | monitor to maintain update atomicity. If your system does not | |
510 | implement a global monitor, this option can cause programs that | |
511 | perform SWP operations to uncached memory to deadlock. | |
512 | ||
513 | If unsure, say Y. | |
514 | ||
515 | config HOTPLUG_CPU | |
516 | bool "Support for hot-pluggable CPUs" | |
517 | depends on SMP | |
518 | help | |
519 | Say Y here to experiment with turning CPUs off and on. CPUs | |
520 | can be controlled through /sys/devices/system/cpu. | |
521 | ||
8c2c3df3 CM |
522 | source kernel/Kconfig.preempt |
523 | ||
524 | config HZ | |
525 | int | |
526 | default 100 | |
527 | ||
528 | config ARCH_HAS_HOLES_MEMORYMODEL | |
529 | def_bool y if SPARSEMEM | |
530 | ||
531 | config ARCH_SPARSEMEM_ENABLE | |
532 | def_bool y | |
533 | select SPARSEMEM_VMEMMAP_ENABLE | |
534 | ||
535 | config ARCH_SPARSEMEM_DEFAULT | |
536 | def_bool ARCH_SPARSEMEM_ENABLE | |
537 | ||
538 | config ARCH_SELECT_MEMORY_MODEL | |
539 | def_bool ARCH_SPARSEMEM_ENABLE | |
540 | ||
541 | config HAVE_ARCH_PFN_VALID | |
542 | def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM | |
543 | ||
544 | config HW_PERF_EVENTS | |
545 | bool "Enable hardware performance counter support for perf events" | |
546 | depends on PERF_EVENTS | |
547 | default y | |
548 | help | |
549 | Enable hardware performance counter support for perf events. If | |
550 | disabled, perf events will use software events only. | |
551 | ||
6fa3eb70 S |
552 | config ARMV7_COMPAT |
553 | bool "Kernel support for ARMv7 applications" | |
554 | depends on COMPAT | |
555 | select SWP_EMULATE | |
556 | help | |
557 | This option enables features that allow that ran on an ARMv7 or older | |
558 | processor to continue functioning. | |
559 | ||
560 | If you want to execute ARMv7 applications, say Y | |
561 | ||
562 | config ARMV7_COMPAT_CPUINFO | |
563 | bool "Report backwards compatible cpu features in /proc/cpuinfo" | |
564 | depends on ARMV7_COMPAT | |
565 | default y | |
566 | help | |
567 | This option makes /proc/cpuinfo list CPU features that an ARMv7 or | |
568 | earlier kernel would report, but are not optional on an ARMv8 or later | |
569 | processor. | |
570 | ||
571 | If you want to execute ARMv7 applications, say Y | |
572 | ||
8c2c3df3 CM |
573 | source "mm/Kconfig" |
574 | ||
6fa3eb70 S |
575 | config SECCOMP |
576 | bool "Enable seccomp to safely compute untrusted bytecode" | |
577 | ---help--- | |
578 | This kernel feature is useful for number crunching applications | |
579 | that may need to compute untrusted bytecode during their | |
580 | execution. By using pipes or other transports made available to | |
581 | the process as file descriptors supporting the read/write | |
582 | syscalls, it's possible to isolate those applications in | |
583 | their own address space using seccomp. Once seccomp is | |
584 | enabled via prctl(PR_SET_SECCOMP), it cannot be disabled | |
585 | and the task is only allowed to execute a few safe syscalls | |
586 | defined by each seccomp mode. | |
587 | ||
588 | ||
8c2c3df3 CM |
589 | endmenu |
590 | ||
591 | menu "Boot options" | |
592 | ||
593 | config CMDLINE | |
594 | string "Default kernel command string" | |
595 | default "" | |
596 | help | |
597 | Provide a set of default command-line options at build time by | |
598 | entering them here. As a minimum, you should specify the the | |
599 | root device (e.g. root=/dev/nfs). | |
600 | ||
6fa3eb70 S |
601 | choice |
602 | prompt "Kernel command line type" if CMDLINE != "" | |
603 | default CMDLINE_FROM_BOOTLOADER | |
604 | ||
605 | config CMDLINE_FROM_BOOTLOADER | |
606 | bool "Use bootloader kernel arguments if available" | |
607 | help | |
608 | Uses the command-line options passed by the boot loader. If | |
609 | the boot loader doesn't provide any, the default kernel command | |
610 | string provided in CMDLINE will be used. | |
611 | ||
612 | config CMDLINE_EXTEND | |
613 | bool "Extend bootloader kernel arguments" | |
614 | help | |
615 | The command-line arguments provided by the boot loader will be | |
616 | appended to the default kernel command string. | |
617 | ||
8c2c3df3 CM |
618 | config CMDLINE_FORCE |
619 | bool "Always use the default kernel command string" | |
620 | help | |
621 | Always use the default kernel command string, even if the boot | |
622 | loader passes other arguments to the kernel. | |
623 | This is useful if you cannot or don't want to change the | |
624 | command-line options your boot loader passes to the kernel. | |
6fa3eb70 S |
625 | endchoice |
626 | ||
627 | config BUILD_ARM64_APPENDED_DTB_IMAGE | |
628 | bool "Build a concatenated Image.gz/dtb by default" | |
629 | depends on OF | |
630 | help | |
631 | Enabling this option will cause a concatenated Image.gz and list of | |
632 | DTBs to be built by default (instead of a standalone Image.gz.) | |
633 | The image will built in arch/arm64/boot/Image.gz-dtb | |
634 | ||
635 | config BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES | |
636 | string "Default dtb names" | |
637 | depends on BUILD_ARM64_APPENDED_DTB_IMAGE | |
638 | help | |
639 | Space separated list of names of dtbs to append when | |
640 | building a concatenated Image.gz-dtb. | |
641 | ||
642 | endmenu | |
643 | ||
644 | menu "CPU Power Management" | |
645 | ||
646 | if ARCH_HAS_CPUFREQ | |
647 | source "drivers/cpufreq/Kconfig" | |
648 | endif | |
8c2c3df3 CM |
649 | |
650 | endmenu | |
651 | ||
652 | menu "Userspace binary formats" | |
653 | ||
654 | source "fs/Kconfig.binfmt" | |
655 | ||
656 | config COMPAT | |
657 | bool "Kernel support for 32-bit EL0" | |
658 | depends on !ARM64_64K_PAGES | |
659 | select COMPAT_BINFMT_ELF | |
af1839eb | 660 | select HAVE_UID16 |
84b9e9b4 | 661 | select OLD_SIGSUSPEND3 |
51682036 | 662 | select COMPAT_OLD_SIGACTION |
8c2c3df3 CM |
663 | help |
664 | This option enables support for a 32-bit EL0 running under a 64-bit | |
665 | kernel at EL1. AArch32-specific components such as system calls, | |
666 | the user helper functions, VFP support and the ptrace interface are | |
667 | handled appropriately by the kernel. | |
668 | ||
669 | If you want to execute 32-bit userspace applications, say Y. | |
670 | ||
671 | config SYSVIPC_COMPAT | |
672 | def_bool y | |
673 | depends on COMPAT && SYSVIPC | |
674 | ||
675 | endmenu | |
676 | ||
6fa3eb70 S |
677 | menu "Power management options" |
678 | ||
679 | source "kernel/power/Kconfig" | |
680 | ||
681 | config ARCH_SUSPEND_POSSIBLE | |
682 | depends on !ARCH_S5PC100 | |
683 | depends on CPU_ARM920T || CPU_ARM926T || CPU_FEROCEON || CPU_SA1100 || \ | |
684 | CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE || CPU_MOHAWK || ARM64 | |
685 | def_bool y | |
686 | ||
687 | config ARM64_CPU_SUSPEND | |
688 | def_bool PM_SLEEP | |
689 | ||
690 | config ARCH_HIBERNATION_POSSIBLE | |
691 | bool | |
692 | depends on MMU | |
693 | default y if ARCH_SUSPEND_POSSIBLE | |
694 | ||
695 | endmenu | |
696 | ||
8c2c3df3 CM |
697 | source "net/Kconfig" |
698 | ||
699 | source "drivers/Kconfig" | |
700 | ||
701 | source "fs/Kconfig" | |
702 | ||
703 | source "arch/arm64/Kconfig.debug" | |
704 | ||
705 | source "security/Kconfig" | |
706 | ||
707 | source "crypto/Kconfig" | |
6fa3eb70 S |
708 | if CRYPTO |
709 | source "arch/arm64/crypto/Kconfig" | |
710 | endif | |
8c2c3df3 CM |
711 | |
712 | source "lib/Kconfig" | |
6fa3eb70 | 713 |