hexagon: switch to NO_BOOTMEM
[muen/linux.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_HAS_SYNC_DMA_FOR_DEVICE
8         select ARCH_NO_PREEMPT
9         select HAVE_OPROFILE
10         # Other pending projects/to-do items.
11         # select HAVE_REGS_AND_STACK_ACCESS_API
12         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
13         # select ARCH_HAS_CPU_IDLE_WAIT
14         # select GPIOLIB
15         # select HAVE_CLK
16         # select GENERIC_PENDING_IRQ if SMP
17         select GENERIC_ATOMIC64
18         select HAVE_PERF_EVENTS
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 HAVE_MEMBLOCK
25         select ARCH_DISCARD_MEMBLOCK
26         select NO_BOOTMEM
27         select NEED_SG_DMA_LENGTH
28         select NO_IOPORT_MAP
29         select GENERIC_IOMAP
30         select GENERIC_SMP_IDLE_THREAD
31         select STACKTRACE_SUPPORT
32         select GENERIC_CLOCKEVENTS
33         select GENERIC_CLOCKEVENTS_BROADCAST
34         select MODULES_USE_ELF_RELA
35         select GENERIC_CPU_DEVICES
36         select DMA_DIRECT_OPS
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 PCI
53         def_bool n
54
55 config EARLY_PRINTK
56         def_bool y
57
58 config MMU
59         def_bool y
60
61 config TRACE_IRQFLAGS_SUPPORT
62         def_bool y
63
64 config GENERIC_CSUM
65         def_bool y
66
67 #
68 # Use the generic interrupt handling code in kernel/irq/:
69 #
70 config GENERIC_IRQ_PROBE
71         def_bool y
72
73 config RWSEM_GENERIC_SPINLOCK
74         def_bool n
75
76 config RWSEM_XCHGADD_ALGORITHM
77         def_bool y
78
79 config GENERIC_HWEIGHT
80         def_bool y
81
82 config STACKTRACE_SUPPORT
83         def_bool y
84         select STACKTRACE
85
86 config GENERIC_BUG
87         def_bool y
88         depends on BUG
89
90 menu "Machine selection"
91
92 choice
93         prompt "System type"
94         default HEXAGON_COMET
95
96 config HEXAGON_COMET
97         bool "Comet Board"
98         ---help---
99           Support for the Comet platform.
100
101 endchoice
102
103 config HEXAGON_ARCH_VERSION
104         int "Architecture version"
105         default 2
106
107 config CMDLINE
108         string "Default kernel command string"
109         default ""
110         help
111           On some platforms, there is currently no way for the boot loader
112           to pass arguments to the kernel. For these, you should supply some
113           command-line options at build time by entering them here.  At a
114           minimum, you should specify the memory size and the root device
115           (e.g., mem=64M root=/dev/nfs).
116
117 config SMP
118         bool "Multi-Processing support"
119         ---help---
120           Enables SMP support in the kernel.  If unsure, say "Y"
121
122 config NR_CPUS
123         int "Maximum number of CPUs" if SMP
124         range 2 6 if SMP
125         default "1" if !SMP
126         default "6" if SMP
127         ---help---
128           This allows you to specify the maximum number of CPUs which this
129           kernel will support.  The maximum supported value is 6 and the
130           minimum value which makes sense is 2.
131
132           This is purely to save memory - each supported CPU adds
133           approximately eight kilobytes to the kernel image.
134
135 choice
136         prompt "Kernel page size"
137         default PAGE_SIZE_4KB
138         ---help---
139           Changes the default page size; use with caution.
140
141 config PAGE_SIZE_4KB
142         bool "4KB"
143
144 config PAGE_SIZE_16KB
145         bool "16KB"
146
147 config PAGE_SIZE_64KB
148         bool "64KB"
149
150 config PAGE_SIZE_256KB
151         bool "256KB"
152
153 endchoice
154
155 source "kernel/Kconfig.hz"
156
157 endmenu