hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/arm/Kconfig
....@@ -2,40 +2,57 @@
22 config ARM
33 bool
44 default y
5
- select ARCH_CLOCKSOURCE_DATA
6
- select ARCH_DISCARD_MEMBLOCK if !HAVE_ARCH_PFN_VALID && !KEXEC
5
+ select ARCH_32BIT_OFF_T
6
+ select ARCH_HAS_BINFMT_FLAT
7
+ select ARCH_HAS_CPU_FINALIZE_INIT if MMU
78 select ARCH_HAS_DEBUG_VIRTUAL if MMU
89 select ARCH_HAS_DEVMEM_IS_ALLOWED
10
+ select ARCH_HAS_DMA_WRITE_COMBINE if !ARM_DMA_MEM_BUFFERABLE
911 select ARCH_HAS_ELF_RANDOMIZE
1012 select ARCH_HAS_FORTIFY_SOURCE
13
+ select ARCH_HAS_KEEPINITRD
1114 select ARCH_HAS_KCOV
1215 select ARCH_HAS_MEMBARRIER_SYNC_CORE
16
+ select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
1317 select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
1418 select ARCH_HAS_PHYS_TO_DMA
19
+ select ARCH_HAS_SETUP_DMA_OPS
1520 select ARCH_HAS_SET_MEMORY
1621 select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
17
- select ARCH_HAS_STRICT_MODULE_RWX if MMU
22
+ select ARCH_HAS_STRICT_MODULE_RWX if MMU && (!ROCKCHIP_MINI_KERNEL || STRICT_KERNEL_RWX)
23
+ select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB
24
+ select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
25
+ select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
1826 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
1927 select ARCH_HAVE_CUSTOM_GPIO_H
2028 select ARCH_HAS_GCOV_PROFILE_ALL
29
+ select ARCH_KEEP_MEMBLOCK
2130 select ARCH_MIGHT_HAVE_PC_PARPORT
31
+ select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
2232 select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
2333 select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
2434 select ARCH_SUPPORTS_ATOMIC_RMW
2535 select ARCH_USE_BUILTIN_BSWAP
2636 select ARCH_USE_CMPXCHG_LOCKREF
37
+ select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
2738 select ARCH_WANT_IPC_PARSE_VERSION
28
- select BUILDTIME_EXTABLE_SORT if MMU
39
+ select ARCH_WANT_LD_ORPHAN_WARN
40
+ select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
41
+ select BUILDTIME_TABLE_SORT if MMU
2942 select CLONE_BACKWARDS
30
- select CPU_PM if (SUSPEND || CPU_IDLE)
43
+ select CPU_PM if SUSPEND || CPU_IDLE
3144 select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
32
- select DMA_DIRECT_OPS if !MMU
45
+ select DMA_DECLARE_COHERENT
46
+ select DMA_OPS
47
+ select DMA_REMAP if MMU
3348 select EDAC_SUPPORT
3449 select EDAC_ATOMIC_SCRUB
3550 select GENERIC_ALLOCATOR
3651 select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
37
- select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
52
+ select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
3853 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
54
+ select GENERIC_IRQ_IPI if SMP
55
+ select ARCH_WANTS_IRQ_RAW if GENERIC_IRQ_IPI
3956 select GENERIC_CPU_AUTOPROBE
4057 select GENERIC_EARLY_IOREMAP
4158 select GENERIC_IDLE_POLL_SETUP
....@@ -49,12 +66,13 @@
4966 select GENERIC_STRNLEN_USER
5067 select HANDLE_DOMAIN_IRQ
5168 select HARDIRQS_SW_RESEND
52
- select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
69
+ select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
5370 select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
5471 select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
5572 select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
5673 select HAVE_ARCH_MMAP_RND_BITS if MMU
57
- select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
74
+ select HAVE_ARCH_SECCOMP
75
+ select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
5876 select HAVE_ARCH_THREAD_STRUCT_WHITELIST
5977 select HAVE_ARCH_TRACEHOOK
6078 select HAVE_ARM_SMCCC if CPU_V7
....@@ -63,17 +81,17 @@
6381 select HAVE_C_RECORDMCOUNT
6482 select HAVE_DEBUG_KMEMLEAK if !XIP_KERNEL
6583 select HAVE_DMA_CONTIGUOUS if MMU
66
- select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
84
+ select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
6785 select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
6886 select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
6987 select HAVE_EXIT_THREAD
70
- select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
71
- select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
72
- select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) && (CC_IS_GCC || CLANG_VERSION >= 100000)
88
+ select HAVE_FAST_GUP if ARM_LPAE
89
+ select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
90
+ select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
91
+ select HAVE_FUNCTION_TRACER if !XIP_KERNEL
7392 select HAVE_FUTEX_CMPXCHG if FUTEX
7493 select HAVE_GCC_PLUGINS
75
- select HAVE_GENERIC_DMA_COHERENT
76
- select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
94
+ select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
7795 select HAVE_IDE if PCI || ISA || PCMCIA
7896 select HAVE_IRQ_TIME_ACCOUNTING
7997 select HAVE_KERNEL_GZIP
....@@ -82,16 +100,15 @@
82100 select HAVE_KERNEL_LZO
83101 select HAVE_KERNEL_XZ
84102 select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
85
- select HAVE_KRETPROBES if (HAVE_KPROBES)
86
- select HAVE_MEMBLOCK
103
+ select HAVE_KRETPROBES if HAVE_KPROBES
87104 select HAVE_MOD_ARCH_SPECIFIC
88105 select HAVE_NMI
89
- select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
106
+ select HAVE_OPROFILE if HAVE_PERF_EVENTS
90107 select HAVE_OPTPROBES if !THUMB2_KERNEL
91108 select HAVE_PERF_EVENTS
92109 select HAVE_PERF_REGS
93110 select HAVE_PERF_USER_STACK_DUMP
94
- select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
111
+ select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
95112 select HAVE_REGS_AND_STACK_ACCESS_API
96113 select HAVE_RSEQ
97114 select HAVE_STACKPROTECTOR
....@@ -101,14 +118,13 @@
101118 select IRQ_FORCED_THREADING
102119 select MODULES_USE_ELF_REL
103120 select NEED_DMA_MAP_STATE
104
- select NO_BOOTMEM
105121 select OF_EARLY_FLATTREE if OF
106
- select OF_RESERVED_MEM if OF
107122 select OLD_SIGACTION
108123 select OLD_SIGSUSPEND3
124
+ select PCI_SYSCALL if PCI
109125 select PERF_USE_VMALLOC
110
- select REFCOUNT_FULL
111126 select RTC_LIB
127
+ select SET_FS
112128 select SYS_SUPPORTS_APM_EMULATION
113129 # Above selects are sorted alphabetically; please add new ones
114130 # according to that. Thanks.
....@@ -121,7 +137,6 @@
121137 <http://www.arm.linux.org.uk/>.
122138
123139 config ARM_HAS_SG_CHAIN
124
- select ARCH_HAS_SG_CHAIN
125140 bool
126141
127142 config ARM_DMA_USE_IOMMU
....@@ -150,9 +165,6 @@
150165
151166 endif
152167
153
-config MIGHT_HAVE_PCI
154
- bool
155
-
156168 config SYS_SUPPORTS_APM_EMULATION
157169 bool
158170
....@@ -165,21 +177,6 @@
165177
166178 config NO_IOPORT_MAP
167179 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.
183180
184181 config SBUS
185182 bool
....@@ -195,10 +192,6 @@
195192 config TRACE_IRQFLAGS_SUPPORT
196193 bool
197194 default !CPU_V7M
198
-
199
-config RWSEM_XCHGADD_ALGORITHM
200
- bool
201
- default y
202195
203196 config ARCH_HAS_ILOG2_U32
204197 bool
....@@ -279,11 +272,7 @@
279272 depends on !ARM_PATCH_PHYS_VIRT
280273 default DRAM_BASE if !MMU
281274 default 0x00000000 if ARCH_EBSA110 || \
282
- ARCH_FOOTBRIDGE || \
283
- ARCH_INTEGRATOR || \
284
- ARCH_IOP13XX || \
285
- ARCH_KS8695 || \
286
- ARCH_REALVIEW
275
+ ARCH_FOOTBRIDGE
287276 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
288277 default 0x20000000 if ARCH_S5PV210
289278 default 0xc0000000 if ARCH_SA1100
....@@ -329,6 +318,9 @@
329318 config ARCH_MULTIPLATFORM
330319 bool "Allow multiple platforms to be selected"
331320 depends on MMU
321
+ select ARCH_FLATMEM_ENABLE
322
+ select ARCH_SPARSEMEM_ENABLE
323
+ select ARCH_SELECT_MEMORY_MODEL
332324 select ARM_HAS_SG_CHAIN
333325 select ARM_PATCH_PHYS_VIRT
334326 select AUTO_ZRELADDR
....@@ -336,8 +328,8 @@
336328 select COMMON_CLK
337329 select GENERIC_CLOCKEVENTS
338330 select GENERIC_IRQ_MULTI_HANDLER
339
- select MIGHT_HAVE_PCI
340
- select PCI_DOMAINS if PCI
331
+ select HAVE_PCI
332
+ select PCI_DOMAINS_GENERIC if PCI
341333 select SPARSE_IRQ
342334 select USE_OF
343335
....@@ -380,6 +372,7 @@
380372 select CPU_ARM920T
381373 select GENERIC_CLOCKEVENTS
382374 select GPIOLIB
375
+ select HAVE_LEGACY_CLK
383376 help
384377 This enables support for the Cirrus EP93xx series of CPUs.
385378
....@@ -395,28 +388,6 @@
395388 Support for systems based on the DC21285 companion chip
396389 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
397390
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
-
420391 config ARCH_IOP32X
421392 bool "IOP32x-based"
422393 depends on MMU
....@@ -424,35 +395,26 @@
424395 select GPIO_IOP
425396 select GPIOLIB
426397 select NEED_RET_TO_USER
427
- select PCI
398
+ select FORCE_PCI
428399 select PLAT_IOP
429400 help
430401 Support for Intel's 80219 and IOP32X (XScale) family of
431402 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.
444403
445404 config ARCH_IXP4XX
446405 bool "IXP4xx-based"
447406 depends on MMU
448407 select ARCH_HAS_DMA_SET_COHERENT_MASK
449408 select ARCH_SUPPORTS_BIG_ENDIAN
450
- select CLKSRC_MMIO
451409 select CPU_XSCALE
452410 select DMABOUNCE if PCI
453411 select GENERIC_CLOCKEVENTS
412
+ select GENERIC_IRQ_MULTI_HANDLER
413
+ select GPIO_IXP4XX
454414 select GPIOLIB
455
- select MIGHT_HAVE_PCI
415
+ select HAVE_PCI
416
+ select IXP4XX_IRQ
417
+ select IXP4XX_TIMER
456418 select NEED_MACH_IO_H
457419 select USB_EHCI_BIG_ENDIAN_DESC
458420 select USB_EHCI_BIG_ENDIAN_MMIO
....@@ -465,7 +427,7 @@
465427 select GENERIC_CLOCKEVENTS
466428 select GENERIC_IRQ_MULTI_HANDLER
467429 select GPIOLIB
468
- select MIGHT_HAVE_PCI
430
+ select HAVE_PCI
469431 select MVEBU_MBUS
470432 select PINCTRL
471433 select PINCTRL_DOVE
....@@ -475,48 +437,6 @@
475437 help
476438 Support for the Marvell Dove SoC 88AP510
477439
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
-
520440 config ARCH_PXA
521441 bool "PXA2xx/PXA3xx-based"
522442 depends on MMU
....@@ -524,7 +444,6 @@
524444 select ARM_CPU_SUSPEND if PM
525445 select AUTO_ZRELADDR
526446 select COMMON_CLK
527
- select CLKDEV_LOOKUP
528447 select CLKSRC_PXA
529448 select CLKSRC_MMIO
530449 select TIMER_OF
....@@ -546,7 +465,7 @@
546465 select ARCH_ACORN
547466 select ARCH_MAY_HAVE_PC_FDC
548467 select ARCH_SPARSEMEM_ENABLE
549
- select ARCH_USES_GETTIMEOFFSET
468
+ select ARM_HAS_SG_CHAIN
550469 select CPU_SA110
551470 select FIQ
552471 select HAVE_IDE
....@@ -563,10 +482,10 @@
563482 bool "SA1100-based"
564483 select ARCH_MTD_XIP
565484 select ARCH_SPARSEMEM_ENABLE
566
- select CLKDEV_LOOKUP
567485 select CLKSRC_MMIO
568486 select CLKSRC_PXA
569487 select TIMER_OF if OF
488
+ select COMMON_CLK
570489 select CPU_FREQ
571490 select CPU_SA1100
572491 select GENERIC_CLOCKEVENTS
....@@ -583,14 +502,12 @@
583502 config ARCH_S3C24XX
584503 bool "Samsung S3C24XX SoCs"
585504 select ATAGS
586
- select CLKDEV_LOOKUP
587505 select CLKSRC_SAMSUNG_PWM
588506 select GENERIC_CLOCKEVENTS
589507 select GPIO_SAMSUNG
590508 select GPIOLIB
591509 select GENERIC_IRQ_MULTI_HANDLER
592510 select HAVE_S3C2410_I2C if I2C
593
- select HAVE_S3C2410_WATCHDOG if WATCHDOG
594511 select HAVE_S3C_RTC if RTC_CLASS
595512 select NEED_MACH_IO_H
596513 select S3C2410_WATCHDOG
....@@ -603,29 +520,9 @@
603520 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
604521 Samsung SMDK2410 development board (and derivatives).
605522
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
-
625523 config ARCH_OMAP1
626524 bool "TI OMAP1"
627525 depends on MMU
628
- select ARCH_HAS_HOLES_MEMORYMODEL
629526 select ARCH_OMAP
630527 select CLKDEV_LOOKUP
631528 select CLKSRC_MMIO
....@@ -634,6 +531,7 @@
634531 select GENERIC_IRQ_MULTI_HANDLER
635532 select GPIOLIB
636533 select HAVE_IDE
534
+ select HAVE_LEGACY_CLK
637535 select IRQ_DOMAIN
638536 select NEED_MACH_IO_H if PCCARD
639537 select NEED_MACH_MEMORY_H
....@@ -705,6 +603,7 @@
705603 select ARM_GIC_V3_ITS if PCI
706604 select ARM_PSCI
707605 select HAVE_ARM_ARCH_TIMER
606
+ select ARCH_SUPPORTS_BIG_ENDIAN
708607
709608 #
710609 # This is sorted alphabetically by mach-* pathname. However, plat-*
....@@ -742,7 +641,6 @@
742641 source "arch/arm/mach-ep93xx/Kconfig"
743642
744643 source "arch/arm/mach-exynos/Kconfig"
745
-source "arch/arm/plat-samsung/Kconfig"
746644
747645 source "arch/arm/mach-footbridge/Kconfig"
748646
....@@ -756,33 +654,31 @@
756654
757655 source "arch/arm/mach-integrator/Kconfig"
758656
759
-source "arch/arm/mach-iop13xx/Kconfig"
760
-
761657 source "arch/arm/mach-iop32x/Kconfig"
762
-
763
-source "arch/arm/mach-iop33x/Kconfig"
764658
765659 source "arch/arm/mach-ixp4xx/Kconfig"
766660
767661 source "arch/arm/mach-keystone/Kconfig"
768662
769
-source "arch/arm/mach-ks8695/Kconfig"
663
+source "arch/arm/mach-lpc32xx/Kconfig"
770664
771665 source "arch/arm/mach-mediatek/Kconfig"
772666
773667 source "arch/arm/mach-meson/Kconfig"
774668
669
+source "arch/arm/mach-milbeaut/Kconfig"
670
+
775671 source "arch/arm/mach-mmp/Kconfig"
776672
777673 source "arch/arm/mach-moxart/Kconfig"
674
+
675
+source "arch/arm/mach-mstar/Kconfig"
778676
779677 source "arch/arm/mach-mv78xx0/Kconfig"
780678
781679 source "arch/arm/mach-mvebu/Kconfig"
782680
783681 source "arch/arm/mach-mxs/Kconfig"
784
-
785
-source "arch/arm/mach-netx/Kconfig"
786682
787683 source "arch/arm/mach-nomadik/Kconfig"
788684
....@@ -809,13 +705,15 @@
809705
810706 source "arch/arm/mach-qcom/Kconfig"
811707
708
+source "arch/arm/mach-rda/Kconfig"
709
+
710
+source "arch/arm/mach-realtek/Kconfig"
711
+
812712 source "arch/arm/mach-realview/Kconfig"
813713
814714 source "arch/arm/mach-rockchip/Kconfig"
815715
816
-source "arch/arm/mach-s3c24xx/Kconfig"
817
-
818
-source "arch/arm/mach-s3c64xx/Kconfig"
716
+source "arch/arm/mach-s3c/Kconfig"
819717
820718 source "arch/arm/mach-s5pv210/Kconfig"
821719
....@@ -846,11 +744,8 @@
846744 source "arch/arm/mach-versatile/Kconfig"
847745
848746 source "arch/arm/mach-vexpress/Kconfig"
849
-source "arch/arm/plat-versatile/Kconfig"
850747
851748 source "arch/arm/mach-vt8500/Kconfig"
852
-
853
-source "arch/arm/mach-w90x900/Kconfig"
854749
855750 source "arch/arm/mach-zx/Kconfig"
856751
....@@ -913,9 +808,7 @@
913808 config PLAT_VERSATILE
914809 bool
915810
916
-source "arch/arm/firmware/Kconfig"
917
-
918
-source arch/arm/mm/Kconfig
811
+source "arch/arm/mm/Kconfig"
919812
920813 config IWMMXT
921814 bool "Enable iWMMXt support"
....@@ -1133,7 +1026,7 @@
11331026 depends on CPU_V7
11341027 help
11351028 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1136
- r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1029
+ r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
11371030 operation aborts with MMU exception, it might cause the processor
11381031 to deadlock. This workaround puts DSB before executing ISB if
11391032 an abort may occur on cache maintenance.
....@@ -1190,6 +1083,14 @@
11901083 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
11911084 and Device/Strongly-Ordered loads and stores might cause deadlock
11921085
1086
+config ARM_ERRATA_857271
1087
+ bool "ARM errata: A12: CPU might deadlock under some very rare internal conditions"
1088
+ depends on CPU_V7
1089
+ help
1090
+ This option enables the workaround for the 857271 Cortex-A12
1091
+ (all revs) erratum. Under very rare timing conditions, the CPU might
1092
+ hang. The workaround is expected to have a < 1% performance impact.
1093
+
11931094 config ARM_ERRATA_852421
11941095 bool "ARM errata: A17: DMB ST might fail to create order between stores"
11951096 depends on CPU_V7
....@@ -1208,6 +1109,16 @@
12081109 lead to either a data corruption or a CPU deadlock. Not fixed in
12091110 any Cortex-A17 cores yet.
12101111 This is identical to Cortex-A12 erratum 852422. It is a separate
1112
+ config option from the A12 erratum due to the way errata are checked
1113
+ for and handled.
1114
+
1115
+config ARM_ERRATA_857272
1116
+ bool "ARM errata: A17: CPU might deadlock under some very rare internal conditions"
1117
+ depends on CPU_V7
1118
+ help
1119
+ This option enables the workaround for the 857272 Cortex-A17 erratum.
1120
+ This erratum is not known to be fixed in any A17 revision.
1121
+ This is identical to Cortex-A12 erratum 857271. It is a separate
12111122 config option from the A12 erratum due to the way errata are checked
12121123 for and handled.
12131124
....@@ -1235,45 +1146,23 @@
12351146 config ISA_DMA_API
12361147 bool
12371148
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
-
12591149 config PCI_NANOENGINE
12601150 bool "BSE nanoEngine PCI support"
12611151 depends on SA1100_NANOENGINE
12621152 help
12631153 Enable PCI on the BSE nanoEngine board.
12641154
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"
1155
+config ARM_ERRATA_814220
1156
+ bool "ARM errata: Cache maintenance by set/way operations can execute out of order"
1157
+ depends on CPU_V7
1158
+ help
1159
+ The v7 ARM states that all cache and branch predictor maintenance
1160
+ operations that do not specify an address execute, relative to
1161
+ each other, in program order.
1162
+ However, because of this erratum, an L2 set/way cache maintenance
1163
+ operation can overtake an L1 set/way cache maintenance operation.
1164
+ This ERRATA only affected the Cortex-A7 and present in r0p2, r0p3,
1165
+ r0p4, r0p5.
12771166
12781167 endmenu
12791168
....@@ -1306,8 +1195,8 @@
13061195 uniprocessor machines. On a uniprocessor machine, the kernel
13071196 will run faster if you say N here.
13081197
1309
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
1310
- <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
1198
+ See also <file:Documentation/x86/i386/IO-APIC.rst>,
1199
+ <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
13111200 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
13121201
13131202 If you don't know what to do here, say N.
....@@ -1352,19 +1241,17 @@
13521241 config HAVE_ARM_SCU
13531242 bool
13541243 help
1355
- This option enables support for the ARM system coherency unit
1244
+ This option enables support for the ARM snoop control unit
13561245
13571246 config HAVE_ARM_ARCH_TIMER
13581247 bool "Architected timer support"
13591248 depends on CPU_V7
13601249 select ARM_ARCH_TIMER
1361
- select GENERIC_CLOCKEVENTS
13621250 help
13631251 This option enables support for the ARM architected timer
13641252
13651253 config HAVE_ARM_TWD
13661254 bool
1367
- select TIMER_OF if OF
13681255 help
13691256 This options enables support for the ARM timer and watchdog unit
13701257
....@@ -1471,12 +1358,13 @@
14711358 int
14721359 default 2048 if ARCH_SOCFPGA
14731360 default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
1474
- ARCH_ZYNQ
1361
+ ARCH_ZYNQ || ARCH_ASPEED
14751362 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14761363 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14771364 default 416 if ARCH_SUNXI
14781365 default 392 if ARCH_U8500
14791366 default 352 if ARCH_VT8500
1367
+ default 288 if ARCH_ROCKCHIP
14801368 default 264 if MACH_H4700
14811369 default 0
14821370 help
....@@ -1538,37 +1426,6 @@
15381426
15391427 If unsure, say N.
15401428
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
-
15721429 config ARM_PATCH_IDIV
15731430 bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
15741431 depends on CPU_32v7 && !XIP_KERNEL
....@@ -1625,24 +1482,18 @@
16251482 UNPREDICTABLE (in fact it can be predicted that it won't work
16261483 at all). If in doubt say N.
16271484
1628
-config ARCH_HAS_HOLES_MEMORYMODEL
1485
+config ARCH_SELECT_MEMORY_MODEL
1486
+ bool
1487
+
1488
+config ARCH_FLATMEM_ENABLE
16291489 bool
16301490
16311491 config ARCH_SPARSEMEM_ENABLE
16321492 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
1493
+ select SPARSEMEM_STATIC if SPARSEMEM
16391494
16401495 config HAVE_ARCH_PFN_VALID
1641
- def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1642
-
1643
-config HAVE_GENERIC_GUP
16441496 def_bool y
1645
- depends on ARM_LPAE
16461497
16471498 config HIGHMEM
16481499 bool "High Memory Support"
....@@ -1765,20 +1616,6 @@
17651616 However, if the CPU data cache is using a write-allocate mode,
17661617 this option is unlikely to provide any performance gain.
17671618
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
-
17821619 config PARAVIRT
17831620 bool "Enable paravirtualization code"
17841621 help
....@@ -1789,7 +1626,6 @@
17891626 config PARAVIRT_TIME_ACCOUNTING
17901627 bool "Paravirtual steal time accounting"
17911628 select PARAVIRT
1792
- default n
17931629 help
17941630 Select this option to enable fine granularity task steal time
17951631 accounting. Time spent executing other tasks in parallel with
....@@ -1815,6 +1651,21 @@
18151651 select PARAVIRT
18161652 help
18171653 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
1654
+
1655
+config STACKPROTECTOR_PER_TASK
1656
+ bool "Use a unique stack canary value for each task"
1657
+ depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
1658
+ select GCC_PLUGIN_ARM_SSP_PER_TASK
1659
+ default y
1660
+ help
1661
+ Due to the fact that GCC uses an ordinary symbol reference from
1662
+ which to load the value of the stack canary, this value can only
1663
+ change at reboot time on SMP systems, and all tasks running in the
1664
+ kernel's address space are forced to use the same canary value for
1665
+ the entire duration that the system is up.
1666
+
1667
+ Enable this option to switch to a different method that uses a
1668
+ different canary value for each task.
18181669
18191670 endmenu
18201671
....@@ -1848,7 +1699,7 @@
18481699 # TEXT and BSS so we preserve their values in the config files.
18491700 config ZBOOT_ROM_TEXT
18501701 hex "Compressed ROM boot loader base address"
1851
- default "0"
1702
+ default 0x0
18521703 help
18531704 The physical address at which the ROM-able zImage is to be
18541705 placed in the target. Platforms which normally make use of
....@@ -1859,7 +1710,7 @@
18591710
18601711 config ZBOOT_ROM_BSS
18611712 hex "Compressed ROM boot loader BSS address"
1862
- default "0"
1713
+ default 0x0
18631714 help
18641715 The base address of an area of read/write memory in the target
18651716 for the ROM-able zImage which must be available while the
....@@ -1942,7 +1793,6 @@
19421793 choice
19431794 prompt "Kernel command line type" if CMDLINE != ""
19441795 default CMDLINE_FROM_BOOTLOADER
1945
- depends on ATAGS
19461796
19471797 config CMDLINE_FROM_BOOTLOADER
19481798 bool "Use bootloader kernel arguments if available"
....@@ -2040,7 +1890,7 @@
20401890 kdump/kexec. The crash dump kernel must be compiled to a
20411891 memory address not used by the main kernel
20421892
2043
- For more details see Documentation/kdump/kdump.txt
1893
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20441894
20451895 config AUTO_ZRELADDR
20461896 bool "Auto calculation of the decompressed kernel image address"
....@@ -2060,9 +1910,9 @@
20601910 select UCS2_STRING
20611911 select EFI_PARAMS_FROM_FDT
20621912 select EFI_STUB
2063
- select EFI_ARMSTUB
1913
+ select EFI_GENERIC_STUB
20641914 select EFI_RUNTIME_WRAPPERS
2065
- ---help---
1915
+ help
20661916 This option provides support for runtime services provided
20671917 by UEFI firmware (such as non-volatile variables, realtime
20681918 clock, and platform reset). A UEFI stub is also provided to
....@@ -2104,7 +1954,7 @@
21041954 config FPE_NWFPE
21051955 bool "NWFPE math emulation"
21061956 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
2107
- ---help---
1957
+ help
21081958 Say Y to include the NWFPE floating point emulator in the kernel.
21091959 This is necessary to run most binaries. Linux does not currently
21101960 support floating point hardware so you need to say Y here even if
....@@ -2128,7 +1978,7 @@
21281978 config FPE_FASTFPE
21291979 bool "FastFPE math emulation (EXPERIMENTAL)"
21301980 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
2131
- ---help---
1981
+ help
21321982 Say Y here to include the FAST floating point emulator in the kernel.
21331983 This is an experimental much faster emulator which now also has full
21341984 precision for the mantissa. It does not support any exceptions.
....@@ -2146,7 +1996,7 @@
21461996 Say Y to include VFP support code in the kernel. This is needed
21471997 if your hardware includes a VFP unit.
21481998
2149
- Please see <file:Documentation/arm/VFP/release-notes.txt> for
1999
+ Please see <file:Documentation/arm/vfp/release-notes.rst> for
21502000 release notes and additional status information.
21512001
21522002 Say N if your target does not have VFP hardware.
....@@ -2197,4 +2047,4 @@
21972047 source "arch/arm/crypto/Kconfig"
21982048 endif
21992049
2200
-source "arch/arm/kvm/Kconfig"
2050
+source "arch/arm/Kconfig.assembler"