blob: cc2c1ae48e62d86326f62c7f1080d7036d00e9e9 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001# SPDX-License-Identifier: GPL-2.0
2# Hexagon configuration
3comment "Linux Kernel Configuration for Hexagon"
4
5config HEXAGON
6 def_bool y
David Brazdil0f672f62019-12-10 10:32:29 +00007 select ARCH_32BIT_OFF_T
8 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00009 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
Olivier Deprez157378f2022-04-04 15:47:50 +020034 select SET_FS
Olivier Deprez92d4c212022-12-06 15:05:30 +010035 select ARCH_WANT_LD_ORPHAN_WARN
Olivier Deprez157378f2022-04-04 15:47:50 +020036 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000037 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
Olivier Deprez157378f2022-04-04 15:47:50 +020042 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000043 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000051config 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000069config 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"
Olivier Deprez157378f2022-04-04 15:47:50 +020088 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000089 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"
Olivier Deprez157378f2022-04-04 15:47:50 +0200109 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000110 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
Olivier Deprez157378f2022-04-04 15:47:50 +0200117 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000118 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
Olivier Deprez157378f2022-04-04 15:47:50 +0200128 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000129 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