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
5470 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,16 +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_RCU_TABLE_FREE if (SMP && ARM_LPAE)
110
+ select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
95111 select HAVE_REGS_AND_STACK_ACCESS_API
96112 select HAVE_RSEQ
97113 select HAVE_STACKPROTECTOR
....@@ -101,14 +117,13 @@
101117 select IRQ_FORCED_THREADING
102118 select MODULES_USE_ELF_REL
103119 select NEED_DMA_MAP_STATE
104
- select NO_BOOTMEM
105120 select OF_EARLY_FLATTREE if OF
106
- select OF_RESERVED_MEM if OF
107121 select OLD_SIGACTION
108122 select OLD_SIGSUSPEND3
123
+ select PCI_SYSCALL if PCI
109124 select PERF_USE_VMALLOC
110
- select REFCOUNT_FULL
111125 select RTC_LIB
126
+ select SET_FS
112127 select SYS_SUPPORTS_APM_EMULATION
113128 # Above selects are sorted alphabetically; please add new ones
114129 # according to that. Thanks.
....@@ -121,7 +136,6 @@
121136 <http://www.arm.linux.org.uk/>.
122137
123138 config ARM_HAS_SG_CHAIN
124
- select ARCH_HAS_SG_CHAIN
125139 bool
126140
127141 config ARM_DMA_USE_IOMMU
....@@ -150,9 +164,6 @@
150164
151165 endif
152166
153
-config MIGHT_HAVE_PCI
154
- bool
155
-
156167 config SYS_SUPPORTS_APM_EMULATION
157168 bool
158169
....@@ -165,21 +176,6 @@
165176
166177 config NO_IOPORT_MAP
167178 bool
168
-
169
-config EISA
170
- bool
171
- ---help---
172
- The Extended Industry Standard Architecture (EISA) bus was
173
- developed as an open alternative to the IBM MicroChannel bus.
174
-
175
- The EISA bus provided some of the features of the IBM MicroChannel
176
- bus while maintaining backward compatibility with cards made for
177
- the older ISA bus. The EISA bus saw limited use between 1988 and
178
- 1995 when it was made obsolete by the PCI bus.
179
-
180
- Say Y here if you are building a kernel for an EISA-based machine.
181
-
182
- Otherwise, say N.
183179
184180 config SBUS
185181 bool
....@@ -195,10 +191,6 @@
195191 config TRACE_IRQFLAGS_SUPPORT
196192 bool
197193 default !CPU_V7M
198
-
199
-config RWSEM_XCHGADD_ALGORITHM
200
- bool
201
- default y
202194
203195 config ARCH_HAS_ILOG2_U32
204196 bool
....@@ -279,11 +271,7 @@
279271 depends on !ARM_PATCH_PHYS_VIRT
280272 default DRAM_BASE if !MMU
281273 default 0x00000000 if ARCH_EBSA110 || \
282
- ARCH_FOOTBRIDGE || \
283
- ARCH_INTEGRATOR || \
284
- ARCH_IOP13XX || \
285
- ARCH_KS8695 || \
286
- ARCH_REALVIEW
274
+ ARCH_FOOTBRIDGE
287275 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
288276 default 0x20000000 if ARCH_S5PV210
289277 default 0xc0000000 if ARCH_SA1100
....@@ -329,6 +317,9 @@
329317 config ARCH_MULTIPLATFORM
330318 bool "Allow multiple platforms to be selected"
331319 depends on MMU
320
+ select ARCH_FLATMEM_ENABLE
321
+ select ARCH_SPARSEMEM_ENABLE
322
+ select ARCH_SELECT_MEMORY_MODEL
332323 select ARM_HAS_SG_CHAIN
333324 select ARM_PATCH_PHYS_VIRT
334325 select AUTO_ZRELADDR
....@@ -336,8 +327,8 @@
336327 select COMMON_CLK
337328 select GENERIC_CLOCKEVENTS
338329 select GENERIC_IRQ_MULTI_HANDLER
339
- select MIGHT_HAVE_PCI
340
- select PCI_DOMAINS if PCI
330
+ select HAVE_PCI
331
+ select PCI_DOMAINS_GENERIC if PCI
341332 select SPARSE_IRQ
342333 select USE_OF
343334
....@@ -380,6 +371,7 @@
380371 select CPU_ARM920T
381372 select GENERIC_CLOCKEVENTS
382373 select GPIOLIB
374
+ select HAVE_LEGACY_CLK
383375 help
384376 This enables support for the Cirrus EP93xx series of CPUs.
385377
....@@ -395,28 +387,6 @@
395387 Support for systems based on the DC21285 companion chip
396388 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
397389
398
-config ARCH_NETX
399
- bool "Hilscher NetX based"
400
- select ARM_VIC
401
- select CLKSRC_MMIO
402
- select CPU_ARM926T
403
- select GENERIC_CLOCKEVENTS
404
- help
405
- This enables support for systems based on the Hilscher NetX Soc
406
-
407
-config ARCH_IOP13XX
408
- bool "IOP13xx-based"
409
- depends on MMU
410
- select CPU_XSC3
411
- select NEED_MACH_MEMORY_H
412
- select NEED_RET_TO_USER
413
- select PCI
414
- select PLAT_IOP
415
- select VMSPLIT_1G
416
- select SPARSE_IRQ
417
- help
418
- Support for Intel's IOP13XX (XScale) family of processors.
419
-
420390 config ARCH_IOP32X
421391 bool "IOP32x-based"
422392 depends on MMU
....@@ -424,35 +394,26 @@
424394 select GPIO_IOP
425395 select GPIOLIB
426396 select NEED_RET_TO_USER
427
- select PCI
397
+ select FORCE_PCI
428398 select PLAT_IOP
429399 help
430400 Support for Intel's 80219 and IOP32X (XScale) family of
431401 processors.
432
-
433
-config ARCH_IOP33X
434
- bool "IOP33x-based"
435
- depends on MMU
436
- select CPU_XSCALE
437
- select GPIO_IOP
438
- select GPIOLIB
439
- select NEED_RET_TO_USER
440
- select PCI
441
- select PLAT_IOP
442
- help
443
- Support for Intel's IOP33X (XScale) family of processors.
444402
445403 config ARCH_IXP4XX
446404 bool "IXP4xx-based"
447405 depends on MMU
448406 select ARCH_HAS_DMA_SET_COHERENT_MASK
449407 select ARCH_SUPPORTS_BIG_ENDIAN
450
- select CLKSRC_MMIO
451408 select CPU_XSCALE
452409 select DMABOUNCE if PCI
453410 select GENERIC_CLOCKEVENTS
411
+ select GENERIC_IRQ_MULTI_HANDLER
412
+ select GPIO_IXP4XX
454413 select GPIOLIB
455
- select MIGHT_HAVE_PCI
414
+ select HAVE_PCI
415
+ select IXP4XX_IRQ
416
+ select IXP4XX_TIMER
456417 select NEED_MACH_IO_H
457418 select USB_EHCI_BIG_ENDIAN_DESC
458419 select USB_EHCI_BIG_ENDIAN_MMIO
....@@ -465,7 +426,7 @@
465426 select GENERIC_CLOCKEVENTS
466427 select GENERIC_IRQ_MULTI_HANDLER
467428 select GPIOLIB
468
- select MIGHT_HAVE_PCI
429
+ select HAVE_PCI
469430 select MVEBU_MBUS
470431 select PINCTRL
471432 select PINCTRL_DOVE
....@@ -475,48 +436,6 @@
475436 help
476437 Support for the Marvell Dove SoC 88AP510
477438
478
-config ARCH_KS8695
479
- bool "Micrel/Kendin KS8695"
480
- select CLKSRC_MMIO
481
- select CPU_ARM922T
482
- select GENERIC_CLOCKEVENTS
483
- select GPIOLIB
484
- select NEED_MACH_MEMORY_H
485
- help
486
- Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
487
- System-on-Chip devices.
488
-
489
-config ARCH_W90X900
490
- bool "Nuvoton W90X900 CPU"
491
- select CLKDEV_LOOKUP
492
- select CLKSRC_MMIO
493
- select CPU_ARM926T
494
- select GENERIC_CLOCKEVENTS
495
- select GPIOLIB
496
- help
497
- Support for Nuvoton (Winbond logic dept.) ARM9 processor,
498
- At present, the w90x900 has been renamed nuc900, regarding
499
- the ARM series product line, you can login the following
500
- link address to know more.
501
-
502
- <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
503
- ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
504
-
505
-config ARCH_LPC32XX
506
- bool "NXP LPC32XX"
507
- select ARM_AMBA
508
- select CLKDEV_LOOKUP
509
- select CLKSRC_LPC32XX
510
- select COMMON_CLK
511
- select CPU_ARM926T
512
- select GENERIC_CLOCKEVENTS
513
- select GENERIC_IRQ_MULTI_HANDLER
514
- select GPIOLIB
515
- select SPARSE_IRQ
516
- select USE_OF
517
- help
518
- Support for the NXP LPC32XX family of processors
519
-
520439 config ARCH_PXA
521440 bool "PXA2xx/PXA3xx-based"
522441 depends on MMU
....@@ -524,7 +443,6 @@
524443 select ARM_CPU_SUSPEND if PM
525444 select AUTO_ZRELADDR
526445 select COMMON_CLK
527
- select CLKDEV_LOOKUP
528446 select CLKSRC_PXA
529447 select CLKSRC_MMIO
530448 select TIMER_OF
....@@ -546,7 +464,7 @@
546464 select ARCH_ACORN
547465 select ARCH_MAY_HAVE_PC_FDC
548466 select ARCH_SPARSEMEM_ENABLE
549
- select ARCH_USES_GETTIMEOFFSET
467
+ select ARM_HAS_SG_CHAIN
550468 select CPU_SA110
551469 select FIQ
552470 select HAVE_IDE
....@@ -563,10 +481,10 @@
563481 bool "SA1100-based"
564482 select ARCH_MTD_XIP
565483 select ARCH_SPARSEMEM_ENABLE
566
- select CLKDEV_LOOKUP
567484 select CLKSRC_MMIO
568485 select CLKSRC_PXA
569486 select TIMER_OF if OF
487
+ select COMMON_CLK
570488 select CPU_FREQ
571489 select CPU_SA1100
572490 select GENERIC_CLOCKEVENTS
....@@ -583,14 +501,12 @@
583501 config ARCH_S3C24XX
584502 bool "Samsung S3C24XX SoCs"
585503 select ATAGS
586
- select CLKDEV_LOOKUP
587504 select CLKSRC_SAMSUNG_PWM
588505 select GENERIC_CLOCKEVENTS
589506 select GPIO_SAMSUNG
590507 select GPIOLIB
591508 select GENERIC_IRQ_MULTI_HANDLER
592509 select HAVE_S3C2410_I2C if I2C
593
- select HAVE_S3C2410_WATCHDOG if WATCHDOG
594510 select HAVE_S3C_RTC if RTC_CLASS
595511 select NEED_MACH_IO_H
596512 select S3C2410_WATCHDOG
....@@ -603,29 +519,9 @@
603519 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
604520 Samsung SMDK2410 development board (and derivatives).
605521
606
-config ARCH_DAVINCI
607
- bool "TI DaVinci"
608
- select ARCH_HAS_HOLES_MEMORYMODEL
609
- select COMMON_CLK
610
- select CPU_ARM926T
611
- select GENERIC_ALLOCATOR
612
- select GENERIC_CLOCKEVENTS
613
- select GENERIC_IRQ_CHIP
614
- select GPIOLIB
615
- select HAVE_IDE
616
- select PM_GENERIC_DOMAINS if PM
617
- select PM_GENERIC_DOMAINS_OF if PM && OF
618
- select REGMAP_MMIO
619
- select RESET_CONTROLLER
620
- select USE_OF
621
- select ZONE_DMA
622
- help
623
- Support for TI's DaVinci platform.
624
-
625522 config ARCH_OMAP1
626523 bool "TI OMAP1"
627524 depends on MMU
628
- select ARCH_HAS_HOLES_MEMORYMODEL
629525 select ARCH_OMAP
630526 select CLKDEV_LOOKUP
631527 select CLKSRC_MMIO
....@@ -634,6 +530,7 @@
634530 select GENERIC_IRQ_MULTI_HANDLER
635531 select GPIOLIB
636532 select HAVE_IDE
533
+ select HAVE_LEGACY_CLK
637534 select IRQ_DOMAIN
638535 select NEED_MACH_IO_H if PCCARD
639536 select NEED_MACH_MEMORY_H
....@@ -705,6 +602,7 @@
705602 select ARM_GIC_V3_ITS if PCI
706603 select ARM_PSCI
707604 select HAVE_ARM_ARCH_TIMER
605
+ select ARCH_SUPPORTS_BIG_ENDIAN
708606
709607 #
710608 # This is sorted alphabetically by mach-* pathname. However, plat-*
....@@ -742,7 +640,6 @@
742640 source "arch/arm/mach-ep93xx/Kconfig"
743641
744642 source "arch/arm/mach-exynos/Kconfig"
745
-source "arch/arm/plat-samsung/Kconfig"
746643
747644 source "arch/arm/mach-footbridge/Kconfig"
748645
....@@ -756,33 +653,31 @@
756653
757654 source "arch/arm/mach-integrator/Kconfig"
758655
759
-source "arch/arm/mach-iop13xx/Kconfig"
760
-
761656 source "arch/arm/mach-iop32x/Kconfig"
762
-
763
-source "arch/arm/mach-iop33x/Kconfig"
764657
765658 source "arch/arm/mach-ixp4xx/Kconfig"
766659
767660 source "arch/arm/mach-keystone/Kconfig"
768661
769
-source "arch/arm/mach-ks8695/Kconfig"
662
+source "arch/arm/mach-lpc32xx/Kconfig"
770663
771664 source "arch/arm/mach-mediatek/Kconfig"
772665
773666 source "arch/arm/mach-meson/Kconfig"
774667
668
+source "arch/arm/mach-milbeaut/Kconfig"
669
+
775670 source "arch/arm/mach-mmp/Kconfig"
776671
777672 source "arch/arm/mach-moxart/Kconfig"
673
+
674
+source "arch/arm/mach-mstar/Kconfig"
778675
779676 source "arch/arm/mach-mv78xx0/Kconfig"
780677
781678 source "arch/arm/mach-mvebu/Kconfig"
782679
783680 source "arch/arm/mach-mxs/Kconfig"
784
-
785
-source "arch/arm/mach-netx/Kconfig"
786681
787682 source "arch/arm/mach-nomadik/Kconfig"
788683
....@@ -809,13 +704,15 @@
809704
810705 source "arch/arm/mach-qcom/Kconfig"
811706
707
+source "arch/arm/mach-rda/Kconfig"
708
+
709
+source "arch/arm/mach-realtek/Kconfig"
710
+
812711 source "arch/arm/mach-realview/Kconfig"
813712
814713 source "arch/arm/mach-rockchip/Kconfig"
815714
816
-source "arch/arm/mach-s3c24xx/Kconfig"
817
-
818
-source "arch/arm/mach-s3c64xx/Kconfig"
715
+source "arch/arm/mach-s3c/Kconfig"
819716
820717 source "arch/arm/mach-s5pv210/Kconfig"
821718
....@@ -846,11 +743,8 @@
846743 source "arch/arm/mach-versatile/Kconfig"
847744
848745 source "arch/arm/mach-vexpress/Kconfig"
849
-source "arch/arm/plat-versatile/Kconfig"
850746
851747 source "arch/arm/mach-vt8500/Kconfig"
852
-
853
-source "arch/arm/mach-w90x900/Kconfig"
854748
855749 source "arch/arm/mach-zx/Kconfig"
856750
....@@ -913,9 +807,7 @@
913807 config PLAT_VERSATILE
914808 bool
915809
916
-source "arch/arm/firmware/Kconfig"
917
-
918
-source arch/arm/mm/Kconfig
810
+source "arch/arm/mm/Kconfig"
919811
920812 config IWMMXT
921813 bool "Enable iWMMXt support"
....@@ -1133,7 +1025,7 @@
11331025 depends on CPU_V7
11341026 help
11351027 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1136
- r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1028
+ r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
11371029 operation aborts with MMU exception, it might cause the processor
11381030 to deadlock. This workaround puts DSB before executing ISB if
11391031 an abort may occur on cache maintenance.
....@@ -1190,6 +1082,14 @@
11901082 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
11911083 and Device/Strongly-Ordered loads and stores might cause deadlock
11921084
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
+
11931093 config ARM_ERRATA_852421
11941094 bool "ARM errata: A17: DMB ST might fail to create order between stores"
11951095 depends on CPU_V7
....@@ -1208,6 +1108,16 @@
12081108 lead to either a data corruption or a CPU deadlock. Not fixed in
12091109 any Cortex-A17 cores yet.
12101110 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
12111121 config option from the A12 erratum due to the way errata are checked
12121122 for and handled.
12131123
....@@ -1235,45 +1145,23 @@
12351145 config ISA_DMA_API
12361146 bool
12371147
1238
-config PCI
1239
- bool "PCI support" if MIGHT_HAVE_PCI
1240
- help
1241
- Find out whether you have a PCI motherboard. PCI is the name of a
1242
- bus system, i.e. the way the CPU talks to the other stuff inside
1243
- your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1244
- VESA. If you have PCI, say Y, otherwise N.
1245
-
1246
-config PCI_DOMAINS
1247
- bool "Support for multiple PCI domains"
1248
- depends on PCI
1249
- help
1250
- Enable PCI domains kernel management. Say Y if your machine
1251
- has a PCI bus hierarchy that requires more than one PCI
1252
- domain (aka segment) to be correctly managed. Say N otherwise.
1253
-
1254
- If you don't know what to do here, say N.
1255
-
1256
-config PCI_DOMAINS_GENERIC
1257
- def_bool PCI_DOMAINS
1258
-
12591148 config PCI_NANOENGINE
12601149 bool "BSE nanoEngine PCI support"
12611150 depends on SA1100_NANOENGINE
12621151 help
12631152 Enable PCI on the BSE nanoEngine board.
12641153
1265
-config PCI_SYSCALL
1266
- def_bool PCI
1267
-
1268
-config PCI_HOST_ITE8152
1269
- bool
1270
- depends on PCI && MACH_ARMCORE
1271
- default y
1272
- select DMABOUNCE
1273
-
1274
-source "drivers/pci/Kconfig"
1275
-
1276
-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.
12771165
12781166 endmenu
12791167
....@@ -1306,8 +1194,8 @@
13061194 uniprocessor machines. On a uniprocessor machine, the kernel
13071195 will run faster if you say N here.
13081196
1309
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
1310
- <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
13111199 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
13121200
13131201 If you don't know what to do here, say N.
....@@ -1352,19 +1240,17 @@
13521240 config HAVE_ARM_SCU
13531241 bool
13541242 help
1355
- This option enables support for the ARM system coherency unit
1243
+ This option enables support for the ARM snoop control unit
13561244
13571245 config HAVE_ARM_ARCH_TIMER
13581246 bool "Architected timer support"
13591247 depends on CPU_V7
13601248 select ARM_ARCH_TIMER
1361
- select GENERIC_CLOCKEVENTS
13621249 help
13631250 This option enables support for the ARM architected timer
13641251
13651252 config HAVE_ARM_TWD
13661253 bool
1367
- select TIMER_OF if OF
13681254 help
13691255 This options enables support for the ARM timer and watchdog unit
13701256
....@@ -1471,12 +1357,13 @@
14711357 int
14721358 default 2048 if ARCH_SOCFPGA
14731359 default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
1474
- ARCH_ZYNQ
1360
+ ARCH_ZYNQ || ARCH_ASPEED
14751361 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14761362 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14771363 default 416 if ARCH_SUNXI
14781364 default 392 if ARCH_U8500
14791365 default 352 if ARCH_VT8500
1366
+ default 288 if ARCH_ROCKCHIP
14801367 default 264 if MACH_H4700
14811368 default 0
14821369 help
....@@ -1538,37 +1425,6 @@
15381425
15391426 If unsure, say N.
15401427
1541
-config THUMB2_AVOID_R_ARM_THM_JUMP11
1542
- bool "Work around buggy Thumb-2 short branch relocations in gas"
1543
- depends on THUMB2_KERNEL && MODULES
1544
- default y
1545
- help
1546
- Various binutils versions can resolve Thumb-2 branches to
1547
- locally-defined, preemptible global symbols as short-range "b.n"
1548
- branch instructions.
1549
-
1550
- This is a problem, because there's no guarantee the final
1551
- destination of the symbol, or any candidate locations for a
1552
- trampoline, are within range of the branch. For this reason, the
1553
- kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1554
- relocation in modules at all, and it makes little sense to add
1555
- support.
1556
-
1557
- The symptom is that the kernel fails with an "unsupported
1558
- relocation" error when loading some modules.
1559
-
1560
- Until fixed tools are available, passing
1561
- -fno-optimize-sibling-calls to gcc should prevent gcc generating
1562
- code which hits this problem, at the cost of a bit of extra runtime
1563
- stack usage in some cases.
1564
-
1565
- The problem is described in more detail at:
1566
- https://bugs.launchpad.net/binutils-linaro/+bug/725126
1567
-
1568
- Only Thumb-2 kernels are affected.
1569
-
1570
- Unless you are sure your tools don't have this problem, say Y.
1571
-
15721428 config ARM_PATCH_IDIV
15731429 bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
15741430 depends on CPU_32v7 && !XIP_KERNEL
....@@ -1625,24 +1481,18 @@
16251481 UNPREDICTABLE (in fact it can be predicted that it won't work
16261482 at all). If in doubt say N.
16271483
1628
-config ARCH_HAS_HOLES_MEMORYMODEL
1484
+config ARCH_SELECT_MEMORY_MODEL
1485
+ bool
1486
+
1487
+config ARCH_FLATMEM_ENABLE
16291488 bool
16301489
16311490 config ARCH_SPARSEMEM_ENABLE
16321491 bool
1633
-
1634
-config ARCH_SPARSEMEM_DEFAULT
1635
- def_bool ARCH_SPARSEMEM_ENABLE
1636
-
1637
-config ARCH_SELECT_MEMORY_MODEL
1638
- def_bool ARCH_SPARSEMEM_ENABLE
1492
+ select SPARSEMEM_STATIC if SPARSEMEM
16391493
16401494 config HAVE_ARCH_PFN_VALID
1641
- def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1642
-
1643
-config HAVE_GENERIC_GUP
16441495 def_bool y
1645
- depends on ARM_LPAE
16461496
16471497 config HIGHMEM
16481498 bool "High Memory Support"
....@@ -1765,20 +1615,6 @@
17651615 However, if the CPU data cache is using a write-allocate mode,
17661616 this option is unlikely to provide any performance gain.
17671617
1768
-config SECCOMP
1769
- bool
1770
- prompt "Enable seccomp to safely compute untrusted bytecode"
1771
- ---help---
1772
- This kernel feature is useful for number crunching applications
1773
- that may need to compute untrusted bytecode during their
1774
- execution. By using pipes or other transports made available to
1775
- the process as file descriptors supporting the read/write
1776
- syscalls, it's possible to isolate those applications in
1777
- their own address space using seccomp. Once seccomp is
1778
- enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1779
- and the task is only allowed to execute a few safe syscalls
1780
- defined by each seccomp mode.
1781
-
17821618 config PARAVIRT
17831619 bool "Enable paravirtualization code"
17841620 help
....@@ -1789,7 +1625,6 @@
17891625 config PARAVIRT_TIME_ACCOUNTING
17901626 bool "Paravirtual steal time accounting"
17911627 select PARAVIRT
1792
- default n
17931628 help
17941629 Select this option to enable fine granularity task steal time
17951630 accounting. Time spent executing other tasks in parallel with
....@@ -1815,6 +1650,21 @@
18151650 select PARAVIRT
18161651 help
18171652 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.
18181668
18191669 endmenu
18201670
....@@ -1848,7 +1698,7 @@
18481698 # TEXT and BSS so we preserve their values in the config files.
18491699 config ZBOOT_ROM_TEXT
18501700 hex "Compressed ROM boot loader base address"
1851
- default "0"
1701
+ default 0x0
18521702 help
18531703 The physical address at which the ROM-able zImage is to be
18541704 placed in the target. Platforms which normally make use of
....@@ -1859,7 +1709,7 @@
18591709
18601710 config ZBOOT_ROM_BSS
18611711 hex "Compressed ROM boot loader BSS address"
1862
- default "0"
1712
+ default 0x0
18631713 help
18641714 The base address of an area of read/write memory in the target
18651715 for the ROM-able zImage which must be available while the
....@@ -1942,7 +1792,6 @@
19421792 choice
19431793 prompt "Kernel command line type" if CMDLINE != ""
19441794 default CMDLINE_FROM_BOOTLOADER
1945
- depends on ATAGS
19461795
19471796 config CMDLINE_FROM_BOOTLOADER
19481797 bool "Use bootloader kernel arguments if available"
....@@ -2040,7 +1889,7 @@
20401889 kdump/kexec. The crash dump kernel must be compiled to a
20411890 memory address not used by the main kernel
20421891
2043
- For more details see Documentation/kdump/kdump.txt
1892
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20441893
20451894 config AUTO_ZRELADDR
20461895 bool "Auto calculation of the decompressed kernel image address"
....@@ -2060,9 +1909,9 @@
20601909 select UCS2_STRING
20611910 select EFI_PARAMS_FROM_FDT
20621911 select EFI_STUB
2063
- select EFI_ARMSTUB
1912
+ select EFI_GENERIC_STUB
20641913 select EFI_RUNTIME_WRAPPERS
2065
- ---help---
1914
+ help
20661915 This option provides support for runtime services provided
20671916 by UEFI firmware (such as non-volatile variables, realtime
20681917 clock, and platform reset). A UEFI stub is also provided to
....@@ -2104,7 +1953,7 @@
21041953 config FPE_NWFPE
21051954 bool "NWFPE math emulation"
21061955 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
2107
- ---help---
1956
+ help
21081957 Say Y to include the NWFPE floating point emulator in the kernel.
21091958 This is necessary to run most binaries. Linux does not currently
21101959 support floating point hardware so you need to say Y here even if
....@@ -2128,7 +1977,7 @@
21281977 config FPE_FASTFPE
21291978 bool "FastFPE math emulation (EXPERIMENTAL)"
21301979 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
2131
- ---help---
1980
+ help
21321981 Say Y here to include the FAST floating point emulator in the kernel.
21331982 This is an experimental much faster emulator which now also has full
21341983 precision for the mantissa. It does not support any exceptions.
....@@ -2146,7 +1995,7 @@
21461995 Say Y to include VFP support code in the kernel. This is needed
21471996 if your hardware includes a VFP unit.
21481997
2149
- Please see <file:Documentation/arm/VFP/release-notes.txt> for
1998
+ Please see <file:Documentation/arm/vfp/release-notes.rst> for
21501999 release notes and additional status information.
21512000
21522001 Say N if your target does not have VFP hardware.
....@@ -2197,4 +2046,4 @@
21972046 source "arch/arm/crypto/Kconfig"
21982047 endif
21992048
2200
-source "arch/arm/kvm/Kconfig"
2049
+source "arch/arm/Kconfig.assembler"