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