GNU Linux-libre 4.14.266-gnu1
[releases.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 HAVE_OPROFILE
8         # Other pending projects/to-do items.
9         # select HAVE_REGS_AND_STACK_ACCESS_API
10         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
11         # select ARCH_HAS_CPU_IDLE_WAIT
12         # select GPIOLIB
13         # select HAVE_CLK
14         # select GENERIC_PENDING_IRQ if SMP
15         select GENERIC_ATOMIC64
16         select HAVE_PERF_EVENTS
17         # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
18         select GENERIC_ALLOCATOR
19         select GENERIC_IRQ_SHOW
20         select HAVE_ARCH_KGDB
21         select HAVE_ARCH_TRACEHOOK
22         select NO_IOPORT_MAP
23         select GENERIC_IOMAP
24         select GENERIC_SMP_IDLE_THREAD
25         select STACKTRACE_SUPPORT
26         select GENERIC_CLOCKEVENTS
27         select GENERIC_CLOCKEVENTS_BROADCAST
28         select MODULES_USE_ELF_RELA
29         select GENERIC_CPU_DEVICES
30         ---help---
31           Qualcomm Hexagon is a processor architecture designed for high
32           performance and low power across a wide variety of applications.
33
34 config HEXAGON_PHYS_OFFSET
35         def_bool y
36         ---help---
37           Platforms that don't load the kernel at zero set this.
38
39 config FRAME_POINTER
40         def_bool y
41
42 config LOCKDEP_SUPPORT
43         def_bool y
44
45 config PCI
46         def_bool n
47
48 config EARLY_PRINTK
49         def_bool y
50
51 config MMU
52         def_bool y
53
54 config TRACE_IRQFLAGS_SUPPORT
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 NEED_SG_DMA_LENGTH
67         def_bool y
68
69 config RWSEM_GENERIC_SPINLOCK
70         def_bool n
71
72 config RWSEM_XCHGADD_ALGORITHM
73         def_bool y
74
75 config GENERIC_HWEIGHT
76         def_bool y
77
78 config STACKTRACE_SUPPORT
79         def_bool y
80         select STACKTRACE
81
82 config GENERIC_BUG
83         def_bool y
84         depends on BUG
85
86 menu "Machine selection"
87
88 choice
89         prompt "System type"
90         default HEXAGON_COMET
91
92 config HEXAGON_COMET
93         bool "Comet Board"
94         ---help---
95           Support for the Comet platform.
96
97 endchoice
98
99 config HEXAGON_ARCH_VERSION
100         int "Architecture version"
101         default 2
102
103 config CMDLINE
104         string "Default kernel command string"
105         default ""
106         help
107           On some platforms, there is currently no way for the boot loader
108           to pass arguments to the kernel. For these, you should supply some
109           command-line options at build time by entering them here.  At a
110           minimum, you should specify the memory size and the root device
111           (e.g., mem=64M root=/dev/nfs).
112
113 config SMP
114         bool "Multi-Processing support"
115         ---help---
116           Enables SMP support in the kernel.  If unsure, say "Y"
117
118 config NR_CPUS
119         int "Maximum number of CPUs" if SMP
120         range 2 6 if SMP
121         default "1" if !SMP
122         default "6" if SMP
123         ---help---
124           This allows you to specify the maximum number of CPUs which this
125           kernel will support.  The maximum supported value is 6 and the
126           minimum value which makes sense is 2.
127
128           This is purely to save memory - each supported CPU adds
129           approximately eight kilobytes to the kernel image.
130
131 choice
132         prompt "Kernel page size"
133         default PAGE_SIZE_4KB
134         ---help---
135           Changes the default page size; use with caution.
136
137 config PAGE_SIZE_4KB
138         bool "4KB"
139
140 config PAGE_SIZE_16KB
141         bool "16KB"
142
143 config PAGE_SIZE_64KB
144         bool "64KB"
145
146 config PAGE_SIZE_256KB
147         bool "256KB"
148
149 endchoice
150
151 source "mm/Kconfig"
152
153 source "kernel/Kconfig.hz"
154
155 endmenu
156
157 source "init/Kconfig"
158 source "kernel/Kconfig.freezer"
159 source "drivers/Kconfig"
160 source "fs/Kconfig"
161
162 menu "Executable File Formats"
163 source "fs/Kconfig.binfmt"
164 endmenu
165
166 source "net/Kconfig"
167 source "security/Kconfig"
168 source "crypto/Kconfig"
169 source "lib/Kconfig"
170
171 menu "Kernel hacking"
172 source "lib/Kconfig.debug"
173 endmenu