Merge tag 'counter-fixes-for-6.5a' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-rpi.git] / arch / hexagon / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 # Hexagon configuration
3 comment "Linux Kernel Configuration for Hexagon"
4
5 config HEXAGON
6         def_bool y
7         select ARCH_32BIT_OFF_T
8         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
9         select ARCH_NO_PREEMPT
10         select DMA_GLOBAL_POOL
11         # Other pending projects/to-do items.
12         # select HAVE_REGS_AND_STACK_ACCESS_API
13         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
14         # select ARCH_HAS_CPU_IDLE_WAIT
15         # select GPIOLIB
16         # select HAVE_CLK
17         # select GENERIC_PENDING_IRQ if SMP
18         select GENERIC_ATOMIC64
19         select HAVE_PERF_EVENTS
20         # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
21         select GENERIC_ALLOCATOR
22         select GENERIC_IRQ_SHOW
23         select HAVE_ARCH_KGDB
24         select HAVE_ARCH_TRACEHOOK
25         select NEED_SG_DMA_LENGTH
26         select NO_IOPORT_MAP
27         select GENERIC_IOMAP
28         select GENERIC_SMP_IDLE_THREAD
29         select STACKTRACE_SUPPORT
30         select GENERIC_CLOCKEVENTS_BROADCAST
31         select LOCK_MM_AND_FIND_VMA
32         select MODULES_USE_ELF_RELA
33         select GENERIC_CPU_DEVICES
34         select ARCH_WANT_LD_ORPHAN_WARN
35         select TRACE_IRQFLAGS_SUPPORT
36         help
37           Qualcomm Hexagon is a processor architecture designed for high
38           performance and low power across a wide variety of applications.
39
40 config HEXAGON_PHYS_OFFSET
41         def_bool y
42         help
43           Platforms that don't load the kernel at zero set this.
44
45 config FRAME_POINTER
46         def_bool y
47
48 config LOCKDEP_SUPPORT
49         def_bool y
50
51 config EARLY_PRINTK
52         def_bool y
53
54 config MMU
55         def_bool y
56
57 config GENERIC_CSUM
58         def_bool y
59
60 #
61 # Use the generic interrupt handling code in kernel/irq/:
62 #
63 config GENERIC_IRQ_PROBE
64         def_bool y
65
66 config GENERIC_HWEIGHT
67         def_bool y
68
69 config STACKTRACE_SUPPORT
70         def_bool y
71         select STACKTRACE
72
73 config GENERIC_BUG
74         def_bool y
75         depends on BUG
76
77 menu "Machine selection"
78
79 choice
80         prompt "System type"
81         default HEXAGON_COMET
82
83 config HEXAGON_COMET
84         bool "Comet Board"
85         help
86           Support for the Comet platform.
87
88 endchoice
89
90 config HEXAGON_ARCH_VERSION
91         int "Architecture version"
92         default 2
93
94 config CMDLINE
95         string "Default kernel command string"
96         default ""
97         help
98           On some platforms, there is currently no way for the boot loader
99           to pass arguments to the kernel. For these, you should supply some
100           command-line options at build time by entering them here.  At a
101           minimum, you should specify the memory size and the root device
102           (e.g., mem=64M root=/dev/nfs).
103
104 config SMP
105         bool "Multi-Processing support"
106         help
107           Enables SMP support in the kernel.  If unsure, say "Y"
108
109 config NR_CPUS
110         int "Maximum number of CPUs" if SMP
111         range 2 6 if SMP
112         default "1" if !SMP
113         default "6" if SMP
114         help
115           This allows you to specify the maximum number of CPUs which this
116           kernel will support.  The maximum supported value is 6 and the
117           minimum value which makes sense is 2.
118
119           This is purely to save memory - each supported CPU adds
120           approximately eight kilobytes to the kernel image.
121
122 choice
123         prompt "Kernel page size"
124         default PAGE_SIZE_4KB
125         help
126           Changes the default page size; use with caution.
127
128 config PAGE_SIZE_4KB
129         bool "4KB"
130
131 config PAGE_SIZE_16KB
132         bool "16KB"
133
134 config PAGE_SIZE_64KB
135         bool "64KB"
136
137 config PAGE_SIZE_256KB
138         bool "256KB"
139
140 endchoice
141
142 source "kernel/Kconfig.hz"
143
144 endmenu