forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
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
77 select ARCH_HAS_DEBUG_VIRTUAL if MMU
88 select ARCH_HAS_DEVMEM_IS_ALLOWED
9
+ select ARCH_HAS_DMA_WRITE_COMBINE if !ARM_DMA_MEM_BUFFERABLE
910 select ARCH_HAS_ELF_RANDOMIZE
1011 select ARCH_HAS_FORTIFY_SOURCE
12
+ select ARCH_HAS_KEEPINITRD
1113 select ARCH_HAS_KCOV
1214 select ARCH_HAS_MEMBARRIER_SYNC_CORE
15
+ select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
1316 select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
1417 select ARCH_HAS_PHYS_TO_DMA
18
+ select ARCH_HAS_SETUP_DMA_OPS
1519 select ARCH_HAS_SET_MEMORY
1620 select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
17
- select ARCH_HAS_STRICT_MODULE_RWX if MMU
21
+ select ARCH_HAS_STRICT_MODULE_RWX if MMU && (!ROCKCHIP_MINI_KERNEL || STRICT_KERNEL_RWX)
22
+ select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB
23
+ select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
24
+ select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
1825 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
1926 select ARCH_HAVE_CUSTOM_GPIO_H
2027 select ARCH_HAS_GCOV_PROFILE_ALL
28
+ select ARCH_KEEP_MEMBLOCK
2129 select ARCH_MIGHT_HAVE_PC_PARPORT
30
+ select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
2231 select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
2332 select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
2433 select ARCH_SUPPORTS_ATOMIC_RMW
34
+ select ARCH_SUPPORTS_RT if HAVE_POSIX_CPU_TIMERS_TASK_WORK
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 && !PREEMPT_RT
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,16 @@
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
94111 select HAVE_PREEMPT_LAZY
95
- select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
112
+ select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
96113 select HAVE_REGS_AND_STACK_ACCESS_API
97114 select HAVE_RSEQ
98115 select HAVE_STACKPROTECTOR
....@@ -102,14 +119,14 @@
102119 select IRQ_FORCED_THREADING
103120 select MODULES_USE_ELF_REL
104121 select NEED_DMA_MAP_STATE
105
- select NO_BOOTMEM
106122 select OF_EARLY_FLATTREE if OF
107
- select OF_RESERVED_MEM if OF
108123 select OLD_SIGACTION
109124 select OLD_SIGSUSPEND3
125
+ select PCI_SYSCALL if PCI
110126 select PERF_USE_VMALLOC
111
- select REFCOUNT_FULL
127
+ select HAVE_POSIX_CPU_TIMERS_TASK_WORK if !KVM
112128 select RTC_LIB
129
+ select SET_FS
113130 select SYS_SUPPORTS_APM_EMULATION
114131 # Above selects are sorted alphabetically; please add new ones
115132 # according to that. Thanks.
....@@ -122,7 +139,6 @@
122139 <http://www.arm.linux.org.uk/>.
123140
124141 config ARM_HAS_SG_CHAIN
125
- select ARCH_HAS_SG_CHAIN
126142 bool
127143
128144 config ARM_DMA_USE_IOMMU
....@@ -151,9 +167,6 @@
151167
152168 endif
153169
154
-config MIGHT_HAVE_PCI
155
- bool
156
-
157170 config SYS_SUPPORTS_APM_EMULATION
158171 bool
159172
....@@ -166,21 +179,6 @@
166179
167180 config NO_IOPORT_MAP
168181 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.
184182
185183 config SBUS
186184 bool
....@@ -196,10 +194,6 @@
196194 config TRACE_IRQFLAGS_SUPPORT
197195 bool
198196 default !CPU_V7M
199
-
200
-config RWSEM_XCHGADD_ALGORITHM
201
- bool
202
- default y
203197
204198 config ARCH_HAS_ILOG2_U32
205199 bool
....@@ -280,11 +274,7 @@
280274 depends on !ARM_PATCH_PHYS_VIRT
281275 default DRAM_BASE if !MMU
282276 default 0x00000000 if ARCH_EBSA110 || \
283
- ARCH_FOOTBRIDGE || \
284
- ARCH_INTEGRATOR || \
285
- ARCH_IOP13XX || \
286
- ARCH_KS8695 || \
287
- ARCH_REALVIEW
277
+ ARCH_FOOTBRIDGE
288278 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
289279 default 0x20000000 if ARCH_S5PV210
290280 default 0xc0000000 if ARCH_SA1100
....@@ -330,6 +320,9 @@
330320 config ARCH_MULTIPLATFORM
331321 bool "Allow multiple platforms to be selected"
332322 depends on MMU
323
+ select ARCH_FLATMEM_ENABLE
324
+ select ARCH_SPARSEMEM_ENABLE
325
+ select ARCH_SELECT_MEMORY_MODEL
333326 select ARM_HAS_SG_CHAIN
334327 select ARM_PATCH_PHYS_VIRT
335328 select AUTO_ZRELADDR
....@@ -337,8 +330,8 @@
337330 select COMMON_CLK
338331 select GENERIC_CLOCKEVENTS
339332 select GENERIC_IRQ_MULTI_HANDLER
340
- select MIGHT_HAVE_PCI
341
- select PCI_DOMAINS if PCI
333
+ select HAVE_PCI
334
+ select PCI_DOMAINS_GENERIC if PCI
342335 select SPARSE_IRQ
343336 select USE_OF
344337
....@@ -381,6 +374,7 @@
381374 select CPU_ARM920T
382375 select GENERIC_CLOCKEVENTS
383376 select GPIOLIB
377
+ select HAVE_LEGACY_CLK
384378 help
385379 This enables support for the Cirrus EP93xx series of CPUs.
386380
....@@ -396,28 +390,6 @@
396390 Support for systems based on the DC21285 companion chip
397391 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
398392
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
-
421393 config ARCH_IOP32X
422394 bool "IOP32x-based"
423395 depends on MMU
....@@ -425,35 +397,26 @@
425397 select GPIO_IOP
426398 select GPIOLIB
427399 select NEED_RET_TO_USER
428
- select PCI
400
+ select FORCE_PCI
429401 select PLAT_IOP
430402 help
431403 Support for Intel's 80219 and IOP32X (XScale) family of
432404 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.
445405
446406 config ARCH_IXP4XX
447407 bool "IXP4xx-based"
448408 depends on MMU
449409 select ARCH_HAS_DMA_SET_COHERENT_MASK
450410 select ARCH_SUPPORTS_BIG_ENDIAN
451
- select CLKSRC_MMIO
452411 select CPU_XSCALE
453412 select DMABOUNCE if PCI
454413 select GENERIC_CLOCKEVENTS
414
+ select GENERIC_IRQ_MULTI_HANDLER
415
+ select GPIO_IXP4XX
455416 select GPIOLIB
456
- select MIGHT_HAVE_PCI
417
+ select HAVE_PCI
418
+ select IXP4XX_IRQ
419
+ select IXP4XX_TIMER
457420 select NEED_MACH_IO_H
458421 select USB_EHCI_BIG_ENDIAN_DESC
459422 select USB_EHCI_BIG_ENDIAN_MMIO
....@@ -466,7 +429,7 @@
466429 select GENERIC_CLOCKEVENTS
467430 select GENERIC_IRQ_MULTI_HANDLER
468431 select GPIOLIB
469
- select MIGHT_HAVE_PCI
432
+ select HAVE_PCI
470433 select MVEBU_MBUS
471434 select PINCTRL
472435 select PINCTRL_DOVE
....@@ -476,48 +439,6 @@
476439 help
477440 Support for the Marvell Dove SoC 88AP510
478441
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
-
521442 config ARCH_PXA
522443 bool "PXA2xx/PXA3xx-based"
523444 depends on MMU
....@@ -525,7 +446,6 @@
525446 select ARM_CPU_SUSPEND if PM
526447 select AUTO_ZRELADDR
527448 select COMMON_CLK
528
- select CLKDEV_LOOKUP
529449 select CLKSRC_PXA
530450 select CLKSRC_MMIO
531451 select TIMER_OF
....@@ -547,7 +467,7 @@
547467 select ARCH_ACORN
548468 select ARCH_MAY_HAVE_PC_FDC
549469 select ARCH_SPARSEMEM_ENABLE
550
- select ARCH_USES_GETTIMEOFFSET
470
+ select ARM_HAS_SG_CHAIN
551471 select CPU_SA110
552472 select FIQ
553473 select HAVE_IDE
....@@ -564,10 +484,10 @@
564484 bool "SA1100-based"
565485 select ARCH_MTD_XIP
566486 select ARCH_SPARSEMEM_ENABLE
567
- select CLKDEV_LOOKUP
568487 select CLKSRC_MMIO
569488 select CLKSRC_PXA
570489 select TIMER_OF if OF
490
+ select COMMON_CLK
571491 select CPU_FREQ
572492 select CPU_SA1100
573493 select GENERIC_CLOCKEVENTS
....@@ -584,14 +504,12 @@
584504 config ARCH_S3C24XX
585505 bool "Samsung S3C24XX SoCs"
586506 select ATAGS
587
- select CLKDEV_LOOKUP
588507 select CLKSRC_SAMSUNG_PWM
589508 select GENERIC_CLOCKEVENTS
590509 select GPIO_SAMSUNG
591510 select GPIOLIB
592511 select GENERIC_IRQ_MULTI_HANDLER
593512 select HAVE_S3C2410_I2C if I2C
594
- select HAVE_S3C2410_WATCHDOG if WATCHDOG
595513 select HAVE_S3C_RTC if RTC_CLASS
596514 select NEED_MACH_IO_H
597515 select S3C2410_WATCHDOG
....@@ -604,29 +522,9 @@
604522 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
605523 Samsung SMDK2410 development board (and derivatives).
606524
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
-
626525 config ARCH_OMAP1
627526 bool "TI OMAP1"
628527 depends on MMU
629
- select ARCH_HAS_HOLES_MEMORYMODEL
630528 select ARCH_OMAP
631529 select CLKDEV_LOOKUP
632530 select CLKSRC_MMIO
....@@ -635,6 +533,7 @@
635533 select GENERIC_IRQ_MULTI_HANDLER
636534 select GPIOLIB
637535 select HAVE_IDE
536
+ select HAVE_LEGACY_CLK
638537 select IRQ_DOMAIN
639538 select NEED_MACH_IO_H if PCCARD
640539 select NEED_MACH_MEMORY_H
....@@ -706,6 +605,7 @@
706605 select ARM_GIC_V3_ITS if PCI
707606 select ARM_PSCI
708607 select HAVE_ARM_ARCH_TIMER
608
+ select ARCH_SUPPORTS_BIG_ENDIAN
709609
710610 #
711611 # This is sorted alphabetically by mach-* pathname. However, plat-*
....@@ -743,7 +643,6 @@
743643 source "arch/arm/mach-ep93xx/Kconfig"
744644
745645 source "arch/arm/mach-exynos/Kconfig"
746
-source "arch/arm/plat-samsung/Kconfig"
747646
748647 source "arch/arm/mach-footbridge/Kconfig"
749648
....@@ -757,33 +656,31 @@
757656
758657 source "arch/arm/mach-integrator/Kconfig"
759658
760
-source "arch/arm/mach-iop13xx/Kconfig"
761
-
762659 source "arch/arm/mach-iop32x/Kconfig"
763
-
764
-source "arch/arm/mach-iop33x/Kconfig"
765660
766661 source "arch/arm/mach-ixp4xx/Kconfig"
767662
768663 source "arch/arm/mach-keystone/Kconfig"
769664
770
-source "arch/arm/mach-ks8695/Kconfig"
665
+source "arch/arm/mach-lpc32xx/Kconfig"
771666
772667 source "arch/arm/mach-mediatek/Kconfig"
773668
774669 source "arch/arm/mach-meson/Kconfig"
775670
671
+source "arch/arm/mach-milbeaut/Kconfig"
672
+
776673 source "arch/arm/mach-mmp/Kconfig"
777674
778675 source "arch/arm/mach-moxart/Kconfig"
676
+
677
+source "arch/arm/mach-mstar/Kconfig"
779678
780679 source "arch/arm/mach-mv78xx0/Kconfig"
781680
782681 source "arch/arm/mach-mvebu/Kconfig"
783682
784683 source "arch/arm/mach-mxs/Kconfig"
785
-
786
-source "arch/arm/mach-netx/Kconfig"
787684
788685 source "arch/arm/mach-nomadik/Kconfig"
789686
....@@ -810,13 +707,15 @@
810707
811708 source "arch/arm/mach-qcom/Kconfig"
812709
710
+source "arch/arm/mach-rda/Kconfig"
711
+
712
+source "arch/arm/mach-realtek/Kconfig"
713
+
813714 source "arch/arm/mach-realview/Kconfig"
814715
815716 source "arch/arm/mach-rockchip/Kconfig"
816717
817
-source "arch/arm/mach-s3c24xx/Kconfig"
818
-
819
-source "arch/arm/mach-s3c64xx/Kconfig"
718
+source "arch/arm/mach-s3c/Kconfig"
820719
821720 source "arch/arm/mach-s5pv210/Kconfig"
822721
....@@ -847,11 +746,8 @@
847746 source "arch/arm/mach-versatile/Kconfig"
848747
849748 source "arch/arm/mach-vexpress/Kconfig"
850
-source "arch/arm/plat-versatile/Kconfig"
851749
852750 source "arch/arm/mach-vt8500/Kconfig"
853
-
854
-source "arch/arm/mach-w90x900/Kconfig"
855751
856752 source "arch/arm/mach-zx/Kconfig"
857753
....@@ -914,9 +810,7 @@
914810 config PLAT_VERSATILE
915811 bool
916812
917
-source "arch/arm/firmware/Kconfig"
918
-
919
-source arch/arm/mm/Kconfig
813
+source "arch/arm/mm/Kconfig"
920814
921815 config IWMMXT
922816 bool "Enable iWMMXt support"
....@@ -1134,7 +1028,7 @@
11341028 depends on CPU_V7
11351029 help
11361030 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1137
- r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1031
+ r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
11381032 operation aborts with MMU exception, it might cause the processor
11391033 to deadlock. This workaround puts DSB before executing ISB if
11401034 an abort may occur on cache maintenance.
....@@ -1191,6 +1085,14 @@
11911085 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
11921086 and Device/Strongly-Ordered loads and stores might cause deadlock
11931087
1088
+config ARM_ERRATA_857271
1089
+ bool "ARM errata: A12: CPU might deadlock under some very rare internal conditions"
1090
+ depends on CPU_V7
1091
+ help
1092
+ This option enables the workaround for the 857271 Cortex-A12
1093
+ (all revs) erratum. Under very rare timing conditions, the CPU might
1094
+ hang. The workaround is expected to have a < 1% performance impact.
1095
+
11941096 config ARM_ERRATA_852421
11951097 bool "ARM errata: A17: DMB ST might fail to create order between stores"
11961098 depends on CPU_V7
....@@ -1209,6 +1111,16 @@
12091111 lead to either a data corruption or a CPU deadlock. Not fixed in
12101112 any Cortex-A17 cores yet.
12111113 This is identical to Cortex-A12 erratum 852422. It is a separate
1114
+ config option from the A12 erratum due to the way errata are checked
1115
+ for and handled.
1116
+
1117
+config ARM_ERRATA_857272
1118
+ bool "ARM errata: A17: CPU might deadlock under some very rare internal conditions"
1119
+ depends on CPU_V7
1120
+ help
1121
+ This option enables the workaround for the 857272 Cortex-A17 erratum.
1122
+ This erratum is not known to be fixed in any A17 revision.
1123
+ This is identical to Cortex-A12 erratum 857271. It is a separate
12121124 config option from the A12 erratum due to the way errata are checked
12131125 for and handled.
12141126
....@@ -1236,45 +1148,23 @@
12361148 config ISA_DMA_API
12371149 bool
12381150
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
-
12601151 config PCI_NANOENGINE
12611152 bool "BSE nanoEngine PCI support"
12621153 depends on SA1100_NANOENGINE
12631154 help
12641155 Enable PCI on the BSE nanoEngine board.
12651156
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"
1157
+config ARM_ERRATA_814220
1158
+ bool "ARM errata: Cache maintenance by set/way operations can execute out of order"
1159
+ depends on CPU_V7
1160
+ help
1161
+ The v7 ARM states that all cache and branch predictor maintenance
1162
+ operations that do not specify an address execute, relative to
1163
+ each other, in program order.
1164
+ However, because of this erratum, an L2 set/way cache maintenance
1165
+ operation can overtake an L1 set/way cache maintenance operation.
1166
+ This ERRATA only affected the Cortex-A7 and present in r0p2, r0p3,
1167
+ r0p4, r0p5.
12781168
12791169 endmenu
12801170
....@@ -1307,8 +1197,8 @@
13071197 uniprocessor machines. On a uniprocessor machine, the kernel
13081198 will run faster if you say N here.
13091199
1310
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
1311
- <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
1200
+ See also <file:Documentation/x86/i386/IO-APIC.rst>,
1201
+ <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
13121202 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
13131203
13141204 If you don't know what to do here, say N.
....@@ -1353,19 +1243,17 @@
13531243 config HAVE_ARM_SCU
13541244 bool
13551245 help
1356
- This option enables support for the ARM system coherency unit
1246
+ This option enables support for the ARM snoop control unit
13571247
13581248 config HAVE_ARM_ARCH_TIMER
13591249 bool "Architected timer support"
13601250 depends on CPU_V7
13611251 select ARM_ARCH_TIMER
1362
- select GENERIC_CLOCKEVENTS
13631252 help
13641253 This option enables support for the ARM architected timer
13651254
13661255 config HAVE_ARM_TWD
13671256 bool
1368
- select TIMER_OF if OF
13691257 help
13701258 This options enables support for the ARM timer and watchdog unit
13711259
....@@ -1472,12 +1360,13 @@
14721360 int
14731361 default 2048 if ARCH_SOCFPGA
14741362 default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
1475
- ARCH_ZYNQ
1363
+ ARCH_ZYNQ || ARCH_ASPEED
14761364 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14771365 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14781366 default 416 if ARCH_SUNXI
14791367 default 392 if ARCH_U8500
14801368 default 352 if ARCH_VT8500
1369
+ default 288 if ARCH_ROCKCHIP
14811370 default 264 if MACH_H4700
14821371 default 0
14831372 help
....@@ -1539,37 +1428,6 @@
15391428
15401429 If unsure, say N.
15411430
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
-
15731431 config ARM_PATCH_IDIV
15741432 bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
15751433 depends on CPU_32v7 && !XIP_KERNEL
....@@ -1626,28 +1484,23 @@
16261484 UNPREDICTABLE (in fact it can be predicted that it won't work
16271485 at all). If in doubt say N.
16281486
1629
-config ARCH_HAS_HOLES_MEMORYMODEL
1487
+config ARCH_SELECT_MEMORY_MODEL
1488
+ bool
1489
+
1490
+config ARCH_FLATMEM_ENABLE
16301491 bool
16311492
16321493 config ARCH_SPARSEMEM_ENABLE
16331494 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
1495
+ select SPARSEMEM_STATIC if SPARSEMEM
16401496
16411497 config HAVE_ARCH_PFN_VALID
1642
- def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1643
-
1644
-config HAVE_GENERIC_GUP
16451498 def_bool y
1646
- depends on ARM_LPAE
16471499
16481500 config HIGHMEM
16491501 bool "High Memory Support"
16501502 depends on MMU
1503
+ select KMAP_LOCAL
16511504 help
16521505 The address space of ARM processors is only 4 Gigabytes large
16531506 and it has to accommodate user address space, kernel address
....@@ -1766,20 +1619,6 @@
17661619 However, if the CPU data cache is using a write-allocate mode,
17671620 this option is unlikely to provide any performance gain.
17681621
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
-
17831622 config PARAVIRT
17841623 bool "Enable paravirtualization code"
17851624 help
....@@ -1790,7 +1629,6 @@
17901629 config PARAVIRT_TIME_ACCOUNTING
17911630 bool "Paravirtual steal time accounting"
17921631 select PARAVIRT
1793
- default n
17941632 help
17951633 Select this option to enable fine granularity task steal time
17961634 accounting. Time spent executing other tasks in parallel with
....@@ -1816,6 +1654,21 @@
18161654 select PARAVIRT
18171655 help
18181656 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
1657
+
1658
+config STACKPROTECTOR_PER_TASK
1659
+ bool "Use a unique stack canary value for each task"
1660
+ depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
1661
+ select GCC_PLUGIN_ARM_SSP_PER_TASK
1662
+ default y
1663
+ help
1664
+ Due to the fact that GCC uses an ordinary symbol reference from
1665
+ which to load the value of the stack canary, this value can only
1666
+ change at reboot time on SMP systems, and all tasks running in the
1667
+ kernel's address space are forced to use the same canary value for
1668
+ the entire duration that the system is up.
1669
+
1670
+ Enable this option to switch to a different method that uses a
1671
+ different canary value for each task.
18191672
18201673 endmenu
18211674
....@@ -1849,7 +1702,7 @@
18491702 # TEXT and BSS so we preserve their values in the config files.
18501703 config ZBOOT_ROM_TEXT
18511704 hex "Compressed ROM boot loader base address"
1852
- default "0"
1705
+ default 0x0
18531706 help
18541707 The physical address at which the ROM-able zImage is to be
18551708 placed in the target. Platforms which normally make use of
....@@ -1860,7 +1713,7 @@
18601713
18611714 config ZBOOT_ROM_BSS
18621715 hex "Compressed ROM boot loader BSS address"
1863
- default "0"
1716
+ default 0x0
18641717 help
18651718 The base address of an area of read/write memory in the target
18661719 for the ROM-able zImage which must be available while the
....@@ -1943,7 +1796,6 @@
19431796 choice
19441797 prompt "Kernel command line type" if CMDLINE != ""
19451798 default CMDLINE_FROM_BOOTLOADER
1946
- depends on ATAGS
19471799
19481800 config CMDLINE_FROM_BOOTLOADER
19491801 bool "Use bootloader kernel arguments if available"
....@@ -2041,7 +1893,7 @@
20411893 kdump/kexec. The crash dump kernel must be compiled to a
20421894 memory address not used by the main kernel
20431895
2044
- For more details see Documentation/kdump/kdump.txt
1896
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20451897
20461898 config AUTO_ZRELADDR
20471899 bool "Auto calculation of the decompressed kernel image address"
....@@ -2061,9 +1913,9 @@
20611913 select UCS2_STRING
20621914 select EFI_PARAMS_FROM_FDT
20631915 select EFI_STUB
2064
- select EFI_ARMSTUB
1916
+ select EFI_GENERIC_STUB
20651917 select EFI_RUNTIME_WRAPPERS
2066
- ---help---
1918
+ help
20671919 This option provides support for runtime services provided
20681920 by UEFI firmware (such as non-volatile variables, realtime
20691921 clock, and platform reset). A UEFI stub is also provided to
....@@ -2105,7 +1957,7 @@
21051957 config FPE_NWFPE
21061958 bool "NWFPE math emulation"
21071959 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
2108
- ---help---
1960
+ help
21091961 Say Y to include the NWFPE floating point emulator in the kernel.
21101962 This is necessary to run most binaries. Linux does not currently
21111963 support floating point hardware so you need to say Y here even if
....@@ -2129,7 +1981,7 @@
21291981 config FPE_FASTFPE
21301982 bool "FastFPE math emulation (EXPERIMENTAL)"
21311983 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
2132
- ---help---
1984
+ help
21331985 Say Y here to include the FAST floating point emulator in the kernel.
21341986 This is an experimental much faster emulator which now also has full
21351987 precision for the mantissa. It does not support any exceptions.
....@@ -2147,7 +1999,7 @@
21471999 Say Y to include VFP support code in the kernel. This is needed
21482000 if your hardware includes a VFP unit.
21492001
2150
- Please see <file:Documentation/arm/VFP/release-notes.txt> for
2002
+ Please see <file:Documentation/arm/vfp/release-notes.rst> for
21512003 release notes and additional status information.
21522004
21532005 Say N if your target does not have VFP hardware.
....@@ -2166,7 +2018,7 @@
21662018
21672019 config KERNEL_MODE_NEON
21682020 bool "Support for NEON in kernel mode"
2169
- depends on NEON && AEABI && !PREEMPT_RT_BASE
2021
+ depends on NEON && AEABI
21702022 help
21712023 Say Y to include support for NEON in kernel mode.
21722024
....@@ -2198,4 +2050,4 @@
21982050 source "arch/arm/crypto/Kconfig"
21992051 endif
22002052
2201
-source "arch/arm/kvm/Kconfig"
2053
+source "arch/arm/Kconfig.assembler"