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