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