xref: /linux/arch/microblaze/Kconfig (revision ec2212088c42ff7d1362629ec26dda4f3e8bdad3)
1config MICROBLAZE
2	def_bool y
3	select HAVE_MEMBLOCK
4	select HAVE_FUNCTION_TRACER
5	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
6	select HAVE_FUNCTION_GRAPH_TRACER
7	select HAVE_DYNAMIC_FTRACE
8	select HAVE_FTRACE_MCOUNT_RECORD
9	select ARCH_WANT_OPTIONAL_GPIOLIB
10	select HAVE_OPROFILE
11	select HAVE_ARCH_KGDB
12	select HAVE_DMA_ATTRS
13	select HAVE_DMA_API_DEBUG
14	select TRACING_SUPPORT
15	select OF
16	select OF_EARLY_FLATTREE
17	select IRQ_DOMAIN
18	select HAVE_GENERIC_HARDIRQS
19	select GENERIC_IRQ_PROBE
20	select GENERIC_IRQ_SHOW
21	select GENERIC_PCI_IOMAP
22	select GENERIC_CPU_DEVICES
23	select GENERIC_ATOMIC64
24
25config SWAP
26	def_bool n
27
28config RWSEM_GENERIC_SPINLOCK
29	def_bool y
30
31config RWSEM_XCHGADD_ALGORITHM
32	bool
33
34config ARCH_HAS_ILOG2_U32
35	def_bool n
36
37config ARCH_HAS_ILOG2_U64
38	def_bool n
39
40config GENERIC_HWEIGHT
41	def_bool y
42
43config GENERIC_CALIBRATE_DELAY
44	def_bool y
45
46config GENERIC_TIME_VSYSCALL
47	def_bool n
48
49config GENERIC_CLOCKEVENTS
50	def_bool y
51
52config GENERIC_GPIO
53	def_bool y
54
55config GENERIC_CSUM
56	def_bool y
57
58config STACKTRACE_SUPPORT
59	def_bool y
60
61config LOCKDEP_SUPPORT
62	def_bool y
63
64config HAVE_LATENCYTOP_SUPPORT
65	def_bool y
66
67source "init/Kconfig"
68
69source "kernel/Kconfig.freezer"
70
71source "arch/microblaze/platform/Kconfig.platform"
72
73menu "Processor type and features"
74
75source "kernel/time/Kconfig"
76
77source "kernel/Kconfig.preempt"
78
79source "kernel/Kconfig.hz"
80
81config MMU
82	bool "MMU support"
83	default n
84
85config NO_MMU
86	bool
87	depends on !MMU
88	default y
89
90comment "Boot options"
91
92config CMDLINE_BOOL
93	bool "Default bootloader kernel arguments"
94
95config CMDLINE
96	string "Default kernel command string"
97	depends on CMDLINE_BOOL
98	default "console=ttyUL0,115200"
99	help
100	  On some architectures there is currently no way for the boot loader
101	  to pass arguments to the kernel. For these architectures, you should
102	  supply some command-line options at build time by entering them
103	  here.
104
105config CMDLINE_FORCE
106	bool "Force default kernel command string"
107	depends on CMDLINE_BOOL
108	default n
109	help
110	  Set this to have arguments from the default kernel command string
111	  override those passed by the boot loader.
112
113config SECCOMP
114	bool "Enable seccomp to safely compute untrusted bytecode"
115	depends on PROC_FS
116	default y
117	help
118	  This kernel feature is useful for number crunching applications
119	  that may need to compute untrusted bytecode during their
120	  execution. By using pipes or other transports made available to
121	  the process as file descriptors supporting the read/write
122	  syscalls, it's possible to isolate those applications in
123	  their own address space using seccomp. Once seccomp is
124	  enabled via /proc/<pid>/seccomp, it cannot be disabled
125	  and the task is only allowed to execute a few safe syscalls
126	  defined by each seccomp mode.
127
128	  If unsure, say Y. Only embedded should say N here.
129
130endmenu
131
132menu "Advanced setup"
133
134config ADVANCED_OPTIONS
135	bool "Prompt for advanced kernel configuration options"
136	help
137	  This option will enable prompting for a variety of advanced kernel
138	  configuration options.  These options can cause the kernel to not
139	  work if they are set incorrectly, but can be used to optimize certain
140	  aspects of kernel memory management.
141
142	  Unless you know what you are doing, say N here.
143
144comment "Default settings for advanced configuration options are used"
145	depends on !ADVANCED_OPTIONS
146
147config XILINX_UNCACHED_SHADOW
148	bool "Are you using uncached shadow for RAM ?"
149	depends on ADVANCED_OPTIONS && !MMU
150	default n
151	help
152	  This is needed to be able to allocate uncachable memory regions.
153	  The feature requires the design to define the RAM memory controller
154	  window to be twice as large as the actual physical memory.
155
156config HIGHMEM_START_BOOL
157	bool "Set high memory pool address"
158	depends on ADVANCED_OPTIONS && HIGHMEM
159	help
160	  This option allows you to set the base address of the kernel virtual
161	  area used to map high memory pages.  This can be useful in
162	  optimizing the layout of kernel virtual memory.
163
164	  Say N here unless you know what you are doing.
165
166config HIGHMEM_START
167	hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
168	depends on MMU
169	default "0xfe000000"
170
171config LOWMEM_SIZE_BOOL
172	bool "Set maximum low memory"
173	depends on ADVANCED_OPTIONS && MMU
174	help
175	  This option allows you to set the maximum amount of memory which
176	  will be used as "low memory", that is, memory which the kernel can
177	  access directly, without having to set up a kernel virtual mapping.
178	  This can be useful in optimizing the layout of kernel virtual
179	  memory.
180
181	  Say N here unless you know what you are doing.
182
183config LOWMEM_SIZE
184	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
185	default "0x30000000"
186
187config MANUAL_RESET_VECTOR
188	hex "Microblaze reset vector address setup"
189	default "0x0"
190	help
191	  Set this option to have the kernel override the CPU Reset vector.
192	  If zero, no change will be made to the MicroBlaze reset vector at
193	  address 0x0.
194	  If non-zero, a jump instruction to this address, will be written
195	  to the reset vector at address 0x0.
196	  If you are unsure, set it to default value 0x0.
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 "Executable 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