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