forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 1f93a7dfd1f8d5ff7a5c53246c7534fe2332d6f4
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
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,16 +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
94
- select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
111
+ select HAVE_PREEMPT_LAZY
112
+ select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
95113 select HAVE_REGS_AND_STACK_ACCESS_API
96114 select HAVE_RSEQ
97115 select HAVE_STACKPROTECTOR
....@@ -101,14 +119,14 @@
101119 select IRQ_FORCED_THREADING
102120 select MODULES_USE_ELF_REL
103121 select NEED_DMA_MAP_STATE
104
- select NO_BOOTMEM
105122 select OF_EARLY_FLATTREE if OF
106
- select OF_RESERVED_MEM if OF
107123 select OLD_SIGACTION
108124 select OLD_SIGSUSPEND3
125
+ select PCI_SYSCALL if PCI
109126 select PERF_USE_VMALLOC
110
- select REFCOUNT_FULL
127
+ select HAVE_POSIX_CPU_TIMERS_TASK_WORK if !KVM
111128 select RTC_LIB
129
+ select SET_FS
112130 select SYS_SUPPORTS_APM_EMULATION
113131 # Above selects are sorted alphabetically; please add new ones
114132 # according to that. Thanks.
....@@ -121,7 +139,6 @@
121139 <http://www.arm.linux.org.uk/>.
122140
123141 config ARM_HAS_SG_CHAIN
124
- select ARCH_HAS_SG_CHAIN
125142 bool
126143
127144 config ARM_DMA_USE_IOMMU
....@@ -150,9 +167,6 @@
150167
151168 endif
152169
153
-config MIGHT_HAVE_PCI
154
- bool
155
-
156170 config SYS_SUPPORTS_APM_EMULATION
157171 bool
158172
....@@ -165,21 +179,6 @@
165179
166180 config NO_IOPORT_MAP
167181 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.
183182
184183 config SBUS
185184 bool
....@@ -195,10 +194,6 @@
195194 config TRACE_IRQFLAGS_SUPPORT
196195 bool
197196 default !CPU_V7M
198
-
199
-config RWSEM_XCHGADD_ALGORITHM
200
- bool
201
- default y
202197
203198 config ARCH_HAS_ILOG2_U32
204199 bool
....@@ -279,11 +274,7 @@
279274 depends on !ARM_PATCH_PHYS_VIRT
280275 default DRAM_BASE if !MMU
281276 default 0x00000000 if ARCH_EBSA110 || \
282
- ARCH_FOOTBRIDGE || \
283
- ARCH_INTEGRATOR || \
284
- ARCH_IOP13XX || \
285
- ARCH_KS8695 || \
286
- ARCH_REALVIEW
277
+ ARCH_FOOTBRIDGE
287278 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
288279 default 0x20000000 if ARCH_S5PV210
289280 default 0xc0000000 if ARCH_SA1100
....@@ -329,6 +320,9 @@
329320 config ARCH_MULTIPLATFORM
330321 bool "Allow multiple platforms to be selected"
331322 depends on MMU
323
+ select ARCH_FLATMEM_ENABLE
324
+ select ARCH_SPARSEMEM_ENABLE
325
+ select ARCH_SELECT_MEMORY_MODEL
332326 select ARM_HAS_SG_CHAIN
333327 select ARM_PATCH_PHYS_VIRT
334328 select AUTO_ZRELADDR
....@@ -336,8 +330,8 @@
336330 select COMMON_CLK
337331 select GENERIC_CLOCKEVENTS
338332 select GENERIC_IRQ_MULTI_HANDLER
339
- select MIGHT_HAVE_PCI
340
- select PCI_DOMAINS if PCI
333
+ select HAVE_PCI
334
+ select PCI_DOMAINS_GENERIC if PCI
341335 select SPARSE_IRQ
342336 select USE_OF
343337
....@@ -380,6 +374,7 @@
380374 select CPU_ARM920T
381375 select GENERIC_CLOCKEVENTS
382376 select GPIOLIB
377
+ select HAVE_LEGACY_CLK
383378 help
384379 This enables support for the Cirrus EP93xx series of CPUs.
385380
....@@ -395,28 +390,6 @@
395390 Support for systems based on the DC21285 companion chip
396391 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
397392
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
-
420393 config ARCH_IOP32X
421394 bool "IOP32x-based"
422395 depends on MMU
....@@ -424,35 +397,26 @@
424397 select GPIO_IOP
425398 select GPIOLIB
426399 select NEED_RET_TO_USER
427
- select PCI
400
+ select FORCE_PCI
428401 select PLAT_IOP
429402 help
430403 Support for Intel's 80219 and IOP32X (XScale) family of
431404 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.
444405
445406 config ARCH_IXP4XX
446407 bool "IXP4xx-based"
447408 depends on MMU
448409 select ARCH_HAS_DMA_SET_COHERENT_MASK
449410 select ARCH_SUPPORTS_BIG_ENDIAN
450
- select CLKSRC_MMIO
451411 select CPU_XSCALE
452412 select DMABOUNCE if PCI
453413 select GENERIC_CLOCKEVENTS
414
+ select GENERIC_IRQ_MULTI_HANDLER
415
+ select GPIO_IXP4XX
454416 select GPIOLIB
455
- select MIGHT_HAVE_PCI
417
+ select HAVE_PCI
418
+ select IXP4XX_IRQ
419
+ select IXP4XX_TIMER
456420 select NEED_MACH_IO_H
457421 select USB_EHCI_BIG_ENDIAN_DESC
458422 select USB_EHCI_BIG_ENDIAN_MMIO
....@@ -465,7 +429,7 @@
465429 select GENERIC_CLOCKEVENTS
466430 select GENERIC_IRQ_MULTI_HANDLER
467431 select GPIOLIB
468
- select MIGHT_HAVE_PCI
432
+ select HAVE_PCI
469433 select MVEBU_MBUS
470434 select PINCTRL
471435 select PINCTRL_DOVE
....@@ -475,48 +439,6 @@
475439 help
476440 Support for the Marvell Dove SoC 88AP510
477441
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
-
520442 config ARCH_PXA
521443 bool "PXA2xx/PXA3xx-based"
522444 depends on MMU
....@@ -524,7 +446,6 @@
524446 select ARM_CPU_SUSPEND if PM
525447 select AUTO_ZRELADDR
526448 select COMMON_CLK
527
- select CLKDEV_LOOKUP
528449 select CLKSRC_PXA
529450 select CLKSRC_MMIO
530451 select TIMER_OF
....@@ -546,7 +467,7 @@
546467 select ARCH_ACORN
547468 select ARCH_MAY_HAVE_PC_FDC
548469 select ARCH_SPARSEMEM_ENABLE
549
- select ARCH_USES_GETTIMEOFFSET
470
+ select ARM_HAS_SG_CHAIN
550471 select CPU_SA110
551472 select FIQ
552473 select HAVE_IDE
....@@ -563,10 +484,10 @@
563484 bool "SA1100-based"
564485 select ARCH_MTD_XIP
565486 select ARCH_SPARSEMEM_ENABLE
566
- select CLKDEV_LOOKUP
567487 select CLKSRC_MMIO
568488 select CLKSRC_PXA
569489 select TIMER_OF if OF
490
+ select COMMON_CLK
570491 select CPU_FREQ
571492 select CPU_SA1100
572493 select GENERIC_CLOCKEVENTS
....@@ -583,14 +504,12 @@
583504 config ARCH_S3C24XX
584505 bool "Samsung S3C24XX SoCs"
585506 select ATAGS
586
- select CLKDEV_LOOKUP
587507 select CLKSRC_SAMSUNG_PWM
588508 select GENERIC_CLOCKEVENTS
589509 select GPIO_SAMSUNG
590510 select GPIOLIB
591511 select GENERIC_IRQ_MULTI_HANDLER
592512 select HAVE_S3C2410_I2C if I2C
593
- select HAVE_S3C2410_WATCHDOG if WATCHDOG
594513 select HAVE_S3C_RTC if RTC_CLASS
595514 select NEED_MACH_IO_H
596515 select S3C2410_WATCHDOG
....@@ -603,29 +522,9 @@
603522 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
604523 Samsung SMDK2410 development board (and derivatives).
605524
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
-
625525 config ARCH_OMAP1
626526 bool "TI OMAP1"
627527 depends on MMU
628
- select ARCH_HAS_HOLES_MEMORYMODEL
629528 select ARCH_OMAP
630529 select CLKDEV_LOOKUP
631530 select CLKSRC_MMIO
....@@ -634,6 +533,7 @@
634533 select GENERIC_IRQ_MULTI_HANDLER
635534 select GPIOLIB
636535 select HAVE_IDE
536
+ select HAVE_LEGACY_CLK
637537 select IRQ_DOMAIN
638538 select NEED_MACH_IO_H if PCCARD
639539 select NEED_MACH_MEMORY_H
....@@ -705,6 +605,7 @@
705605 select ARM_GIC_V3_ITS if PCI
706606 select ARM_PSCI
707607 select HAVE_ARM_ARCH_TIMER
608
+ select ARCH_SUPPORTS_BIG_ENDIAN
708609
709610 #
710611 # This is sorted alphabetically by mach-* pathname. However, plat-*
....@@ -742,7 +643,6 @@
742643 source "arch/arm/mach-ep93xx/Kconfig"
743644
744645 source "arch/arm/mach-exynos/Kconfig"
745
-source "arch/arm/plat-samsung/Kconfig"
746646
747647 source "arch/arm/mach-footbridge/Kconfig"
748648
....@@ -756,33 +656,31 @@
756656
757657 source "arch/arm/mach-integrator/Kconfig"
758658
759
-source "arch/arm/mach-iop13xx/Kconfig"
760
-
761659 source "arch/arm/mach-iop32x/Kconfig"
762
-
763
-source "arch/arm/mach-iop33x/Kconfig"
764660
765661 source "arch/arm/mach-ixp4xx/Kconfig"
766662
767663 source "arch/arm/mach-keystone/Kconfig"
768664
769
-source "arch/arm/mach-ks8695/Kconfig"
665
+source "arch/arm/mach-lpc32xx/Kconfig"
770666
771667 source "arch/arm/mach-mediatek/Kconfig"
772668
773669 source "arch/arm/mach-meson/Kconfig"
774670
671
+source "arch/arm/mach-milbeaut/Kconfig"
672
+
775673 source "arch/arm/mach-mmp/Kconfig"
776674
777675 source "arch/arm/mach-moxart/Kconfig"
676
+
677
+source "arch/arm/mach-mstar/Kconfig"
778678
779679 source "arch/arm/mach-mv78xx0/Kconfig"
780680
781681 source "arch/arm/mach-mvebu/Kconfig"
782682
783683 source "arch/arm/mach-mxs/Kconfig"
784
-
785
-source "arch/arm/mach-netx/Kconfig"
786684
787685 source "arch/arm/mach-nomadik/Kconfig"
788686
....@@ -809,13 +707,15 @@
809707
810708 source "arch/arm/mach-qcom/Kconfig"
811709
710
+source "arch/arm/mach-rda/Kconfig"
711
+
712
+source "arch/arm/mach-realtek/Kconfig"
713
+
812714 source "arch/arm/mach-realview/Kconfig"
813715
814716 source "arch/arm/mach-rockchip/Kconfig"
815717
816
-source "arch/arm/mach-s3c24xx/Kconfig"
817
-
818
-source "arch/arm/mach-s3c64xx/Kconfig"
718
+source "arch/arm/mach-s3c/Kconfig"
819719
820720 source "arch/arm/mach-s5pv210/Kconfig"
821721
....@@ -846,11 +746,8 @@
846746 source "arch/arm/mach-versatile/Kconfig"
847747
848748 source "arch/arm/mach-vexpress/Kconfig"
849
-source "arch/arm/plat-versatile/Kconfig"
850749
851750 source "arch/arm/mach-vt8500/Kconfig"
852
-
853
-source "arch/arm/mach-w90x900/Kconfig"
854751
855752 source "arch/arm/mach-zx/Kconfig"
856753
....@@ -913,9 +810,7 @@
913810 config PLAT_VERSATILE
914811 bool
915812
916
-source "arch/arm/firmware/Kconfig"
917
-
918
-source arch/arm/mm/Kconfig
813
+source "arch/arm/mm/Kconfig"
919814
920815 config IWMMXT
921816 bool "Enable iWMMXt support"
....@@ -1133,7 +1028,7 @@
11331028 depends on CPU_V7
11341029 help
11351030 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1136
- r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1031
+ r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
11371032 operation aborts with MMU exception, it might cause the processor
11381033 to deadlock. This workaround puts DSB before executing ISB if
11391034 an abort may occur on cache maintenance.
....@@ -1190,6 +1085,14 @@
11901085 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
11911086 and Device/Strongly-Ordered loads and stores might cause deadlock
11921087
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
+
11931096 config ARM_ERRATA_852421
11941097 bool "ARM errata: A17: DMB ST might fail to create order between stores"
11951098 depends on CPU_V7
....@@ -1208,6 +1111,16 @@
12081111 lead to either a data corruption or a CPU deadlock. Not fixed in
12091112 any Cortex-A17 cores yet.
12101113 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
12111124 config option from the A12 erratum due to the way errata are checked
12121125 for and handled.
12131126
....@@ -1235,45 +1148,23 @@
12351148 config ISA_DMA_API
12361149 bool
12371150
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
-
12591151 config PCI_NANOENGINE
12601152 bool "BSE nanoEngine PCI support"
12611153 depends on SA1100_NANOENGINE
12621154 help
12631155 Enable PCI on the BSE nanoEngine board.
12641156
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"
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.
12771168
12781169 endmenu
12791170
....@@ -1306,8 +1197,8 @@
13061197 uniprocessor machines. On a uniprocessor machine, the kernel
13071198 will run faster if you say N here.
13081199
1309
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
1310
- <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
13111202 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
13121203
13131204 If you don't know what to do here, say N.
....@@ -1352,19 +1243,17 @@
13521243 config HAVE_ARM_SCU
13531244 bool
13541245 help
1355
- This option enables support for the ARM system coherency unit
1246
+ This option enables support for the ARM snoop control unit
13561247
13571248 config HAVE_ARM_ARCH_TIMER
13581249 bool "Architected timer support"
13591250 depends on CPU_V7
13601251 select ARM_ARCH_TIMER
1361
- select GENERIC_CLOCKEVENTS
13621252 help
13631253 This option enables support for the ARM architected timer
13641254
13651255 config HAVE_ARM_TWD
13661256 bool
1367
- select TIMER_OF if OF
13681257 help
13691258 This options enables support for the ARM timer and watchdog unit
13701259
....@@ -1471,12 +1360,13 @@
14711360 int
14721361 default 2048 if ARCH_SOCFPGA
14731362 default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
1474
- ARCH_ZYNQ
1363
+ ARCH_ZYNQ || ARCH_ASPEED
14751364 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14761365 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14771366 default 416 if ARCH_SUNXI
14781367 default 392 if ARCH_U8500
14791368 default 352 if ARCH_VT8500
1369
+ default 288 if ARCH_ROCKCHIP
14801370 default 264 if MACH_H4700
14811371 default 0
14821372 help
....@@ -1538,37 +1428,6 @@
15381428
15391429 If unsure, say N.
15401430
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
-
15721431 config ARM_PATCH_IDIV
15731432 bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
15741433 depends on CPU_32v7 && !XIP_KERNEL
....@@ -1625,28 +1484,23 @@
16251484 UNPREDICTABLE (in fact it can be predicted that it won't work
16261485 at all). If in doubt say N.
16271486
1628
-config ARCH_HAS_HOLES_MEMORYMODEL
1487
+config ARCH_SELECT_MEMORY_MODEL
1488
+ bool
1489
+
1490
+config ARCH_FLATMEM_ENABLE
16291491 bool
16301492
16311493 config ARCH_SPARSEMEM_ENABLE
16321494 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
1495
+ select SPARSEMEM_STATIC if SPARSEMEM
16391496
16401497 config HAVE_ARCH_PFN_VALID
1641
- def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1642
-
1643
-config HAVE_GENERIC_GUP
16441498 def_bool y
1645
- depends on ARM_LPAE
16461499
16471500 config HIGHMEM
16481501 bool "High Memory Support"
16491502 depends on MMU
1503
+ select KMAP_LOCAL
16501504 help
16511505 The address space of ARM processors is only 4 Gigabytes large
16521506 and it has to accommodate user address space, kernel address
....@@ -1765,20 +1619,6 @@
17651619 However, if the CPU data cache is using a write-allocate mode,
17661620 this option is unlikely to provide any performance gain.
17671621
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
-
17821622 config PARAVIRT
17831623 bool "Enable paravirtualization code"
17841624 help
....@@ -1789,7 +1629,6 @@
17891629 config PARAVIRT_TIME_ACCOUNTING
17901630 bool "Paravirtual steal time accounting"
17911631 select PARAVIRT
1792
- default n
17931632 help
17941633 Select this option to enable fine granularity task steal time
17951634 accounting. Time spent executing other tasks in parallel with
....@@ -1815,6 +1654,21 @@
18151654 select PARAVIRT
18161655 help
18171656 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.
18181672
18191673 endmenu
18201674
....@@ -1848,7 +1702,7 @@
18481702 # TEXT and BSS so we preserve their values in the config files.
18491703 config ZBOOT_ROM_TEXT
18501704 hex "Compressed ROM boot loader base address"
1851
- default "0"
1705
+ default 0x0
18521706 help
18531707 The physical address at which the ROM-able zImage is to be
18541708 placed in the target. Platforms which normally make use of
....@@ -1859,7 +1713,7 @@
18591713
18601714 config ZBOOT_ROM_BSS
18611715 hex "Compressed ROM boot loader BSS address"
1862
- default "0"
1716
+ default 0x0
18631717 help
18641718 The base address of an area of read/write memory in the target
18651719 for the ROM-able zImage which must be available while the
....@@ -1942,7 +1796,6 @@
19421796 choice
19431797 prompt "Kernel command line type" if CMDLINE != ""
19441798 default CMDLINE_FROM_BOOTLOADER
1945
- depends on ATAGS
19461799
19471800 config CMDLINE_FROM_BOOTLOADER
19481801 bool "Use bootloader kernel arguments if available"
....@@ -2040,7 +1893,7 @@
20401893 kdump/kexec. The crash dump kernel must be compiled to a
20411894 memory address not used by the main kernel
20421895
2043
- For more details see Documentation/kdump/kdump.txt
1896
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20441897
20451898 config AUTO_ZRELADDR
20461899 bool "Auto calculation of the decompressed kernel image address"
....@@ -2060,9 +1913,9 @@
20601913 select UCS2_STRING
20611914 select EFI_PARAMS_FROM_FDT
20621915 select EFI_STUB
2063
- select EFI_ARMSTUB
1916
+ select EFI_GENERIC_STUB
20641917 select EFI_RUNTIME_WRAPPERS
2065
- ---help---
1918
+ help
20661919 This option provides support for runtime services provided
20671920 by UEFI firmware (such as non-volatile variables, realtime
20681921 clock, and platform reset). A UEFI stub is also provided to
....@@ -2104,7 +1957,7 @@
21041957 config FPE_NWFPE
21051958 bool "NWFPE math emulation"
21061959 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
2107
- ---help---
1960
+ help
21081961 Say Y to include the NWFPE floating point emulator in the kernel.
21091962 This is necessary to run most binaries. Linux does not currently
21101963 support floating point hardware so you need to say Y here even if
....@@ -2128,7 +1981,7 @@
21281981 config FPE_FASTFPE
21291982 bool "FastFPE math emulation (EXPERIMENTAL)"
21301983 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
2131
- ---help---
1984
+ help
21321985 Say Y here to include the FAST floating point emulator in the kernel.
21331986 This is an experimental much faster emulator which now also has full
21341987 precision for the mantissa. It does not support any exceptions.
....@@ -2146,7 +1999,7 @@
21461999 Say Y to include VFP support code in the kernel. This is needed
21472000 if your hardware includes a VFP unit.
21482001
2149
- Please see <file:Documentation/arm/VFP/release-notes.txt> for
2002
+ Please see <file:Documentation/arm/vfp/release-notes.rst> for
21502003 release notes and additional status information.
21512004
21522005 Say N if your target does not have VFP hardware.
....@@ -2197,4 +2050,4 @@
21972050 source "arch/arm/crypto/Kconfig"
21982051 endif
21992052
2200
-source "arch/arm/kvm/Kconfig"
2053
+source "arch/arm/Kconfig.assembler"