hexagon: use generic strncpy/strnlen from_user
[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         # Other pending projects/to-do items.
11         # select HAVE_REGS_AND_STACK_ACCESS_API
12         # select HAVE_HW_BREAKPOINT if PERF_EVENTS
13         # select ARCH_HAS_CPU_IDLE_WAIT
14         # select GPIOLIB
15         # select HAVE_CLK
16         # select GENERIC_PENDING_IRQ if SMP
17         select GENERIC_ATOMIC64
18         select HAVE_PERF_EVENTS
19         # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
20         select GENERIC_ALLOCATOR
21         select GENERIC_IRQ_SHOW
22         select GENERIC_STRNCPY_FROM_USER
23         select GENERIC_STRNLEN_USER
24         select HAVE_ARCH_KGDB
25         select HAVE_ARCH_TRACEHOOK
26         select NEED_SG_DMA_LENGTH
27         select NO_IOPORT_MAP
28         select GENERIC_IOMAP
29         select GENERIC_SMP_IDLE_THREAD
30         select STACKTRACE_SUPPORT
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
40 config HEXAGON_PHYS_OFFSET
41         def_bool y
42         help
43           Platforms that don't load the kernel at zero set this.
44
45 config FRAME_POINTER
46         def_bool y
47
48 config LOCKDEP_SUPPORT
49         def_bool y
50
51 config EARLY_PRINTK
52         def_bool y
53
54 config MMU
55         def_bool y
56
57 config TRACE_IRQFLAGS_SUPPORT
58         def_bool y
59
60 config GENERIC_CSUM
61         def_bool y
62
63 #
64 # Use the generic interrupt handling code in kernel/irq/:
65 #
66 config GENERIC_IRQ_PROBE
67         def_bool y
68
69 config GENERIC_HWEIGHT
70         def_bool y
71
72 config STACKTRACE_SUPPORT
73         def_bool y
74         select STACKTRACE
75
76 config GENERIC_BUG
77         def_bool y
78         depends on BUG
79
80 menu "Machine selection"
81
82 choice
83         prompt "System type"
84         default HEXAGON_COMET
85
86 config HEXAGON_COMET
87         bool "Comet Board"
88         help
89           Support for the Comet platform.
90
91 endchoice
92
93 config HEXAGON_ARCH_VERSION
94         int "Architecture version"
95         default 2
96
97 config 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
107 config SMP
108         bool "Multi-Processing support"
109         help
110           Enables SMP support in the kernel.  If unsure, say "Y"
111
112 config 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
125 choice
126         prompt "Kernel page size"
127         default PAGE_SIZE_4KB
128         help
129           Changes the default page size; use with caution.
130
131 config PAGE_SIZE_4KB
132         bool "4KB"
133
134 config PAGE_SIZE_16KB
135         bool "16KB"
136
137 config PAGE_SIZE_64KB
138         bool "64KB"
139
140 config PAGE_SIZE_256KB
141         bool "256KB"
142
143 endchoice
144
145 source "kernel/Kconfig.hz"
146
147 endmenu