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