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