Merge tag 'timers-core-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / arch / hexagon / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 # Hexagon configuration
3 comment "Linux Kernel Configuration for Hexagon"
4
5 config 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 ARCH_WANT_FRAME_POINTERS
11         select DMA_GLOBAL_POOL
12         select HAVE_PAGE_SIZE_4KB
13         select HAVE_PAGE_SIZE_16KB
14         select HAVE_PAGE_SIZE_64KB
15         select HAVE_PAGE_SIZE_256KB
16         select FRAME_POINTER
17         # Other pending projects/to-do items.
18         # select HAVE_REGS_AND_STACK_ACCESS_API
19         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
20         # select ARCH_HAS_CPU_IDLE_WAIT
21         # select GPIOLIB
22         # select HAVE_CLK
23         # select GENERIC_PENDING_IRQ if SMP
24         select GENERIC_ATOMIC64
25         select HAVE_PERF_EVENTS
26         # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
27         select GENERIC_ALLOCATOR
28         select GENERIC_IRQ_PROBE
29         select GENERIC_IRQ_SHOW
30         select HAVE_ARCH_KGDB
31         select HAVE_ARCH_TRACEHOOK
32         select NEED_SG_DMA_LENGTH
33         select NO_IOPORT_MAP
34         select GENERIC_IOMAP
35         select GENERIC_IOREMAP
36         select GENERIC_SMP_IDLE_THREAD
37         select STACKTRACE_SUPPORT
38         select GENERIC_CLOCKEVENTS_BROADCAST
39         select LOCK_MM_AND_FIND_VMA
40         select MODULES_USE_ELF_RELA
41         select GENERIC_CPU_DEVICES
42         select ARCH_WANT_LD_ORPHAN_WARN
43         select TRACE_IRQFLAGS_SUPPORT
44         help
45           Qualcomm Hexagon is a processor architecture designed for high
46           performance and low power across a wide variety of applications.
47
48 config HEXAGON_PHYS_OFFSET
49         def_bool y
50         help
51           Platforms that don't load the kernel at zero set this.
52
53 config LOCKDEP_SUPPORT
54         def_bool y
55
56 config EARLY_PRINTK
57         def_bool y
58
59 config MMU
60         def_bool y
61
62 config GENERIC_CSUM
63         def_bool y
64
65 config GENERIC_HWEIGHT
66         def_bool y
67
68 config STACKTRACE_SUPPORT
69         def_bool y
70         select STACKTRACE
71
72 config GENERIC_BUG
73         def_bool y
74         depends on BUG
75
76 menu "Machine selection"
77
78 choice
79         prompt "System type"
80         default HEXAGON_COMET
81
82 config HEXAGON_COMET
83         bool "Comet Board"
84         help
85           Support for the Comet platform.
86
87 endchoice
88
89 config HEXAGON_ARCH_VERSION
90         int "Architecture version"
91         default 2
92
93 config CMDLINE
94         string "Default kernel command string"
95         default ""
96         help
97           On some platforms, there is currently no way for the boot loader
98           to pass arguments to the kernel. For these, you should supply some
99           command-line options at build time by entering them here.  At a
100           minimum, you should specify the memory size and the root device
101           (e.g., mem=64M root=/dev/nfs).
102
103 config SMP
104         bool "Multi-Processing support"
105         help
106           Enables SMP support in the kernel.  If unsure, say "Y"
107
108 config NR_CPUS
109         int "Maximum number of CPUs" if SMP
110         range 2 6 if SMP
111         default "1" if !SMP
112         default "6" if SMP
113         help
114           This allows you to specify the maximum number of CPUs which this
115           kernel will support.  The maximum supported value is 6 and the
116           minimum value which makes sense is 2.
117
118           This is purely to save memory - each supported CPU adds
119           approximately eight kilobytes to the kernel image.
120
121 source "kernel/Kconfig.hz"
122
123 endmenu