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