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