Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.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_32BIT_OFF_T
8         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
9         select ARCH_NO_PREEMPT
10         select DMA_GLOBAL_POOL
11         # Other pending projects/to-do items.
12         # select HAVE_REGS_AND_STACK_ACCESS_API
13         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
14         # select ARCH_HAS_CPU_IDLE_WAIT
15         # select GPIOLIB
16         # select HAVE_CLK
17         # select GENERIC_PENDING_IRQ if SMP
18         select GENERIC_ATOMIC64
19         select HAVE_PERF_EVENTS
20         # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
21         select GENERIC_ALLOCATOR
22         select GENERIC_IRQ_SHOW
23         select HAVE_ARCH_KGDB
24         select HAVE_ARCH_TRACEHOOK
25         select NEED_SG_DMA_LENGTH
26         select NO_IOPORT_MAP
27         select GENERIC_IOMAP
28         select GENERIC_SMP_IDLE_THREAD
29         select STACKTRACE_SUPPORT
30         select GENERIC_CLOCKEVENTS_BROADCAST
31         select MODULES_USE_ELF_RELA
32         select GENERIC_CPU_DEVICES
33         select SET_FS
34         select ARCH_WANT_LD_ORPHAN_WARN
35         help
36           Qualcomm Hexagon is a processor architecture designed for high
37           performance and low power across a wide variety of applications.
38
39 config HEXAGON_PHYS_OFFSET
40         def_bool y
41         help
42           Platforms that don't load the kernel at zero set this.
43
44 config FRAME_POINTER
45         def_bool y
46
47 config LOCKDEP_SUPPORT
48         def_bool y
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 GENERIC_HWEIGHT
69         def_bool y
70
71 config STACKTRACE_SUPPORT
72         def_bool y
73         select STACKTRACE
74
75 config GENERIC_BUG
76         def_bool y
77         depends on BUG
78
79 menu "Machine selection"
80
81 choice
82         prompt "System type"
83         default HEXAGON_COMET
84
85 config HEXAGON_COMET
86         bool "Comet Board"
87         help
88           Support for the Comet platform.
89
90 endchoice
91
92 config HEXAGON_ARCH_VERSION
93         int "Architecture version"
94         default 2
95
96 config CMDLINE
97         string "Default kernel command string"
98         default ""
99         help
100           On some platforms, there is currently no way for the boot loader
101           to pass arguments to the kernel. For these, you should supply some
102           command-line options at build time by entering them here.  At a
103           minimum, you should specify the memory size and the root device
104           (e.g., mem=64M root=/dev/nfs).
105
106 config SMP
107         bool "Multi-Processing support"
108         help
109           Enables SMP support in the kernel.  If unsure, say "Y"
110
111 config NR_CPUS
112         int "Maximum number of CPUs" if SMP
113         range 2 6 if SMP
114         default "1" if !SMP
115         default "6" if SMP
116         help
117           This allows you to specify the maximum number of CPUs which this
118           kernel will support.  The maximum supported value is 6 and the
119           minimum value which makes sense is 2.
120
121           This is purely to save memory - each supported CPU adds
122           approximately eight kilobytes to the kernel image.
123
124 choice
125         prompt "Kernel page size"
126         default PAGE_SIZE_4KB
127         help
128           Changes the default page size; use with caution.
129
130 config PAGE_SIZE_4KB
131         bool "4KB"
132
133 config PAGE_SIZE_16KB
134         bool "16KB"
135
136 config PAGE_SIZE_64KB
137         bool "64KB"
138
139 config PAGE_SIZE_256KB
140         bool "256KB"
141
142 endchoice
143
144 source "kernel/Kconfig.hz"
145
146 endmenu