blob: 15dd8f38b6988e6301b60d510e37ae47d6dc9a05 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Richard Kuoe95bf452011-10-31 18:55:58 -05002# Hexagon configuration
3comment "Linux Kernel Configuration for Hexagon"
4
5config HEXAGON
6 def_bool y
Yury Norov942fa982018-05-16 11:18:49 +03007 select ARCH_32BIT_OFF_T
Christoph Hellwige0a93172018-08-20 13:54:29 +02008 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
Christoph Hellwig87a4c372018-07-31 13:39:32 +02009 select ARCH_NO_PREEMPT
Christoph Hellwigc1dec342021-06-23 16:11:21 +020010 select DMA_GLOBAL_POOL
Richard Kuoe95bf452011-10-31 18:55:58 -050011 # 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
Linus Walleijd4f80b82016-04-19 11:15:21 +020015 # select GPIOLIB
Richard Kuoe95bf452011-10-31 18:55:58 -050016 # select HAVE_CLK
Richard Kuoe95bf452011-10-31 18:55:58 -050017 # select GENERIC_PENDING_IRQ if SMP
18 select GENERIC_ATOMIC64
19 select HAVE_PERF_EVENTS
Richard Kuoe95bf452011-10-31 18:55:58 -050020 # 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
Christoph Hellwig86596f02018-04-05 09:44:52 +020025 select NEED_SG_DMA_LENGTH
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070026 select NO_IOPORT_MAP
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020027 select GENERIC_IOMAP
Thomas Gleixner3b0132c2012-04-20 13:05:51 +000028 select GENERIC_SMP_IDLE_THREAD
Richard Kuo5042ab92011-11-15 16:31:48 -060029 select STACKTRACE_SUPPORT
Anna-Maria Gleixner24a6f352012-05-18 16:45:47 +000030 select GENERIC_CLOCKEVENTS_BROADCAST
David Howells786d35d2012-09-28 14:31:03 +093031 select MODULES_USE_ELF_RELA
Richard Kuo53debcd2012-04-03 18:15:42 -050032 select GENERIC_CPU_DEVICES
Christoph Hellwig5e6e9852020-09-03 16:22:35 +020033 select SET_FS
Nathan Chancellor113616e2021-07-07 18:07:44 -070034 select ARCH_WANT_LD_ORPHAN_WARN
Masahiro Yamada4aae6832021-07-31 14:22:32 +090035 select TRACE_IRQFLAGS_SUPPORT
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090036 help
Richard Kuoe95bf452011-10-31 18:55:58 -050037 Qualcomm Hexagon is a processor architecture designed for high
38 performance and low power across a wide variety of applications.
39
Richard Kuo8f5a0b9d2013-03-22 16:05:40 -050040config HEXAGON_PHYS_OFFSET
41 def_bool y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090042 help
Richard Kuo8f5a0b9d2013-03-22 16:05:40 -050043 Platforms that don't load the kernel at zero set this.
44
Richard Kuoe95bf452011-10-31 18:55:58 -050045config FRAME_POINTER
46 def_bool y
47
48config LOCKDEP_SUPPORT
49 def_bool y
50
Richard Kuoe95bf452011-10-31 18:55:58 -050051config EARLY_PRINTK
52 def_bool y
53
Richard Kuoe95bf452011-10-31 18:55:58 -050054config MMU
55 def_bool y
56
Richard Kuoe95bf452011-10-31 18:55:58 -050057config 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
Richard Kuoe95bf452011-10-31 18:55:58 -050066config GENERIC_HWEIGHT
67 def_bool y
68
Richard Kuoe95bf452011-10-31 18:55:58 -050069config STACKTRACE_SUPPORT
70 def_bool y
71 select STACKTRACE
72
73config GENERIC_BUG
74 def_bool y
75 depends on BUG
76
Richard Kuoe95bf452011-10-31 18:55:58 -050077menu "Machine selection"
78
79choice
80 prompt "System type"
Richard Kuo5042ab92011-11-15 16:31:48 -060081 default HEXAGON_COMET
Richard Kuoe95bf452011-10-31 18:55:58 -050082
83config HEXAGON_COMET
84 bool "Comet Board"
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090085 help
Richard Kuoe95bf452011-10-31 18:55:58 -050086 Support for the Comet platform.
87
88endchoice
89
Richard Kuo66b03db2012-03-27 17:37:33 -050090config HEXAGON_ARCH_VERSION
91 int "Architecture version"
92 default 2
93
Richard Kuoe95bf452011-10-31 18:55:58 -050094config 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
Richard Kuoe95bf452011-10-31 18:55:58 -0500104config SMP
105 bool "Multi-Processing support"
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900106 help
Richard Kuoe95bf452011-10-31 18:55:58 -0500107 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
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900114 help
Richard Kuoe95bf452011-10-31 18:55:58 -0500115 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
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900125 help
Richard Kuoe95bf452011-10-31 18:55:58 -0500126 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
Richard Kuoe95bf452011-10-31 18:55:58 -0500142source "kernel/Kconfig.hz"
Richard Kuoe95bf452011-10-31 18:55:58 -0500143
Richard Kuoe95bf452011-10-31 18:55:58 -0500144endmenu