Merge tag 'tag-chrome-platform-for-v5.2' of ssh://gitolite.kernel.org/pub/scm/linux...
[linux-2.6-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
e95bf452 10 select HAVE_OPROFILE
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
426dcd4b 25 select ARCH_DISCARD_MEMBLOCK
86596f0a 26 select NEED_SG_DMA_LENGTH
ce816fa8 27 select NO_IOPORT_MAP
4673ca8e 28 select GENERIC_IOMAP
3b0132ce 29 select GENERIC_SMP_IDLE_THREAD
5042ab91 30 select STACKTRACE_SUPPORT
24a6f35e
AMG
31 select GENERIC_CLOCKEVENTS
32 select GENERIC_CLOCKEVENTS_BROADCAST
786d35d4 33 select MODULES_USE_ELF_RELA
53debcd5 34 select GENERIC_CPU_DEVICES
e95bf452
RK
35 ---help---
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
41 ---help---
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
56config TRACE_IRQFLAGS_SUPPORT
57 def_bool y
58
59config GENERIC_CSUM
60 def_bool y
61
62#
63# Use the generic interrupt handling code in kernel/irq/:
64#
65config GENERIC_IRQ_PROBE
66 def_bool y
e95bf452 67
e95bf452
RK
68config GENERIC_HWEIGHT
69 def_bool y
70
e95bf452
RK
71config STACKTRACE_SUPPORT
72 def_bool y
73 select STACKTRACE
74
75config GENERIC_BUG
76 def_bool y
77 depends on BUG
78
e95bf452
RK
79menu "Machine selection"
80
81choice
82 prompt "System type"
5042ab91 83 default HEXAGON_COMET
e95bf452
RK
84
85config HEXAGON_COMET
86 bool "Comet Board"
e95bf452
RK
87 ---help---
88 Support for the Comet platform.
89
90endchoice
91
66b03dbf
RK
92config HEXAGON_ARCH_VERSION
93 int "Architecture version"
94 default 2
95
e95bf452
RK
96config CMDLINE
97 string "Default kernel command string"
98 default ""
99 help
100 On some platforms, there is currently no way for the boot loader
101 to pass arguments to the kernel. For these, you should supply some
102 command-line options at build time by entering them here. At a
103 minimum, you should specify the memory size and the root device
104 (e.g., mem=64M root=/dev/nfs).
105
e95bf452
RK
106config SMP
107 bool "Multi-Processing support"
108 ---help---
109 Enables SMP support in the kernel. If unsure, say "Y"
110
111config NR_CPUS
112 int "Maximum number of CPUs" if SMP
113 range 2 6 if SMP
114 default "1" if !SMP
115 default "6" if SMP
116 ---help---
117 This allows you to specify the maximum number of CPUs which this
118 kernel will support. The maximum supported value is 6 and the
119 minimum value which makes sense is 2.
120
121 This is purely to save memory - each supported CPU adds
122 approximately eight kilobytes to the kernel image.
123
124choice
125 prompt "Kernel page size"
126 default PAGE_SIZE_4KB
127 ---help---
128 Changes the default page size; use with caution.
129
130config PAGE_SIZE_4KB
131 bool "4KB"
132
133config PAGE_SIZE_16KB
134 bool "16KB"
135
136config PAGE_SIZE_64KB
137 bool "64KB"
138
139config PAGE_SIZE_256KB
140 bool "256KB"
141
142endchoice
143
e95bf452 144source "kernel/Kconfig.hz"
e95bf452 145
e95bf452 146endmenu