hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/arm/Kconfig
....@@ -2,40 +2,57 @@
22 config ARM
33 bool
44 default y
5
- select ARCH_CLOCKSOURCE_DATA
6
- select ARCH_DISCARD_MEMBLOCK if !HAVE_ARCH_PFN_VALID && !KEXEC
5
+ select ARCH_32BIT_OFF_T
6
+ select ARCH_HAS_BINFMT_FLAT
7
+ select ARCH_HAS_CPU_FINALIZE_INIT if MMU
78 select ARCH_HAS_DEBUG_VIRTUAL if MMU
89 select ARCH_HAS_DEVMEM_IS_ALLOWED
10
+ select ARCH_HAS_DMA_WRITE_COMBINE if !ARM_DMA_MEM_BUFFERABLE
911 select ARCH_HAS_ELF_RANDOMIZE
1012 select ARCH_HAS_FORTIFY_SOURCE
13
+ select ARCH_HAS_KEEPINITRD
1114 select ARCH_HAS_KCOV
1215 select ARCH_HAS_MEMBARRIER_SYNC_CORE
16
+ select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
1317 select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
1418 select ARCH_HAS_PHYS_TO_DMA
19
+ select ARCH_HAS_SETUP_DMA_OPS
1520 select ARCH_HAS_SET_MEMORY
1621 select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
17
- select ARCH_HAS_STRICT_MODULE_RWX if MMU
22
+ select ARCH_HAS_STRICT_MODULE_RWX if MMU && (!ROCKCHIP_MINI_KERNEL || STRICT_KERNEL_RWX)
23
+ select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB
24
+ select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
25
+ select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
1826 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
1927 select ARCH_HAVE_CUSTOM_GPIO_H
2028 select ARCH_HAS_GCOV_PROFILE_ALL
29
+ select ARCH_KEEP_MEMBLOCK
2130 select ARCH_MIGHT_HAVE_PC_PARPORT
31
+ select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
2232 select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
2333 select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
2434 select ARCH_SUPPORTS_ATOMIC_RMW
2535 select ARCH_USE_BUILTIN_BSWAP
2636 select ARCH_USE_CMPXCHG_LOCKREF
37
+ select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
2738 select ARCH_WANT_IPC_PARSE_VERSION
28
- select BUILDTIME_EXTABLE_SORT if MMU
39
+ select ARCH_WANT_LD_ORPHAN_WARN
40
+ select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
41
+ select BUILDTIME_TABLE_SORT if MMU
2942 select CLONE_BACKWARDS
30
- select CPU_PM if (SUSPEND || CPU_IDLE)
43
+ select CPU_PM if SUSPEND || CPU_IDLE
3144 select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
32
- select DMA_DIRECT_OPS if !MMU
45
+ select DMA_DECLARE_COHERENT
46
+ select DMA_OPS
47
+ select DMA_REMAP if MMU
3348 select EDAC_SUPPORT
3449 select EDAC_ATOMIC_SCRUB
3550 select GENERIC_ALLOCATOR
3651 select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
37
- select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
52
+ select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
3853 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
54
+ select GENERIC_IRQ_IPI if SMP
55
+ select ARCH_WANTS_IRQ_RAW if GENERIC_IRQ_IPI
3956 select GENERIC_CPU_AUTOPROBE
4057 select GENERIC_EARLY_IOREMAP
4158 select GENERIC_IDLE_POLL_SETUP
....@@ -49,12 +66,13 @@
4966 select GENERIC_STRNLEN_USER
5067 select HANDLE_DOMAIN_IRQ
5168 select HARDIRQS_SW_RESEND
52
- select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
69
+ select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
5370 select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
54
- select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU && !PREEMPT_RT_BASE
71
+ select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
5572 select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
5673 select HAVE_ARCH_MMAP_RND_BITS if MMU
57
- select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
74
+ select HAVE_ARCH_SECCOMP
75
+ select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
5876 select HAVE_ARCH_THREAD_STRUCT_WHITELIST
5977 select HAVE_ARCH_TRACEHOOK
6078 select HAVE_ARM_SMCCC if CPU_V7
....@@ -63,17 +81,17 @@
6381 select HAVE_C_RECORDMCOUNT
6482 select HAVE_DEBUG_KMEMLEAK if !XIP_KERNEL
6583 select HAVE_DMA_CONTIGUOUS if MMU
66
- select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
84
+ select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
6785 select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
6886 select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
6987 select HAVE_EXIT_THREAD
70
- select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
71
- select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
72
- select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) && (CC_IS_GCC || CLANG_VERSION >= 100000)
88
+ select HAVE_FAST_GUP if ARM_LPAE
89
+ select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
90
+ select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
91
+ select HAVE_FUNCTION_TRACER if !XIP_KERNEL
7392 select HAVE_FUTEX_CMPXCHG if FUTEX
7493 select HAVE_GCC_PLUGINS
75
- select HAVE_GENERIC_DMA_COHERENT
76
- select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
94
+ select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
7795 select HAVE_IDE if PCI || ISA || PCMCIA
7896 select HAVE_IRQ_TIME_ACCOUNTING
7997 select HAVE_KERNEL_GZIP
....@@ -82,17 +100,15 @@
82100 select HAVE_KERNEL_LZO
83101 select HAVE_KERNEL_XZ
84102 select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
85
- select HAVE_KRETPROBES if (HAVE_KPROBES)
86
- select HAVE_MEMBLOCK
103
+ select HAVE_KRETPROBES if HAVE_KPROBES
87104 select HAVE_MOD_ARCH_SPECIFIC
88105 select HAVE_NMI
89
- select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
106
+ select HAVE_OPROFILE if HAVE_PERF_EVENTS
90107 select HAVE_OPTPROBES if !THUMB2_KERNEL
91108 select HAVE_PERF_EVENTS
92109 select HAVE_PERF_REGS
93110 select HAVE_PERF_USER_STACK_DUMP
94
- select HAVE_PREEMPT_LAZY
95
- select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
111
+ select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
96112 select HAVE_REGS_AND_STACK_ACCESS_API
97113 select HAVE_RSEQ
98114 select HAVE_STACKPROTECTOR
....@@ -102,14 +118,13 @@
102118 select IRQ_FORCED_THREADING
103119 select MODULES_USE_ELF_REL
104120 select NEED_DMA_MAP_STATE
105
- select NO_BOOTMEM
106121 select OF_EARLY_FLATTREE if OF
107
- select OF_RESERVED_MEM if OF
108122 select OLD_SIGACTION
109123 select OLD_SIGSUSPEND3
124
+ select PCI_SYSCALL if PCI
110125 select PERF_USE_VMALLOC
111
- select REFCOUNT_FULL
112126 select RTC_LIB
127
+ select SET_FS
113128 select SYS_SUPPORTS_APM_EMULATION
114129 # Above selects are sorted alphabetically; please add new ones
115130 # according to that. Thanks.
....@@ -122,7 +137,6 @@
122137 <http://www.arm.linux.org.uk/>.
123138
124139 config ARM_HAS_SG_CHAIN
125
- select ARCH_HAS_SG_CHAIN
126140 bool
127141
128142 config ARM_DMA_USE_IOMMU
....@@ -151,9 +165,6 @@
151165
152166 endif
153167
154
-config MIGHT_HAVE_PCI
155
- bool
156
-
157168 config SYS_SUPPORTS_APM_EMULATION
158169 bool
159170
....@@ -166,21 +177,6 @@
166177
167178 config NO_IOPORT_MAP
168179 bool
169
-
170
-config EISA
171
- bool
172
- ---help---
173
- The Extended Industry Standard Architecture (EISA) bus was
174
- developed as an open alternative to the IBM MicroChannel bus.
175
-
176
- The EISA bus provided some of the features of the IBM MicroChannel
177
- bus while maintaining backward compatibility with cards made for
178
- the older ISA bus. The EISA bus saw limited use between 1988 and
179
- 1995 when it was made obsolete by the PCI bus.
180
-
181
- Say Y here if you are building a kernel for an EISA-based machine.
182
-
183
- Otherwise, say N.
184180
185181 config SBUS
186182 bool
....@@ -196,10 +192,6 @@
196192 config TRACE_IRQFLAGS_SUPPORT
197193 bool
198194 default !CPU_V7M
199
-
200
-config RWSEM_XCHGADD_ALGORITHM
201
- bool
202
- default y
203195
204196 config ARCH_HAS_ILOG2_U32
205197 bool
....@@ -280,11 +272,7 @@
280272 depends on !ARM_PATCH_PHYS_VIRT
281273 default DRAM_BASE if !MMU
282274 default 0x00000000 if ARCH_EBSA110 || \
283
- ARCH_FOOTBRIDGE || \
284
- ARCH_INTEGRATOR || \
285
- ARCH_IOP13XX || \
286
- ARCH_KS8695 || \
287
- ARCH_REALVIEW
275
+ ARCH_FOOTBRIDGE
288276 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
289277 default 0x20000000 if ARCH_S5PV210
290278 default 0xc0000000 if ARCH_SA1100
....@@ -330,6 +318,9 @@
330318 config ARCH_MULTIPLATFORM
331319 bool "Allow multiple platforms to be selected"
332320 depends on MMU
321
+ select ARCH_FLATMEM_ENABLE
322
+ select ARCH_SPARSEMEM_ENABLE
323
+ select ARCH_SELECT_MEMORY_MODEL
333324 select ARM_HAS_SG_CHAIN
334325 select ARM_PATCH_PHYS_VIRT
335326 select AUTO_ZRELADDR
....@@ -337,8 +328,8 @@
337328 select COMMON_CLK
338329 select GENERIC_CLOCKEVENTS
339330 select GENERIC_IRQ_MULTI_HANDLER
340
- select MIGHT_HAVE_PCI
341
- select PCI_DOMAINS if PCI
331
+ select HAVE_PCI
332
+ select PCI_DOMAINS_GENERIC if PCI
342333 select SPARSE_IRQ
343334 select USE_OF
344335
....@@ -381,6 +372,7 @@
381372 select CPU_ARM920T
382373 select GENERIC_CLOCKEVENTS
383374 select GPIOLIB
375
+ select HAVE_LEGACY_CLK
384376 help
385377 This enables support for the Cirrus EP93xx series of CPUs.
386378
....@@ -396,28 +388,6 @@
396388 Support for systems based on the DC21285 companion chip
397389 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
398390
399
-config ARCH_NETX
400
- bool "Hilscher NetX based"
401
- select ARM_VIC
402
- select CLKSRC_MMIO
403
- select CPU_ARM926T
404
- select GENERIC_CLOCKEVENTS
405
- help
406
- This enables support for systems based on the Hilscher NetX Soc
407
-
408
-config ARCH_IOP13XX
409
- bool "IOP13xx-based"
410
- depends on MMU
411
- select CPU_XSC3
412
- select NEED_MACH_MEMORY_H
413
- select NEED_RET_TO_USER
414
- select PCI
415
- select PLAT_IOP
416
- select VMSPLIT_1G
417
- select SPARSE_IRQ
418
- help
419
- Support for Intel's IOP13XX (XScale) family of processors.
420
-
421391 config ARCH_IOP32X
422392 bool "IOP32x-based"
423393 depends on MMU
....@@ -425,35 +395,26 @@
425395 select GPIO_IOP
426396 select GPIOLIB
427397 select NEED_RET_TO_USER
428
- select PCI
398
+ select FORCE_PCI
429399 select PLAT_IOP
430400 help
431401 Support for Intel's 80219 and IOP32X (XScale) family of
432402 processors.
433
-
434
-config ARCH_IOP33X
435
- bool "IOP33x-based"
436
- depends on MMU
437
- select CPU_XSCALE
438
- select GPIO_IOP
439
- select GPIOLIB
440
- select NEED_RET_TO_USER
441
- select PCI
442
- select PLAT_IOP
443
- help
444
- Support for Intel's IOP33X (XScale) family of processors.
445403
446404 config ARCH_IXP4XX
447405 bool "IXP4xx-based"
448406 depends on MMU
449407 select ARCH_HAS_DMA_SET_COHERENT_MASK
450408 select ARCH_SUPPORTS_BIG_ENDIAN
451
- select CLKSRC_MMIO
452409 select CPU_XSCALE
453410 select DMABOUNCE if PCI
454411 select GENERIC_CLOCKEVENTS
412
+ select GENERIC_IRQ_MULTI_HANDLER
413
+ select GPIO_IXP4XX
455414 select GPIOLIB
456
- select MIGHT_HAVE_PCI
415
+ select HAVE_PCI
416
+ select IXP4XX_IRQ
417
+ select IXP4XX_TIMER
457418 select NEED_MACH_IO_H
458419 select USB_EHCI_BIG_ENDIAN_DESC
459420 select USB_EHCI_BIG_ENDIAN_MMIO
....@@ -466,7 +427,7 @@
466427 select GENERIC_CLOCKEVENTS
467428 select GENERIC_IRQ_MULTI_HANDLER
468429 select GPIOLIB
469
- select MIGHT_HAVE_PCI
430
+ select HAVE_PCI
470431 select MVEBU_MBUS
471432 select PINCTRL
472433 select PINCTRL_DOVE
....@@ -476,48 +437,6 @@
476437 help
477438 Support for the Marvell Dove SoC 88AP510
478439
479
-config ARCH_KS8695
480
- bool "Micrel/Kendin KS8695"
481
- select CLKSRC_MMIO
482
- select CPU_ARM922T
483
- select GENERIC_CLOCKEVENTS
484
- select GPIOLIB
485
- select NEED_MACH_MEMORY_H
486
- help
487
- Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
488
- System-on-Chip devices.
489
-
490
-config ARCH_W90X900
491
- bool "Nuvoton W90X900 CPU"
492
- select CLKDEV_LOOKUP
493
- select CLKSRC_MMIO
494
- select CPU_ARM926T
495
- select GENERIC_CLOCKEVENTS
496
- select GPIOLIB
497
- help
498
- Support for Nuvoton (Winbond logic dept.) ARM9 processor,
499
- At present, the w90x900 has been renamed nuc900, regarding
500
- the ARM series product line, you can login the following
501
- link address to know more.
502
-
503
- <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
504
- ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
505
-
506
-config ARCH_LPC32XX
507
- bool "NXP LPC32XX"
508
- select ARM_AMBA
509
- select CLKDEV_LOOKUP
510
- select CLKSRC_LPC32XX
511
- select COMMON_CLK
512
- select CPU_ARM926T
513
- select GENERIC_CLOCKEVENTS
514
- select GENERIC_IRQ_MULTI_HANDLER
515
- select GPIOLIB
516
- select SPARSE_IRQ
517
- select USE_OF
518
- help
519
- Support for the NXP LPC32XX family of processors
520
-
521440 config ARCH_PXA
522441 bool "PXA2xx/PXA3xx-based"
523442 depends on MMU
....@@ -525,7 +444,6 @@
525444 select ARM_CPU_SUSPEND if PM
526445 select AUTO_ZRELADDR
527446 select COMMON_CLK
528
- select CLKDEV_LOOKUP
529447 select CLKSRC_PXA
530448 select CLKSRC_MMIO
531449 select TIMER_OF
....@@ -547,7 +465,7 @@
547465 select ARCH_ACORN
548466 select ARCH_MAY_HAVE_PC_FDC
549467 select ARCH_SPARSEMEM_ENABLE
550
- select ARCH_USES_GETTIMEOFFSET
468
+ select ARM_HAS_SG_CHAIN
551469 select CPU_SA110
552470 select FIQ
553471 select HAVE_IDE
....@@ -564,10 +482,10 @@
564482 bool "SA1100-based"
565483 select ARCH_MTD_XIP
566484 select ARCH_SPARSEMEM_ENABLE
567
- select CLKDEV_LOOKUP
568485 select CLKSRC_MMIO
569486 select CLKSRC_PXA
570487 select TIMER_OF if OF
488
+ select COMMON_CLK
571489 select CPU_FREQ
572490 select CPU_SA1100
573491 select GENERIC_CLOCKEVENTS
....@@ -584,14 +502,12 @@
584502 config ARCH_S3C24XX
585503 bool "Samsung S3C24XX SoCs"
586504 select ATAGS
587
- select CLKDEV_LOOKUP
588505 select CLKSRC_SAMSUNG_PWM
589506 select GENERIC_CLOCKEVENTS
590507 select GPIO_SAMSUNG
591508 select GPIOLIB
592509 select GENERIC_IRQ_MULTI_HANDLER
593510 select HAVE_S3C2410_I2C if I2C
594
- select HAVE_S3C2410_WATCHDOG if WATCHDOG
595511 select HAVE_S3C_RTC if RTC_CLASS
596512 select NEED_MACH_IO_H
597513 select S3C2410_WATCHDOG
....@@ -604,29 +520,9 @@
604520 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
605521 Samsung SMDK2410 development board (and derivatives).
606522
607
-config ARCH_DAVINCI
608
- bool "TI DaVinci"
609
- select ARCH_HAS_HOLES_MEMORYMODEL
610
- select COMMON_CLK
611
- select CPU_ARM926T
612
- select GENERIC_ALLOCATOR
613
- select GENERIC_CLOCKEVENTS
614
- select GENERIC_IRQ_CHIP
615
- select GPIOLIB
616
- select HAVE_IDE
617
- select PM_GENERIC_DOMAINS if PM
618
- select PM_GENERIC_DOMAINS_OF if PM && OF
619
- select REGMAP_MMIO
620
- select RESET_CONTROLLER
621
- select USE_OF
622
- select ZONE_DMA
623
- help
624
- Support for TI's DaVinci platform.
625
-
626523 config ARCH_OMAP1
627524 bool "TI OMAP1"
628525 depends on MMU
629
- select ARCH_HAS_HOLES_MEMORYMODEL
630526 select ARCH_OMAP
631527 select CLKDEV_LOOKUP
632528 select CLKSRC_MMIO
....@@ -635,6 +531,7 @@
635531 select GENERIC_IRQ_MULTI_HANDLER
636532 select GPIOLIB
637533 select HAVE_IDE
534
+ select HAVE_LEGACY_CLK
638535 select IRQ_DOMAIN
639536 select NEED_MACH_IO_H if PCCARD
640537 select NEED_MACH_MEMORY_H
....@@ -706,6 +603,7 @@
706603 select ARM_GIC_V3_ITS if PCI
707604 select ARM_PSCI
708605 select HAVE_ARM_ARCH_TIMER
606
+ select ARCH_SUPPORTS_BIG_ENDIAN
709607
710608 #
711609 # This is sorted alphabetically by mach-* pathname. However, plat-*
....@@ -743,7 +641,6 @@
743641 source "arch/arm/mach-ep93xx/Kconfig"
744642
745643 source "arch/arm/mach-exynos/Kconfig"
746
-source "arch/arm/plat-samsung/Kconfig"
747644
748645 source "arch/arm/mach-footbridge/Kconfig"
749646
....@@ -757,33 +654,31 @@
757654
758655 source "arch/arm/mach-integrator/Kconfig"
759656
760
-source "arch/arm/mach-iop13xx/Kconfig"
761
-
762657 source "arch/arm/mach-iop32x/Kconfig"
763
-
764
-source "arch/arm/mach-iop33x/Kconfig"
765658
766659 source "arch/arm/mach-ixp4xx/Kconfig"
767660
768661 source "arch/arm/mach-keystone/Kconfig"
769662
770
-source "arch/arm/mach-ks8695/Kconfig"
663
+source "arch/arm/mach-lpc32xx/Kconfig"
771664
772665 source "arch/arm/mach-mediatek/Kconfig"
773666
774667 source "arch/arm/mach-meson/Kconfig"
775668
669
+source "arch/arm/mach-milbeaut/Kconfig"
670
+
776671 source "arch/arm/mach-mmp/Kconfig"
777672
778673 source "arch/arm/mach-moxart/Kconfig"
674
+
675
+source "arch/arm/mach-mstar/Kconfig"
779676
780677 source "arch/arm/mach-mv78xx0/Kconfig"
781678
782679 source "arch/arm/mach-mvebu/Kconfig"
783680
784681 source "arch/arm/mach-mxs/Kconfig"
785
-
786
-source "arch/arm/mach-netx/Kconfig"
787682
788683 source "arch/arm/mach-nomadik/Kconfig"
789684
....@@ -810,13 +705,15 @@
810705
811706 source "arch/arm/mach-qcom/Kconfig"
812707
708
+source "arch/arm/mach-rda/Kconfig"
709
+
710
+source "arch/arm/mach-realtek/Kconfig"
711
+
813712 source "arch/arm/mach-realview/Kconfig"
814713
815714 source "arch/arm/mach-rockchip/Kconfig"
816715
817
-source "arch/arm/mach-s3c24xx/Kconfig"
818
-
819
-source "arch/arm/mach-s3c64xx/Kconfig"
716
+source "arch/arm/mach-s3c/Kconfig"
820717
821718 source "arch/arm/mach-s5pv210/Kconfig"
822719
....@@ -847,11 +744,8 @@
847744 source "arch/arm/mach-versatile/Kconfig"
848745
849746 source "arch/arm/mach-vexpress/Kconfig"
850
-source "arch/arm/plat-versatile/Kconfig"
851747
852748 source "arch/arm/mach-vt8500/Kconfig"
853
-
854
-source "arch/arm/mach-w90x900/Kconfig"
855749
856750 source "arch/arm/mach-zx/Kconfig"
857751
....@@ -914,9 +808,7 @@
914808 config PLAT_VERSATILE
915809 bool
916810
917
-source "arch/arm/firmware/Kconfig"
918
-
919
-source arch/arm/mm/Kconfig
811
+source "arch/arm/mm/Kconfig"
920812
921813 config IWMMXT
922814 bool "Enable iWMMXt support"
....@@ -1134,7 +1026,7 @@
11341026 depends on CPU_V7
11351027 help
11361028 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1137
- r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1029
+ r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
11381030 operation aborts with MMU exception, it might cause the processor
11391031 to deadlock. This workaround puts DSB before executing ISB if
11401032 an abort may occur on cache maintenance.
....@@ -1191,6 +1083,14 @@
11911083 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
11921084 and Device/Strongly-Ordered loads and stores might cause deadlock
11931085
1086
+config ARM_ERRATA_857271
1087
+ bool "ARM errata: A12: CPU might deadlock under some very rare internal conditions"
1088
+ depends on CPU_V7
1089
+ help
1090
+ This option enables the workaround for the 857271 Cortex-A12
1091
+ (all revs) erratum. Under very rare timing conditions, the CPU might
1092
+ hang. The workaround is expected to have a < 1% performance impact.
1093
+
11941094 config ARM_ERRATA_852421
11951095 bool "ARM errata: A17: DMB ST might fail to create order between stores"
11961096 depends on CPU_V7
....@@ -1209,6 +1109,16 @@
12091109 lead to either a data corruption or a CPU deadlock. Not fixed in
12101110 any Cortex-A17 cores yet.
12111111 This is identical to Cortex-A12 erratum 852422. It is a separate
1112
+ config option from the A12 erratum due to the way errata are checked
1113
+ for and handled.
1114
+
1115
+config ARM_ERRATA_857272
1116
+ bool "ARM errata: A17: CPU might deadlock under some very rare internal conditions"
1117
+ depends on CPU_V7
1118
+ help
1119
+ This option enables the workaround for the 857272 Cortex-A17 erratum.
1120
+ This erratum is not known to be fixed in any A17 revision.
1121
+ This is identical to Cortex-A12 erratum 857271. It is a separate
12121122 config option from the A12 erratum due to the way errata are checked
12131123 for and handled.
12141124
....@@ -1236,45 +1146,23 @@
12361146 config ISA_DMA_API
12371147 bool
12381148
1239
-config PCI
1240
- bool "PCI support" if MIGHT_HAVE_PCI
1241
- help
1242
- Find out whether you have a PCI motherboard. PCI is the name of a
1243
- bus system, i.e. the way the CPU talks to the other stuff inside
1244
- your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1245
- VESA. If you have PCI, say Y, otherwise N.
1246
-
1247
-config PCI_DOMAINS
1248
- bool "Support for multiple PCI domains"
1249
- depends on PCI
1250
- help
1251
- Enable PCI domains kernel management. Say Y if your machine
1252
- has a PCI bus hierarchy that requires more than one PCI
1253
- domain (aka segment) to be correctly managed. Say N otherwise.
1254
-
1255
- If you don't know what to do here, say N.
1256
-
1257
-config PCI_DOMAINS_GENERIC
1258
- def_bool PCI_DOMAINS
1259
-
12601149 config PCI_NANOENGINE
12611150 bool "BSE nanoEngine PCI support"
12621151 depends on SA1100_NANOENGINE
12631152 help
12641153 Enable PCI on the BSE nanoEngine board.
12651154
1266
-config PCI_SYSCALL
1267
- def_bool PCI
1268
-
1269
-config PCI_HOST_ITE8152
1270
- bool
1271
- depends on PCI && MACH_ARMCORE
1272
- default y
1273
- select DMABOUNCE
1274
-
1275
-source "drivers/pci/Kconfig"
1276
-
1277
-source "drivers/pcmcia/Kconfig"
1155
+config ARM_ERRATA_814220
1156
+ bool "ARM errata: Cache maintenance by set/way operations can execute out of order"
1157
+ depends on CPU_V7
1158
+ help
1159
+ The v7 ARM states that all cache and branch predictor maintenance
1160
+ operations that do not specify an address execute, relative to
1161
+ each other, in program order.
1162
+ However, because of this erratum, an L2 set/way cache maintenance
1163
+ operation can overtake an L1 set/way cache maintenance operation.
1164
+ This ERRATA only affected the Cortex-A7 and present in r0p2, r0p3,
1165
+ r0p4, r0p5.
12781166
12791167 endmenu
12801168
....@@ -1307,8 +1195,8 @@
13071195 uniprocessor machines. On a uniprocessor machine, the kernel
13081196 will run faster if you say N here.
13091197
1310
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
1311
- <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
1198
+ See also <file:Documentation/x86/i386/IO-APIC.rst>,
1199
+ <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
13121200 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
13131201
13141202 If you don't know what to do here, say N.
....@@ -1353,19 +1241,17 @@
13531241 config HAVE_ARM_SCU
13541242 bool
13551243 help
1356
- This option enables support for the ARM system coherency unit
1244
+ This option enables support for the ARM snoop control unit
13571245
13581246 config HAVE_ARM_ARCH_TIMER
13591247 bool "Architected timer support"
13601248 depends on CPU_V7
13611249 select ARM_ARCH_TIMER
1362
- select GENERIC_CLOCKEVENTS
13631250 help
13641251 This option enables support for the ARM architected timer
13651252
13661253 config HAVE_ARM_TWD
13671254 bool
1368
- select TIMER_OF if OF
13691255 help
13701256 This options enables support for the ARM timer and watchdog unit
13711257
....@@ -1472,12 +1358,13 @@
14721358 int
14731359 default 2048 if ARCH_SOCFPGA
14741360 default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
1475
- ARCH_ZYNQ
1361
+ ARCH_ZYNQ || ARCH_ASPEED
14761362 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14771363 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14781364 default 416 if ARCH_SUNXI
14791365 default 392 if ARCH_U8500
14801366 default 352 if ARCH_VT8500
1367
+ default 288 if ARCH_ROCKCHIP
14811368 default 264 if MACH_H4700
14821369 default 0
14831370 help
....@@ -1539,37 +1426,6 @@
15391426
15401427 If unsure, say N.
15411428
1542
-config THUMB2_AVOID_R_ARM_THM_JUMP11
1543
- bool "Work around buggy Thumb-2 short branch relocations in gas"
1544
- depends on THUMB2_KERNEL && MODULES
1545
- default y
1546
- help
1547
- Various binutils versions can resolve Thumb-2 branches to
1548
- locally-defined, preemptible global symbols as short-range "b.n"
1549
- branch instructions.
1550
-
1551
- This is a problem, because there's no guarantee the final
1552
- destination of the symbol, or any candidate locations for a
1553
- trampoline, are within range of the branch. For this reason, the
1554
- kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1555
- relocation in modules at all, and it makes little sense to add
1556
- support.
1557
-
1558
- The symptom is that the kernel fails with an "unsupported
1559
- relocation" error when loading some modules.
1560
-
1561
- Until fixed tools are available, passing
1562
- -fno-optimize-sibling-calls to gcc should prevent gcc generating
1563
- code which hits this problem, at the cost of a bit of extra runtime
1564
- stack usage in some cases.
1565
-
1566
- The problem is described in more detail at:
1567
- https://bugs.launchpad.net/binutils-linaro/+bug/725126
1568
-
1569
- Only Thumb-2 kernels are affected.
1570
-
1571
- Unless you are sure your tools don't have this problem, say Y.
1572
-
15731429 config ARM_PATCH_IDIV
15741430 bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
15751431 depends on CPU_32v7 && !XIP_KERNEL
....@@ -1626,24 +1482,18 @@
16261482 UNPREDICTABLE (in fact it can be predicted that it won't work
16271483 at all). If in doubt say N.
16281484
1629
-config ARCH_HAS_HOLES_MEMORYMODEL
1485
+config ARCH_SELECT_MEMORY_MODEL
1486
+ bool
1487
+
1488
+config ARCH_FLATMEM_ENABLE
16301489 bool
16311490
16321491 config ARCH_SPARSEMEM_ENABLE
16331492 bool
1634
-
1635
-config ARCH_SPARSEMEM_DEFAULT
1636
- def_bool ARCH_SPARSEMEM_ENABLE
1637
-
1638
-config ARCH_SELECT_MEMORY_MODEL
1639
- def_bool ARCH_SPARSEMEM_ENABLE
1493
+ select SPARSEMEM_STATIC if SPARSEMEM
16401494
16411495 config HAVE_ARCH_PFN_VALID
1642
- def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1643
-
1644
-config HAVE_GENERIC_GUP
16451496 def_bool y
1646
- depends on ARM_LPAE
16471497
16481498 config HIGHMEM
16491499 bool "High Memory Support"
....@@ -1766,20 +1616,6 @@
17661616 However, if the CPU data cache is using a write-allocate mode,
17671617 this option is unlikely to provide any performance gain.
17681618
1769
-config SECCOMP
1770
- bool
1771
- prompt "Enable seccomp to safely compute untrusted bytecode"
1772
- ---help---
1773
- This kernel feature is useful for number crunching applications
1774
- that may need to compute untrusted bytecode during their
1775
- execution. By using pipes or other transports made available to
1776
- the process as file descriptors supporting the read/write
1777
- syscalls, it's possible to isolate those applications in
1778
- their own address space using seccomp. Once seccomp is
1779
- enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1780
- and the task is only allowed to execute a few safe syscalls
1781
- defined by each seccomp mode.
1782
-
17831619 config PARAVIRT
17841620 bool "Enable paravirtualization code"
17851621 help
....@@ -1790,7 +1626,6 @@
17901626 config PARAVIRT_TIME_ACCOUNTING
17911627 bool "Paravirtual steal time accounting"
17921628 select PARAVIRT
1793
- default n
17941629 help
17951630 Select this option to enable fine granularity task steal time
17961631 accounting. Time spent executing other tasks in parallel with
....@@ -1816,6 +1651,21 @@
18161651 select PARAVIRT
18171652 help
18181653 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
1654
+
1655
+config STACKPROTECTOR_PER_TASK
1656
+ bool "Use a unique stack canary value for each task"
1657
+ depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
1658
+ select GCC_PLUGIN_ARM_SSP_PER_TASK
1659
+ default y
1660
+ help
1661
+ Due to the fact that GCC uses an ordinary symbol reference from
1662
+ which to load the value of the stack canary, this value can only
1663
+ change at reboot time on SMP systems, and all tasks running in the
1664
+ kernel's address space are forced to use the same canary value for
1665
+ the entire duration that the system is up.
1666
+
1667
+ Enable this option to switch to a different method that uses a
1668
+ different canary value for each task.
18191669
18201670 endmenu
18211671
....@@ -1849,7 +1699,7 @@
18491699 # TEXT and BSS so we preserve their values in the config files.
18501700 config ZBOOT_ROM_TEXT
18511701 hex "Compressed ROM boot loader base address"
1852
- default "0"
1702
+ default 0x0
18531703 help
18541704 The physical address at which the ROM-able zImage is to be
18551705 placed in the target. Platforms which normally make use of
....@@ -1860,7 +1710,7 @@
18601710
18611711 config ZBOOT_ROM_BSS
18621712 hex "Compressed ROM boot loader BSS address"
1863
- default "0"
1713
+ default 0x0
18641714 help
18651715 The base address of an area of read/write memory in the target
18661716 for the ROM-able zImage which must be available while the
....@@ -1943,7 +1793,6 @@
19431793 choice
19441794 prompt "Kernel command line type" if CMDLINE != ""
19451795 default CMDLINE_FROM_BOOTLOADER
1946
- depends on ATAGS
19471796
19481797 config CMDLINE_FROM_BOOTLOADER
19491798 bool "Use bootloader kernel arguments if available"
....@@ -2041,7 +1890,7 @@
20411890 kdump/kexec. The crash dump kernel must be compiled to a
20421891 memory address not used by the main kernel
20431892
2044
- For more details see Documentation/kdump/kdump.txt
1893
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20451894
20461895 config AUTO_ZRELADDR
20471896 bool "Auto calculation of the decompressed kernel image address"
....@@ -2061,9 +1910,9 @@
20611910 select UCS2_STRING
20621911 select EFI_PARAMS_FROM_FDT
20631912 select EFI_STUB
2064
- select EFI_ARMSTUB
1913
+ select EFI_GENERIC_STUB
20651914 select EFI_RUNTIME_WRAPPERS
2066
- ---help---
1915
+ help
20671916 This option provides support for runtime services provided
20681917 by UEFI firmware (such as non-volatile variables, realtime
20691918 clock, and platform reset). A UEFI stub is also provided to
....@@ -2105,7 +1954,7 @@
21051954 config FPE_NWFPE
21061955 bool "NWFPE math emulation"
21071956 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
2108
- ---help---
1957
+ help
21091958 Say Y to include the NWFPE floating point emulator in the kernel.
21101959 This is necessary to run most binaries. Linux does not currently
21111960 support floating point hardware so you need to say Y here even if
....@@ -2129,7 +1978,7 @@
21291978 config FPE_FASTFPE
21301979 bool "FastFPE math emulation (EXPERIMENTAL)"
21311980 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
2132
- ---help---
1981
+ help
21331982 Say Y here to include the FAST floating point emulator in the kernel.
21341983 This is an experimental much faster emulator which now also has full
21351984 precision for the mantissa. It does not support any exceptions.
....@@ -2147,7 +1996,7 @@
21471996 Say Y to include VFP support code in the kernel. This is needed
21481997 if your hardware includes a VFP unit.
21491998
2150
- Please see <file:Documentation/arm/VFP/release-notes.txt> for
1999
+ Please see <file:Documentation/arm/vfp/release-notes.rst> for
21512000 release notes and additional status information.
21522001
21532002 Say N if your target does not have VFP hardware.
....@@ -2166,7 +2015,7 @@
21662015
21672016 config KERNEL_MODE_NEON
21682017 bool "Support for NEON in kernel mode"
2169
- depends on NEON && AEABI && !PREEMPT_RT_BASE
2018
+ depends on NEON && AEABI
21702019 help
21712020 Say Y to include support for NEON in kernel mode.
21722021
....@@ -2198,4 +2047,4 @@
21982047 source "arch/arm/crypto/Kconfig"
21992048 endif
22002049
2201
-source "arch/arm/kvm/Kconfig"
2050
+source "arch/arm/Kconfig.assembler"