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