Merge tag 'loongarch-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai...
[platform/kernel/linux-rpi.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_IOREMAP
29         select GENERIC_SMP_IDLE_THREAD
30         select STACKTRACE_SUPPORT
31         select GENERIC_CLOCKEVENTS_BROADCAST
32         select LOCK_MM_AND_FIND_VMA
33         select MODULES_USE_ELF_RELA
34         select GENERIC_CPU_DEVICES
35         select ARCH_WANT_LD_ORPHAN_WARN
36         select TRACE_IRQFLAGS_SUPPORT
37         help
38           Qualcomm Hexagon is a processor architecture designed for high
39           performance and low power across a wide variety of applications.
40
41 config HEXAGON_PHYS_OFFSET
42         def_bool y
43         help
44           Platforms that don't load the kernel at zero set this.
45
46 config FRAME_POINTER
47         def_bool y
48
49 config LOCKDEP_SUPPORT
50         def_bool y
51
52 config EARLY_PRINTK
53         def_bool y
54
55 config MMU
56         def_bool y
57
58 config GENERIC_CSUM
59         def_bool y
60
61 #
62 # Use the generic interrupt handling code in kernel/irq/:
63 #
64 config GENERIC_IRQ_PROBE
65         def_bool y
66
67 config GENERIC_HWEIGHT
68         def_bool y
69
70 config STACKTRACE_SUPPORT
71         def_bool y
72         select STACKTRACE
73
74 config GENERIC_BUG
75         def_bool y
76         depends on BUG
77
78 menu "Machine selection"
79
80 choice
81         prompt "System type"
82         default HEXAGON_COMET
83
84 config HEXAGON_COMET
85         bool "Comet Board"
86         help
87           Support for the Comet platform.
88
89 endchoice
90
91 config HEXAGON_ARCH_VERSION
92         int "Architecture version"
93         default 2
94
95 config CMDLINE
96         string "Default kernel command string"
97         default ""
98         help
99           On some platforms, there is currently no way for the boot loader
100           to pass arguments to the kernel. For these, you should supply some
101           command-line options at build time by entering them here.  At a
102           minimum, you should specify the memory size and the root device
103           (e.g., mem=64M root=/dev/nfs).
104
105 config SMP
106         bool "Multi-Processing support"
107         help
108           Enables SMP support in the kernel.  If unsure, say "Y"
109
110 config NR_CPUS
111         int "Maximum number of CPUs" if SMP
112         range 2 6 if SMP
113         default "1" if !SMP
114         default "6" if SMP
115         help
116           This allows you to specify the maximum number of CPUs which this
117           kernel will support.  The maximum supported value is 6 and the
118           minimum value which makes sense is 2.
119
120           This is purely to save memory - each supported CPU adds
121           approximately eight kilobytes to the kernel image.
122
123 choice
124         prompt "Kernel page size"
125         default PAGE_SIZE_4KB
126         help
127           Changes the default page size; use with caution.
128
129 config PAGE_SIZE_4KB
130         bool "4KB"
131
132 config PAGE_SIZE_16KB
133         bool "16KB"
134
135 config PAGE_SIZE_64KB
136         bool "64KB"
137
138 config PAGE_SIZE_256KB
139         bool "256KB"
140
141 endchoice
142
143 source "kernel/Kconfig.hz"
144
145 endmenu