xref: /linux/arch/hexagon/Kconfig (revision 5148fa52a12fa1b97c730b2fe321f2aad7ea041c)
1# Hexagon configuration
2comment "Linux Kernel Configuration for Hexagon"
3
4config HEXAGON
5	def_bool y
6	select HAVE_OPROFILE
7	select USE_GENERIC_SMP_HELPERS if SMP
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 ARCH_WANT_OPTIONAL_GPIOLIB
13	# select ARCH_REQUIRE_GPIOLIB
14	# select HAVE_CLK
15	# select IRQ_PER_CPU
16	select HAVE_IRQ_WORK
17	# select GENERIC_PENDING_IRQ if SMP
18	select GENERIC_ATOMIC64
19	select HAVE_PERF_EVENTS
20	select HAVE_GENERIC_HARDIRQS
21	# GENERIC_ALLOCATOR is used by dma_alloc_coherent()
22	select GENERIC_ALLOCATOR
23	select GENERIC_IRQ_SHOW
24	select HAVE_ARCH_KGDB
25	select HAVE_ARCH_TRACEHOOK
26	select NO_IOPORT
27	select GENERIC_IOMAP
28	select GENERIC_SMP_IDLE_THREAD
29	# mostly generic routines, with some accelerated ones
30	---help---
31	  Qualcomm Hexagon is a processor architecture designed for high
32	  performance and low power across a wide variety of applications.
33
34config HEXAGON_ARCH_V1
35	bool
36
37config HEXAGON_ARCH_V2
38	bool
39
40config HEXAGON_ARCH_V3
41	bool
42
43config HEXAGON_ARCH_V4
44	bool
45
46config FRAME_POINTER
47	def_bool y
48
49config LOCKDEP_SUPPORT
50	def_bool y
51
52config PCI
53	def_bool n
54
55config EARLY_PRINTK
56	def_bool y
57
58config KTIME_SCALAR
59	def_bool y
60
61config MMU
62	def_bool y
63
64config TRACE_IRQFLAGS_SUPPORT
65	def_bool y
66
67config GENERIC_CSUM
68	def_bool y
69
70#
71# Use the generic interrupt handling code in kernel/irq/:
72#
73config GENERIC_IRQ_PROBE
74	def_bool y
75
76#config ZONE_DMA
77#	bool
78#	default y
79
80config HAS_DMA
81	bool
82	select HAVE_DMA_ATTRS
83	default y
84
85config NEED_SG_DMA_LENGTH
86	def_bool y
87
88config RWSEM_GENERIC_SPINLOCK
89	def_bool n
90
91config RWSEM_XCHGADD_ALGORITHM
92	def_bool y
93
94config GENERIC_FIND_NEXT_BIT
95	def_bool y
96
97config GENERIC_HWEIGHT
98	def_bool y
99
100config GENERIC_TIME
101	def_bool y
102
103config GENERIC_CLOCKEVENTS
104	def_bool y
105
106config GENERIC_CLOCKEVENTS_BROADCAST
107	def_bool y
108
109config STACKTRACE_SUPPORT
110	def_bool y
111	select STACKTRACE
112
113config GENERIC_BUG
114	def_bool y
115	depends on BUG
116
117config BUG
118	def_bool y
119
120menu "Machine selection"
121
122choice
123	prompt "System type"
124	default HEXAGON_ARCH_V2
125
126config HEXAGON_COMET
127	bool "Comet Board"
128	select HEXAGON_ARCH_V2
129	---help---
130	  Support for the Comet platform.
131
132endchoice
133
134config HEXAGON_VM
135	def_bool y
136
137config CMDLINE
138	string "Default kernel command string"
139	default ""
140	help
141	  On some platforms, there is currently no way for the boot loader
142	  to pass arguments to the kernel. For these, you should supply some
143	  command-line options at build time by entering them here.  At a
144	  minimum, you should specify the memory size and the root device
145	  (e.g., mem=64M root=/dev/nfs).
146
147config HEXAGON_ANGEL_TRAPS
148	bool "Use Angel Traps"
149	default n
150	---help---
151	  Enable angel debug traps (for printk's).
152
153config SMP
154	bool "Multi-Processing support"
155	---help---
156	  Enables SMP support in the kernel.  If unsure, say "Y"
157
158config NR_CPUS
159	int "Maximum number of CPUs" if SMP
160	range 2 6 if SMP
161	default "1" if !SMP
162	default "6" if SMP
163	---help---
164	  This allows you to specify the maximum number of CPUs which this
165	  kernel will support.  The maximum supported value is 6 and the
166	  minimum value which makes sense is 2.
167
168	  This is purely to save memory - each supported CPU adds
169	  approximately eight kilobytes to the kernel image.
170
171choice
172	prompt "Kernel page size"
173	default PAGE_SIZE_4KB
174	---help---
175	  Changes the default page size; use with caution.
176
177config PAGE_SIZE_4KB
178	bool "4KB"
179
180config PAGE_SIZE_16KB
181	bool "16KB"
182
183config PAGE_SIZE_64KB
184	bool "64KB"
185
186config PAGE_SIZE_256KB
187	bool "256KB"
188
189endchoice
190
191source "mm/Kconfig"
192
193source "kernel/Kconfig.hz"
194source "kernel/time/Kconfig"
195
196config GENERIC_GPIO
197	bool "Generic GPIO support"
198	default n
199
200endmenu
201
202source "init/Kconfig"
203source "drivers/Kconfig"
204source "fs/Kconfig"
205
206menu "Executable File Formats"
207source "fs/Kconfig.binfmt"
208endmenu
209
210source "net/Kconfig"
211source "security/Kconfig"
212source "crypto/Kconfig"
213source "lib/Kconfig"
214
215menu "Kernel hacking"
216source "lib/Kconfig.debug"
217endmenu
218