xref: /linux/arch/microblaze/Kconfig (revision cb299ba8b5ef2239429484072fea394cd7581bd7)
1# For a description of the syntax of this configuration file,
2# see Documentation/kbuild/kconfig-language.txt.
3
4mainmenu "Linux/Microblaze Kernel Configuration"
5
6config MICROBLAZE
7	def_bool y
8	select HAVE_MEMBLOCK
9	select HAVE_FUNCTION_TRACER
10	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
11	select HAVE_FUNCTION_GRAPH_TRACER
12	select HAVE_DYNAMIC_FTRACE
13	select HAVE_FTRACE_MCOUNT_RECORD
14	select USB_ARCH_HAS_EHCI
15	select ARCH_WANT_OPTIONAL_GPIOLIB
16	select HAVE_OPROFILE
17	select HAVE_ARCH_KGDB
18	select HAVE_DMA_ATTRS
19	select HAVE_DMA_API_DEBUG
20	select TRACING_SUPPORT
21	select OF
22	select OF_FLATTREE
23
24config SWAP
25	def_bool n
26
27config RWSEM_GENERIC_SPINLOCK
28	def_bool y
29
30config RWSEM_XCHGADD_ALGORITHM
31	bool
32
33config ARCH_HAS_ILOG2_U32
34	def_bool n
35
36config ARCH_HAS_ILOG2_U64
37	def_bool n
38
39config GENERIC_FIND_NEXT_BIT
40	def_bool y
41
42config GENERIC_HWEIGHT
43	def_bool y
44
45config GENERIC_HARDIRQS
46	def_bool y
47
48config GENERIC_IRQ_PROBE
49	def_bool y
50
51config GENERIC_CALIBRATE_DELAY
52	def_bool y
53
54config GENERIC_TIME_VSYSCALL
55	def_bool n
56
57config GENERIC_CLOCKEVENTS
58	def_bool y
59
60config GENERIC_HARDIRQS_NO__DO_IRQ
61	def_bool y
62
63config GENERIC_GPIO
64	def_bool y
65
66config GENERIC_CSUM
67	def_bool y
68
69config STACKTRACE_SUPPORT
70	def_bool y
71
72config LOCKDEP_SUPPORT
73	def_bool y
74
75config HAVE_LATENCYTOP_SUPPORT
76	def_bool y
77
78source "init/Kconfig"
79
80source "kernel/Kconfig.freezer"
81
82source "arch/microblaze/platform/Kconfig.platform"
83
84menu "Processor type and features"
85
86source "kernel/time/Kconfig"
87
88source "kernel/Kconfig.preempt"
89
90source "kernel/Kconfig.hz"
91
92config MMU
93	bool "MMU support"
94	default n
95
96config NO_MMU
97	bool
98	depends on !MMU
99	default y
100
101comment "Boot options"
102
103config CMDLINE_BOOL
104	bool "Default bootloader kernel arguments"
105
106config CMDLINE
107	string "Default kernel command string"
108	depends on CMDLINE_BOOL
109	default "console=ttyUL0,115200"
110	help
111	  On some architectures there is currently no way for the boot loader
112	  to pass arguments to the kernel. For these architectures, you should
113	  supply some command-line options at build time by entering them
114	  here.
115
116config CMDLINE_FORCE
117	bool "Force default kernel command string"
118	depends on CMDLINE_BOOL
119	default n
120	help
121	  Set this to have arguments from the default kernel command string
122	  override those passed by the boot loader.
123
124config SECCOMP
125	bool "Enable seccomp to safely compute untrusted bytecode"
126	depends on PROC_FS
127	default y
128	help
129	  This kernel feature is useful for number crunching applications
130	  that may need to compute untrusted bytecode during their
131	  execution. By using pipes or other transports made available to
132	  the process as file descriptors supporting the read/write
133	  syscalls, it's possible to isolate those applications in
134	  their own address space using seccomp. Once seccomp is
135	  enabled via /proc/<pid>/seccomp, it cannot be disabled
136	  and the task is only allowed to execute a few safe syscalls
137	  defined by each seccomp mode.
138
139	  If unsure, say Y. Only embedded should say N here.
140
141endmenu
142
143menu "Advanced setup"
144
145config ADVANCED_OPTIONS
146	bool "Prompt for advanced kernel configuration options"
147	help
148	  This option will enable prompting for a variety of advanced kernel
149	  configuration options.  These options can cause the kernel to not
150	  work if they are set incorrectly, but can be used to optimize certain
151	  aspects of kernel memory management.
152
153	  Unless you know what you are doing, say N here.
154
155comment "Default settings for advanced configuration options are used"
156	depends on !ADVANCED_OPTIONS
157
158config XILINX_UNCACHED_SHADOW
159	bool "Are you using uncached shadow for RAM ?"
160	depends on ADVANCED_OPTIONS && !MMU
161	default n
162	help
163	  This is needed to be able to allocate uncachable memory regions.
164	  The feature requires the design to define the RAM memory controller
165	  window to be twice as large as the actual physical memory.
166
167config HIGHMEM_START_BOOL
168	bool "Set high memory pool address"
169	depends on ADVANCED_OPTIONS && HIGHMEM
170	help
171	  This option allows you to set the base address of the kernel virtual
172	  area used to map high memory pages.  This can be useful in
173	  optimizing the layout of kernel virtual memory.
174
175	  Say N here unless you know what you are doing.
176
177config HIGHMEM_START
178	hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
179	depends on MMU
180	default "0xfe000000"
181
182config LOWMEM_SIZE_BOOL
183	bool "Set maximum low memory"
184	depends on ADVANCED_OPTIONS && MMU
185	help
186	  This option allows you to set the maximum amount of memory which
187	  will be used as "low memory", that is, memory which the kernel can
188	  access directly, without having to set up a kernel virtual mapping.
189	  This can be useful in optimizing the layout of kernel virtual
190	  memory.
191
192	  Say N here unless you know what you are doing.
193
194config LOWMEM_SIZE
195	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
196	default "0x30000000"
197
198config KERNEL_START_BOOL
199	bool "Set custom kernel base address"
200	depends on ADVANCED_OPTIONS
201	help
202	  This option allows you to set the kernel virtual address at which
203	  the kernel will map low memory (the kernel image will be linked at
204	  this address).  This can be useful in optimizing the virtual memory
205	  layout of the system.
206
207	  Say N here unless you know what you are doing.
208
209config KERNEL_START
210	hex "Virtual address of kernel base" if KERNEL_START_BOOL
211	default "0xc0000000" if MMU
212	default KERNEL_BASE_ADDR if !MMU
213
214config TASK_SIZE_BOOL
215	bool "Set custom user task size"
216	depends on ADVANCED_OPTIONS && MMU
217	help
218	  This option allows you to set the amount of virtual address space
219	  allocated to user tasks.  This can be useful in optimizing the
220	  virtual memory layout of the system.
221
222	  Say N here unless you know what you are doing.
223
224config TASK_SIZE
225	hex "Size of user task space" if TASK_SIZE_BOOL
226	default "0x80000000"
227
228choice
229	prompt "Page size"
230	default MICROBLAZE_4K_PAGES
231	depends on ADVANCED_OPTIONS && !MMU
232	help
233	  Select the kernel logical page size. Increasing the page size
234	  will reduce software overhead at each page boundary, allow
235	  hardware prefetch mechanisms to be more effective, and allow
236	  larger dma transfers increasing IO efficiency and reducing
237	  overhead. However the utilization of memory will increase.
238	  For example, each cached file will using a multiple of the
239	  page size to hold its contents and the difference between the
240	  end of file and the end of page is wasted.
241
242	  If unsure, choose 4K_PAGES.
243
244config MICROBLAZE_4K_PAGES
245	bool "4k page size"
246
247config MICROBLAZE_8K_PAGES
248	bool "8k page size"
249
250config MICROBLAZE_16K_PAGES
251	bool "16k page size"
252
253config MICROBLAZE_32K_PAGES
254	bool "32k page size"
255
256endchoice
257
258endmenu
259
260source "mm/Kconfig"
261
262menu "Exectuable file formats"
263
264source "fs/Kconfig.binfmt"
265
266endmenu
267
268menu "Bus Options"
269
270config PCI
271	bool "PCI support"
272
273config PCI_DOMAINS
274	def_bool PCI
275
276config PCI_SYSCALL
277	def_bool PCI
278
279config PCI_XILINX
280	bool "Xilinx PCI host bridge support"
281	depends on PCI
282
283source "drivers/pci/Kconfig"
284
285endmenu
286
287source "net/Kconfig"
288
289source "drivers/Kconfig"
290
291source "fs/Kconfig"
292
293source "arch/microblaze/Kconfig.debug"
294
295source "security/Kconfig"
296
297source "crypto/Kconfig"
298
299source "lib/Kconfig"
300