Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[sfrench/cifs-2.6.git] / arch / hexagon / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 # Hexagon configuration
3 comment "Linux Kernel Configuration for Hexagon"
4
5 config HEXAGON
6         def_bool y
7         select ARCH_NO_PREEMPT
8         select HAVE_OPROFILE
9         # Other pending projects/to-do items.
10         # select HAVE_REGS_AND_STACK_ACCESS_API
11         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
12         # select ARCH_HAS_CPU_IDLE_WAIT
13         # select GPIOLIB
14         # select HAVE_CLK
15         # select GENERIC_PENDING_IRQ if SMP
16         select GENERIC_ATOMIC64
17         select HAVE_PERF_EVENTS
18         # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
19         select GENERIC_ALLOCATOR
20         select GENERIC_IRQ_SHOW
21         select HAVE_ARCH_KGDB
22         select HAVE_ARCH_TRACEHOOK
23         select NEED_SG_DMA_LENGTH
24         select NO_IOPORT_MAP
25         select GENERIC_IOMAP
26         select GENERIC_SMP_IDLE_THREAD
27         select STACKTRACE_SUPPORT
28         select GENERIC_CLOCKEVENTS
29         select GENERIC_CLOCKEVENTS_BROADCAST
30         select MODULES_USE_ELF_RELA
31         select GENERIC_CPU_DEVICES
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 RWSEM_GENERIC_SPINLOCK
69         def_bool n
70
71 config RWSEM_XCHGADD_ALGORITHM
72         def_bool y
73
74 config GENERIC_HWEIGHT
75         def_bool y
76
77 config STACKTRACE_SUPPORT
78         def_bool y
79         select STACKTRACE
80
81 config GENERIC_BUG
82         def_bool y
83         depends on BUG
84
85 menu "Machine selection"
86
87 choice
88         prompt "System type"
89         default HEXAGON_COMET
90
91 config HEXAGON_COMET
92         bool "Comet Board"
93         ---help---
94           Support for the Comet platform.
95
96 endchoice
97
98 config HEXAGON_ARCH_VERSION
99         int "Architecture version"
100         default 2
101
102 config CMDLINE
103         string "Default kernel command string"
104         default ""
105         help
106           On some platforms, there is currently no way for the boot loader
107           to pass arguments to the kernel. For these, you should supply some
108           command-line options at build time by entering them here.  At a
109           minimum, you should specify the memory size and the root device
110           (e.g., mem=64M root=/dev/nfs).
111
112 config SMP
113         bool "Multi-Processing support"
114         ---help---
115           Enables SMP support in the kernel.  If unsure, say "Y"
116
117 config NR_CPUS
118         int "Maximum number of CPUs" if SMP
119         range 2 6 if SMP
120         default "1" if !SMP
121         default "6" if SMP
122         ---help---
123           This allows you to specify the maximum number of CPUs which this
124           kernel will support.  The maximum supported value is 6 and the
125           minimum value which makes sense is 2.
126
127           This is purely to save memory - each supported CPU adds
128           approximately eight kilobytes to the kernel image.
129
130 choice
131         prompt "Kernel page size"
132         default PAGE_SIZE_4KB
133         ---help---
134           Changes the default page size; use with caution.
135
136 config PAGE_SIZE_4KB
137         bool "4KB"
138
139 config PAGE_SIZE_16KB
140         bool "16KB"
141
142 config PAGE_SIZE_64KB
143         bool "64KB"
144
145 config PAGE_SIZE_256KB
146         bool "256KB"
147
148 endchoice
149
150 source "kernel/Kconfig.hz"
151
152 endmenu