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