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