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