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