forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/arm/Kconfig
....@@ -2,40 +2,56 @@
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
2534 select ARCH_USE_BUILTIN_BSWAP
2635 select ARCH_USE_CMPXCHG_LOCKREF
36
+ select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
2737 select ARCH_WANT_IPC_PARSE_VERSION
28
- select BUILDTIME_EXTABLE_SORT if MMU
38
+ select ARCH_WANT_LD_ORPHAN_WARN
39
+ select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
40
+ select BUILDTIME_TABLE_SORT if MMU
2941 select CLONE_BACKWARDS
30
- select CPU_PM if (SUSPEND || CPU_IDLE)
42
+ select CPU_PM if SUSPEND || CPU_IDLE
3143 select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
32
- select DMA_DIRECT_OPS if !MMU
44
+ select DMA_DECLARE_COHERENT
45
+ select DMA_OPS
46
+ select DMA_REMAP if MMU
3347 select EDAC_SUPPORT
3448 select EDAC_ATOMIC_SCRUB
3549 select GENERIC_ALLOCATOR
3650 select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
37
- select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
51
+ select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
3852 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
53
+ select GENERIC_IRQ_IPI if SMP
54
+ select ARCH_WANTS_IRQ_RAW if GENERIC_IRQ_IPI
3955 select GENERIC_CPU_AUTOPROBE
4056 select GENERIC_EARLY_IOREMAP
4157 select GENERIC_IDLE_POLL_SETUP
....@@ -49,12 +65,13 @@
4965 select GENERIC_STRNLEN_USER
5066 select HANDLE_DOMAIN_IRQ
5167 select HARDIRQS_SW_RESEND
52
- select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
68
+ select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
5369 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
70
+ select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
5571 select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
5672 select HAVE_ARCH_MMAP_RND_BITS if MMU
57
- select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
73
+ select HAVE_ARCH_SECCOMP
74
+ select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
5875 select HAVE_ARCH_THREAD_STRUCT_WHITELIST
5976 select HAVE_ARCH_TRACEHOOK
6077 select HAVE_ARM_SMCCC if CPU_V7
....@@ -63,17 +80,17 @@
6380 select HAVE_C_RECORDMCOUNT
6481 select HAVE_DEBUG_KMEMLEAK if !XIP_KERNEL
6582 select HAVE_DMA_CONTIGUOUS if MMU
66
- select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
83
+ select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
6784 select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
6885 select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
6986 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)
87
+ select HAVE_FAST_GUP if ARM_LPAE
88
+ select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
89
+ select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
90
+ select HAVE_FUNCTION_TRACER if !XIP_KERNEL
7391 select HAVE_FUTEX_CMPXCHG if FUTEX
7492 select HAVE_GCC_PLUGINS
75
- select HAVE_GENERIC_DMA_COHERENT
76
- select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
93
+ select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
7794 select HAVE_IDE if PCI || ISA || PCMCIA
7895 select HAVE_IRQ_TIME_ACCOUNTING
7996 select HAVE_KERNEL_GZIP
....@@ -82,17 +99,15 @@
8299 select HAVE_KERNEL_LZO
83100 select HAVE_KERNEL_XZ
84101 select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
85
- select HAVE_KRETPROBES if (HAVE_KPROBES)
86
- select HAVE_MEMBLOCK
102
+ select HAVE_KRETPROBES if HAVE_KPROBES
87103 select HAVE_MOD_ARCH_SPECIFIC
88104 select HAVE_NMI
89
- select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
105
+ select HAVE_OPROFILE if HAVE_PERF_EVENTS
90106 select HAVE_OPTPROBES if !THUMB2_KERNEL
91107 select HAVE_PERF_EVENTS
92108 select HAVE_PERF_REGS
93109 select HAVE_PERF_USER_STACK_DUMP
94
- select HAVE_PREEMPT_LAZY
95
- select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
110
+ select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
96111 select HAVE_REGS_AND_STACK_ACCESS_API
97112 select HAVE_RSEQ
98113 select HAVE_STACKPROTECTOR
....@@ -102,14 +117,13 @@
102117 select IRQ_FORCED_THREADING
103118 select MODULES_USE_ELF_REL
104119 select NEED_DMA_MAP_STATE
105
- select NO_BOOTMEM
106120 select OF_EARLY_FLATTREE if OF
107
- select OF_RESERVED_MEM if OF
108121 select OLD_SIGACTION
109122 select OLD_SIGSUSPEND3
123
+ select PCI_SYSCALL if PCI
110124 select PERF_USE_VMALLOC
111
- select REFCOUNT_FULL
112125 select RTC_LIB
126
+ select SET_FS
113127 select SYS_SUPPORTS_APM_EMULATION
114128 # Above selects are sorted alphabetically; please add new ones
115129 # according to that. Thanks.
....@@ -122,7 +136,6 @@
122136 <http://www.arm.linux.org.uk/>.
123137
124138 config ARM_HAS_SG_CHAIN
125
- select ARCH_HAS_SG_CHAIN
126139 bool
127140
128141 config ARM_DMA_USE_IOMMU
....@@ -151,9 +164,6 @@
151164
152165 endif
153166
154
-config MIGHT_HAVE_PCI
155
- bool
156
-
157167 config SYS_SUPPORTS_APM_EMULATION
158168 bool
159169
....@@ -166,21 +176,6 @@
166176
167177 config NO_IOPORT_MAP
168178 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.
184179
185180 config SBUS
186181 bool
....@@ -196,10 +191,6 @@
196191 config TRACE_IRQFLAGS_SUPPORT
197192 bool
198193 default !CPU_V7M
199
-
200
-config RWSEM_XCHGADD_ALGORITHM
201
- bool
202
- default y
203194
204195 config ARCH_HAS_ILOG2_U32
205196 bool
....@@ -280,11 +271,7 @@
280271 depends on !ARM_PATCH_PHYS_VIRT
281272 default DRAM_BASE if !MMU
282273 default 0x00000000 if ARCH_EBSA110 || \
283
- ARCH_FOOTBRIDGE || \
284
- ARCH_INTEGRATOR || \
285
- ARCH_IOP13XX || \
286
- ARCH_KS8695 || \
287
- ARCH_REALVIEW
274
+ ARCH_FOOTBRIDGE
288275 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
289276 default 0x20000000 if ARCH_S5PV210
290277 default 0xc0000000 if ARCH_SA1100
....@@ -330,6 +317,9 @@
330317 config ARCH_MULTIPLATFORM
331318 bool "Allow multiple platforms to be selected"
332319 depends on MMU
320
+ select ARCH_FLATMEM_ENABLE
321
+ select ARCH_SPARSEMEM_ENABLE
322
+ select ARCH_SELECT_MEMORY_MODEL
333323 select ARM_HAS_SG_CHAIN
334324 select ARM_PATCH_PHYS_VIRT
335325 select AUTO_ZRELADDR
....@@ -337,8 +327,8 @@
337327 select COMMON_CLK
338328 select GENERIC_CLOCKEVENTS
339329 select GENERIC_IRQ_MULTI_HANDLER
340
- select MIGHT_HAVE_PCI
341
- select PCI_DOMAINS if PCI
330
+ select HAVE_PCI
331
+ select PCI_DOMAINS_GENERIC if PCI
342332 select SPARSE_IRQ
343333 select USE_OF
344334
....@@ -381,6 +371,7 @@
381371 select CPU_ARM920T
382372 select GENERIC_CLOCKEVENTS
383373 select GPIOLIB
374
+ select HAVE_LEGACY_CLK
384375 help
385376 This enables support for the Cirrus EP93xx series of CPUs.
386377
....@@ -396,28 +387,6 @@
396387 Support for systems based on the DC21285 companion chip
397388 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
398389
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
-
421390 config ARCH_IOP32X
422391 bool "IOP32x-based"
423392 depends on MMU
....@@ -425,35 +394,26 @@
425394 select GPIO_IOP
426395 select GPIOLIB
427396 select NEED_RET_TO_USER
428
- select PCI
397
+ select FORCE_PCI
429398 select PLAT_IOP
430399 help
431400 Support for Intel's 80219 and IOP32X (XScale) family of
432401 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.
445402
446403 config ARCH_IXP4XX
447404 bool "IXP4xx-based"
448405 depends on MMU
449406 select ARCH_HAS_DMA_SET_COHERENT_MASK
450407 select ARCH_SUPPORTS_BIG_ENDIAN
451
- select CLKSRC_MMIO
452408 select CPU_XSCALE
453409 select DMABOUNCE if PCI
454410 select GENERIC_CLOCKEVENTS
411
+ select GENERIC_IRQ_MULTI_HANDLER
412
+ select GPIO_IXP4XX
455413 select GPIOLIB
456
- select MIGHT_HAVE_PCI
414
+ select HAVE_PCI
415
+ select IXP4XX_IRQ
416
+ select IXP4XX_TIMER
457417 select NEED_MACH_IO_H
458418 select USB_EHCI_BIG_ENDIAN_DESC
459419 select USB_EHCI_BIG_ENDIAN_MMIO
....@@ -466,7 +426,7 @@
466426 select GENERIC_CLOCKEVENTS
467427 select GENERIC_IRQ_MULTI_HANDLER
468428 select GPIOLIB
469
- select MIGHT_HAVE_PCI
429
+ select HAVE_PCI
470430 select MVEBU_MBUS
471431 select PINCTRL
472432 select PINCTRL_DOVE
....@@ -476,48 +436,6 @@
476436 help
477437 Support for the Marvell Dove SoC 88AP510
478438
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
-
521439 config ARCH_PXA
522440 bool "PXA2xx/PXA3xx-based"
523441 depends on MMU
....@@ -525,7 +443,6 @@
525443 select ARM_CPU_SUSPEND if PM
526444 select AUTO_ZRELADDR
527445 select COMMON_CLK
528
- select CLKDEV_LOOKUP
529446 select CLKSRC_PXA
530447 select CLKSRC_MMIO
531448 select TIMER_OF
....@@ -547,7 +464,7 @@
547464 select ARCH_ACORN
548465 select ARCH_MAY_HAVE_PC_FDC
549466 select ARCH_SPARSEMEM_ENABLE
550
- select ARCH_USES_GETTIMEOFFSET
467
+ select ARM_HAS_SG_CHAIN
551468 select CPU_SA110
552469 select FIQ
553470 select HAVE_IDE
....@@ -564,10 +481,10 @@
564481 bool "SA1100-based"
565482 select ARCH_MTD_XIP
566483 select ARCH_SPARSEMEM_ENABLE
567
- select CLKDEV_LOOKUP
568484 select CLKSRC_MMIO
569485 select CLKSRC_PXA
570486 select TIMER_OF if OF
487
+ select COMMON_CLK
571488 select CPU_FREQ
572489 select CPU_SA1100
573490 select GENERIC_CLOCKEVENTS
....@@ -584,14 +501,12 @@
584501 config ARCH_S3C24XX
585502 bool "Samsung S3C24XX SoCs"
586503 select ATAGS
587
- select CLKDEV_LOOKUP
588504 select CLKSRC_SAMSUNG_PWM
589505 select GENERIC_CLOCKEVENTS
590506 select GPIO_SAMSUNG
591507 select GPIOLIB
592508 select GENERIC_IRQ_MULTI_HANDLER
593509 select HAVE_S3C2410_I2C if I2C
594
- select HAVE_S3C2410_WATCHDOG if WATCHDOG
595510 select HAVE_S3C_RTC if RTC_CLASS
596511 select NEED_MACH_IO_H
597512 select S3C2410_WATCHDOG
....@@ -604,29 +519,9 @@
604519 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
605520 Samsung SMDK2410 development board (and derivatives).
606521
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
-
626522 config ARCH_OMAP1
627523 bool "TI OMAP1"
628524 depends on MMU
629
- select ARCH_HAS_HOLES_MEMORYMODEL
630525 select ARCH_OMAP
631526 select CLKDEV_LOOKUP
632527 select CLKSRC_MMIO
....@@ -635,6 +530,7 @@
635530 select GENERIC_IRQ_MULTI_HANDLER
636531 select GPIOLIB
637532 select HAVE_IDE
533
+ select HAVE_LEGACY_CLK
638534 select IRQ_DOMAIN
639535 select NEED_MACH_IO_H if PCCARD
640536 select NEED_MACH_MEMORY_H
....@@ -706,6 +602,7 @@
706602 select ARM_GIC_V3_ITS if PCI
707603 select ARM_PSCI
708604 select HAVE_ARM_ARCH_TIMER
605
+ select ARCH_SUPPORTS_BIG_ENDIAN
709606
710607 #
711608 # This is sorted alphabetically by mach-* pathname. However, plat-*
....@@ -743,7 +640,6 @@
743640 source "arch/arm/mach-ep93xx/Kconfig"
744641
745642 source "arch/arm/mach-exynos/Kconfig"
746
-source "arch/arm/plat-samsung/Kconfig"
747643
748644 source "arch/arm/mach-footbridge/Kconfig"
749645
....@@ -757,33 +653,31 @@
757653
758654 source "arch/arm/mach-integrator/Kconfig"
759655
760
-source "arch/arm/mach-iop13xx/Kconfig"
761
-
762656 source "arch/arm/mach-iop32x/Kconfig"
763
-
764
-source "arch/arm/mach-iop33x/Kconfig"
765657
766658 source "arch/arm/mach-ixp4xx/Kconfig"
767659
768660 source "arch/arm/mach-keystone/Kconfig"
769661
770
-source "arch/arm/mach-ks8695/Kconfig"
662
+source "arch/arm/mach-lpc32xx/Kconfig"
771663
772664 source "arch/arm/mach-mediatek/Kconfig"
773665
774666 source "arch/arm/mach-meson/Kconfig"
775667
668
+source "arch/arm/mach-milbeaut/Kconfig"
669
+
776670 source "arch/arm/mach-mmp/Kconfig"
777671
778672 source "arch/arm/mach-moxart/Kconfig"
673
+
674
+source "arch/arm/mach-mstar/Kconfig"
779675
780676 source "arch/arm/mach-mv78xx0/Kconfig"
781677
782678 source "arch/arm/mach-mvebu/Kconfig"
783679
784680 source "arch/arm/mach-mxs/Kconfig"
785
-
786
-source "arch/arm/mach-netx/Kconfig"
787681
788682 source "arch/arm/mach-nomadik/Kconfig"
789683
....@@ -810,13 +704,15 @@
810704
811705 source "arch/arm/mach-qcom/Kconfig"
812706
707
+source "arch/arm/mach-rda/Kconfig"
708
+
709
+source "arch/arm/mach-realtek/Kconfig"
710
+
813711 source "arch/arm/mach-realview/Kconfig"
814712
815713 source "arch/arm/mach-rockchip/Kconfig"
816714
817
-source "arch/arm/mach-s3c24xx/Kconfig"
818
-
819
-source "arch/arm/mach-s3c64xx/Kconfig"
715
+source "arch/arm/mach-s3c/Kconfig"
820716
821717 source "arch/arm/mach-s5pv210/Kconfig"
822718
....@@ -847,11 +743,8 @@
847743 source "arch/arm/mach-versatile/Kconfig"
848744
849745 source "arch/arm/mach-vexpress/Kconfig"
850
-source "arch/arm/plat-versatile/Kconfig"
851746
852747 source "arch/arm/mach-vt8500/Kconfig"
853
-
854
-source "arch/arm/mach-w90x900/Kconfig"
855748
856749 source "arch/arm/mach-zx/Kconfig"
857750
....@@ -914,9 +807,7 @@
914807 config PLAT_VERSATILE
915808 bool
916809
917
-source "arch/arm/firmware/Kconfig"
918
-
919
-source arch/arm/mm/Kconfig
810
+source "arch/arm/mm/Kconfig"
920811
921812 config IWMMXT
922813 bool "Enable iWMMXt support"
....@@ -1134,7 +1025,7 @@
11341025 depends on CPU_V7
11351026 help
11361027 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1137
- r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1028
+ r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
11381029 operation aborts with MMU exception, it might cause the processor
11391030 to deadlock. This workaround puts DSB before executing ISB if
11401031 an abort may occur on cache maintenance.
....@@ -1191,6 +1082,14 @@
11911082 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
11921083 and Device/Strongly-Ordered loads and stores might cause deadlock
11931084
1085
+config ARM_ERRATA_857271
1086
+ bool "ARM errata: A12: CPU might deadlock under some very rare internal conditions"
1087
+ depends on CPU_V7
1088
+ help
1089
+ This option enables the workaround for the 857271 Cortex-A12
1090
+ (all revs) erratum. Under very rare timing conditions, the CPU might
1091
+ hang. The workaround is expected to have a < 1% performance impact.
1092
+
11941093 config ARM_ERRATA_852421
11951094 bool "ARM errata: A17: DMB ST might fail to create order between stores"
11961095 depends on CPU_V7
....@@ -1209,6 +1108,16 @@
12091108 lead to either a data corruption or a CPU deadlock. Not fixed in
12101109 any Cortex-A17 cores yet.
12111110 This is identical to Cortex-A12 erratum 852422. It is a separate
1111
+ config option from the A12 erratum due to the way errata are checked
1112
+ for and handled.
1113
+
1114
+config ARM_ERRATA_857272
1115
+ bool "ARM errata: A17: CPU might deadlock under some very rare internal conditions"
1116
+ depends on CPU_V7
1117
+ help
1118
+ This option enables the workaround for the 857272 Cortex-A17 erratum.
1119
+ This erratum is not known to be fixed in any A17 revision.
1120
+ This is identical to Cortex-A12 erratum 857271. It is a separate
12121121 config option from the A12 erratum due to the way errata are checked
12131122 for and handled.
12141123
....@@ -1236,45 +1145,23 @@
12361145 config ISA_DMA_API
12371146 bool
12381147
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
-
12601148 config PCI_NANOENGINE
12611149 bool "BSE nanoEngine PCI support"
12621150 depends on SA1100_NANOENGINE
12631151 help
12641152 Enable PCI on the BSE nanoEngine board.
12651153
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"
1154
+config ARM_ERRATA_814220
1155
+ bool "ARM errata: Cache maintenance by set/way operations can execute out of order"
1156
+ depends on CPU_V7
1157
+ help
1158
+ The v7 ARM states that all cache and branch predictor maintenance
1159
+ operations that do not specify an address execute, relative to
1160
+ each other, in program order.
1161
+ However, because of this erratum, an L2 set/way cache maintenance
1162
+ operation can overtake an L1 set/way cache maintenance operation.
1163
+ This ERRATA only affected the Cortex-A7 and present in r0p2, r0p3,
1164
+ r0p4, r0p5.
12781165
12791166 endmenu
12801167
....@@ -1307,8 +1194,8 @@
13071194 uniprocessor machines. On a uniprocessor machine, the kernel
13081195 will run faster if you say N here.
13091196
1310
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
1311
- <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
1197
+ See also <file:Documentation/x86/i386/IO-APIC.rst>,
1198
+ <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
13121199 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
13131200
13141201 If you don't know what to do here, say N.
....@@ -1353,19 +1240,17 @@
13531240 config HAVE_ARM_SCU
13541241 bool
13551242 help
1356
- This option enables support for the ARM system coherency unit
1243
+ This option enables support for the ARM snoop control unit
13571244
13581245 config HAVE_ARM_ARCH_TIMER
13591246 bool "Architected timer support"
13601247 depends on CPU_V7
13611248 select ARM_ARCH_TIMER
1362
- select GENERIC_CLOCKEVENTS
13631249 help
13641250 This option enables support for the ARM architected timer
13651251
13661252 config HAVE_ARM_TWD
13671253 bool
1368
- select TIMER_OF if OF
13691254 help
13701255 This options enables support for the ARM timer and watchdog unit
13711256
....@@ -1472,12 +1357,13 @@
14721357 int
14731358 default 2048 if ARCH_SOCFPGA
14741359 default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
1475
- ARCH_ZYNQ
1360
+ ARCH_ZYNQ || ARCH_ASPEED
14761361 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14771362 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14781363 default 416 if ARCH_SUNXI
14791364 default 392 if ARCH_U8500
14801365 default 352 if ARCH_VT8500
1366
+ default 288 if ARCH_ROCKCHIP
14811367 default 264 if MACH_H4700
14821368 default 0
14831369 help
....@@ -1539,37 +1425,6 @@
15391425
15401426 If unsure, say N.
15411427
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
-
15731428 config ARM_PATCH_IDIV
15741429 bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
15751430 depends on CPU_32v7 && !XIP_KERNEL
....@@ -1626,24 +1481,18 @@
16261481 UNPREDICTABLE (in fact it can be predicted that it won't work
16271482 at all). If in doubt say N.
16281483
1629
-config ARCH_HAS_HOLES_MEMORYMODEL
1484
+config ARCH_SELECT_MEMORY_MODEL
1485
+ bool
1486
+
1487
+config ARCH_FLATMEM_ENABLE
16301488 bool
16311489
16321490 config ARCH_SPARSEMEM_ENABLE
16331491 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
1492
+ select SPARSEMEM_STATIC if SPARSEMEM
16401493
16411494 config HAVE_ARCH_PFN_VALID
1642
- def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1643
-
1644
-config HAVE_GENERIC_GUP
16451495 def_bool y
1646
- depends on ARM_LPAE
16471496
16481497 config HIGHMEM
16491498 bool "High Memory Support"
....@@ -1766,20 +1615,6 @@
17661615 However, if the CPU data cache is using a write-allocate mode,
17671616 this option is unlikely to provide any performance gain.
17681617
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
-
17831618 config PARAVIRT
17841619 bool "Enable paravirtualization code"
17851620 help
....@@ -1790,7 +1625,6 @@
17901625 config PARAVIRT_TIME_ACCOUNTING
17911626 bool "Paravirtual steal time accounting"
17921627 select PARAVIRT
1793
- default n
17941628 help
17951629 Select this option to enable fine granularity task steal time
17961630 accounting. Time spent executing other tasks in parallel with
....@@ -1816,6 +1650,21 @@
18161650 select PARAVIRT
18171651 help
18181652 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
1653
+
1654
+config STACKPROTECTOR_PER_TASK
1655
+ bool "Use a unique stack canary value for each task"
1656
+ depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
1657
+ select GCC_PLUGIN_ARM_SSP_PER_TASK
1658
+ default y
1659
+ help
1660
+ Due to the fact that GCC uses an ordinary symbol reference from
1661
+ which to load the value of the stack canary, this value can only
1662
+ change at reboot time on SMP systems, and all tasks running in the
1663
+ kernel's address space are forced to use the same canary value for
1664
+ the entire duration that the system is up.
1665
+
1666
+ Enable this option to switch to a different method that uses a
1667
+ different canary value for each task.
18191668
18201669 endmenu
18211670
....@@ -1849,7 +1698,7 @@
18491698 # TEXT and BSS so we preserve their values in the config files.
18501699 config ZBOOT_ROM_TEXT
18511700 hex "Compressed ROM boot loader base address"
1852
- default "0"
1701
+ default 0x0
18531702 help
18541703 The physical address at which the ROM-able zImage is to be
18551704 placed in the target. Platforms which normally make use of
....@@ -1860,7 +1709,7 @@
18601709
18611710 config ZBOOT_ROM_BSS
18621711 hex "Compressed ROM boot loader BSS address"
1863
- default "0"
1712
+ default 0x0
18641713 help
18651714 The base address of an area of read/write memory in the target
18661715 for the ROM-able zImage which must be available while the
....@@ -1943,7 +1792,6 @@
19431792 choice
19441793 prompt "Kernel command line type" if CMDLINE != ""
19451794 default CMDLINE_FROM_BOOTLOADER
1946
- depends on ATAGS
19471795
19481796 config CMDLINE_FROM_BOOTLOADER
19491797 bool "Use bootloader kernel arguments if available"
....@@ -2041,7 +1889,7 @@
20411889 kdump/kexec. The crash dump kernel must be compiled to a
20421890 memory address not used by the main kernel
20431891
2044
- For more details see Documentation/kdump/kdump.txt
1892
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20451893
20461894 config AUTO_ZRELADDR
20471895 bool "Auto calculation of the decompressed kernel image address"
....@@ -2061,9 +1909,9 @@
20611909 select UCS2_STRING
20621910 select EFI_PARAMS_FROM_FDT
20631911 select EFI_STUB
2064
- select EFI_ARMSTUB
1912
+ select EFI_GENERIC_STUB
20651913 select EFI_RUNTIME_WRAPPERS
2066
- ---help---
1914
+ help
20671915 This option provides support for runtime services provided
20681916 by UEFI firmware (such as non-volatile variables, realtime
20691917 clock, and platform reset). A UEFI stub is also provided to
....@@ -2105,7 +1953,7 @@
21051953 config FPE_NWFPE
21061954 bool "NWFPE math emulation"
21071955 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
2108
- ---help---
1956
+ help
21091957 Say Y to include the NWFPE floating point emulator in the kernel.
21101958 This is necessary to run most binaries. Linux does not currently
21111959 support floating point hardware so you need to say Y here even if
....@@ -2129,7 +1977,7 @@
21291977 config FPE_FASTFPE
21301978 bool "FastFPE math emulation (EXPERIMENTAL)"
21311979 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
2132
- ---help---
1980
+ help
21331981 Say Y here to include the FAST floating point emulator in the kernel.
21341982 This is an experimental much faster emulator which now also has full
21351983 precision for the mantissa. It does not support any exceptions.
....@@ -2147,7 +1995,7 @@
21471995 Say Y to include VFP support code in the kernel. This is needed
21481996 if your hardware includes a VFP unit.
21491997
2150
- Please see <file:Documentation/arm/VFP/release-notes.txt> for
1998
+ Please see <file:Documentation/arm/vfp/release-notes.rst> for
21511999 release notes and additional status information.
21522000
21532001 Say N if your target does not have VFP hardware.
....@@ -2166,7 +2014,7 @@
21662014
21672015 config KERNEL_MODE_NEON
21682016 bool "Support for NEON in kernel mode"
2169
- depends on NEON && AEABI && !PREEMPT_RT_BASE
2017
+ depends on NEON && AEABI
21702018 help
21712019 Say Y to include support for NEON in kernel mode.
21722020
....@@ -2198,4 +2046,4 @@
21982046 source "arch/arm/crypto/Kconfig"
21992047 endif
22002048
2201
-source "arch/arm/kvm/Kconfig"
2049
+source "arch/arm/Kconfig.assembler"