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