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