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