Merge tag 'pipe-nonblock-2023-05-06' of git://git.kernel.dk/linux
[linux-block.git] / arch / hexagon / Kconfig
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
e95bf452
RK
2# Hexagon configuration
3comment "Linux Kernel Configuration for Hexagon"
4
5config HEXAGON
6 def_bool y
942fa985 7 select ARCH_32BIT_OFF_T
e0a9317d 8 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
87a4c375 9 select ARCH_NO_PREEMPT
c1dec343 10 select DMA_GLOBAL_POOL
e95bf452
RK
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
d4f80b81 15 # select GPIOLIB
e95bf452 16 # select HAVE_CLK
e95bf452
RK
17 # select GENERIC_PENDING_IRQ if SMP
18 select GENERIC_ATOMIC64
19 select HAVE_PERF_EVENTS
e95bf452
RK
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
86596f0a 25 select NEED_SG_DMA_LENGTH
ce816fa8 26 select NO_IOPORT_MAP
4673ca8e 27 select GENERIC_IOMAP
3b0132ce 28 select GENERIC_SMP_IDLE_THREAD
5042ab91 29 select STACKTRACE_SUPPORT
24a6f35e 30 select GENERIC_CLOCKEVENTS_BROADCAST
786d35d4 31 select MODULES_USE_ELF_RELA
53debcd5 32 select GENERIC_CPU_DEVICES
113616ec 33 select ARCH_WANT_LD_ORPHAN_WARN
4aae683f 34 select TRACE_IRQFLAGS_SUPPORT
a7f7f624 35 help
e95bf452
RK
36 Qualcomm Hexagon is a processor architecture designed for high
37 performance and low power across a wide variety of applications.
38
8f5a0b9d
RK
39config HEXAGON_PHYS_OFFSET
40 def_bool y
a7f7f624 41 help
8f5a0b9d
RK
42 Platforms that don't load the kernel at zero set this.
43
e95bf452
RK
44config FRAME_POINTER
45 def_bool y
46
47config LOCKDEP_SUPPORT
48 def_bool y
49
e95bf452
RK
50config EARLY_PRINTK
51 def_bool y
52
e95bf452
RK
53config MMU
54 def_bool y
55
e95bf452
RK
56config GENERIC_CSUM
57 def_bool y
58
59#
60# Use the generic interrupt handling code in kernel/irq/:
61#
62config GENERIC_IRQ_PROBE
63 def_bool y
e95bf452 64
e95bf452
RK
65config GENERIC_HWEIGHT
66 def_bool y
67
e95bf452
RK
68config STACKTRACE_SUPPORT
69 def_bool y
70 select STACKTRACE
71
72config GENERIC_BUG
73 def_bool y
74 depends on BUG
75
e95bf452
RK
76menu "Machine selection"
77
78choice
79 prompt "System type"
5042ab91 80 default HEXAGON_COMET
e95bf452
RK
81
82config HEXAGON_COMET
83 bool "Comet Board"
a7f7f624 84 help
e95bf452
RK
85 Support for the Comet platform.
86
87endchoice
88
66b03dbf
RK
89config HEXAGON_ARCH_VERSION
90 int "Architecture version"
91 default 2
92
e95bf452
RK
93config CMDLINE
94 string "Default kernel command string"
95 default ""
96 help
97 On some platforms, there is currently no way for the boot loader
98 to pass arguments to the kernel. For these, you should supply some
99 command-line options at build time by entering them here. At a
100 minimum, you should specify the memory size and the root device
101 (e.g., mem=64M root=/dev/nfs).
102
e95bf452
RK
103config SMP
104 bool "Multi-Processing support"
a7f7f624 105 help
e95bf452
RK
106 Enables SMP support in the kernel. If unsure, say "Y"
107
108config NR_CPUS
109 int "Maximum number of CPUs" if SMP
110 range 2 6 if SMP
111 default "1" if !SMP
112 default "6" if SMP
a7f7f624 113 help
e95bf452
RK
114 This allows you to specify the maximum number of CPUs which this
115 kernel will support. The maximum supported value is 6 and the
116 minimum value which makes sense is 2.
117
118 This is purely to save memory - each supported CPU adds
119 approximately eight kilobytes to the kernel image.
120
121choice
122 prompt "Kernel page size"
123 default PAGE_SIZE_4KB
a7f7f624 124 help
e95bf452
RK
125 Changes the default page size; use with caution.
126
127config PAGE_SIZE_4KB
128 bool "4KB"
129
130config PAGE_SIZE_16KB
131 bool "16KB"
132
133config PAGE_SIZE_64KB
134 bool "64KB"
135
136config PAGE_SIZE_256KB
137 bool "256KB"
138
139endchoice
140
e95bf452 141source "kernel/Kconfig.hz"
e95bf452 142
e95bf452 143endmenu