xref: /openbmc/linux/arch/microblaze/Kconfig (revision 6b5fc336)
1config MICROBLAZE
2	def_bool y
3	select ARCH_HAS_GCOV_PROFILE_ALL
4	select ARCH_MIGHT_HAVE_PC_PARPORT
5	select ARCH_NO_COHERENT_DMA_MMAP if !MMU
6	select ARCH_WANT_IPC_PARSE_VERSION
7	select BUILDTIME_EXTABLE_SORT
8	select TIMER_OF
9	select CLONE_BACKWARDS3
10	select COMMON_CLK
11	select GENERIC_ATOMIC64
12	select GENERIC_CLOCKEVENTS
13	select GENERIC_CPU_DEVICES
14	select GENERIC_IDLE_POLL_SETUP
15	select GENERIC_IRQ_PROBE
16	select GENERIC_IRQ_SHOW
17	select GENERIC_PCI_IOMAP
18	select GENERIC_SCHED_CLOCK
19	select HAVE_ARCH_HASH
20	select HAVE_ARCH_KGDB
21	select HAVE_DEBUG_KMEMLEAK
22	select HAVE_DMA_API_DEBUG
23	select HAVE_DYNAMIC_FTRACE
24	select HAVE_FTRACE_MCOUNT_RECORD
25	select HAVE_FUNCTION_GRAPH_TRACER
26	select HAVE_FUNCTION_TRACER
27	select HAVE_MEMBLOCK
28	select HAVE_MEMBLOCK_NODE_MAP
29	select HAVE_OPROFILE
30	select IRQ_DOMAIN
31	select XILINX_INTC
32	select MODULES_USE_ELF_RELA
33	select OF
34	select OF_EARLY_FLATTREE
35	select TRACING_SUPPORT
36	select VIRT_TO_BUS
37	select CPU_NO_EFFICIENT_FFS
38
39config SWAP
40	def_bool n
41
42config RWSEM_GENERIC_SPINLOCK
43	def_bool y
44
45config ZONE_DMA
46	def_bool y
47
48config RWSEM_XCHGADD_ALGORITHM
49	bool
50
51config ARCH_HAS_ILOG2_U32
52	def_bool n
53
54config ARCH_HAS_ILOG2_U64
55	def_bool n
56
57config GENERIC_HWEIGHT
58	def_bool y
59
60config GENERIC_CALIBRATE_DELAY
61	def_bool y
62
63config GENERIC_CSUM
64	def_bool y
65
66config STACKTRACE_SUPPORT
67	def_bool y
68
69config LOCKDEP_SUPPORT
70	def_bool y
71
72source "init/Kconfig"
73
74source "kernel/Kconfig.freezer"
75
76source "arch/microblaze/Kconfig.platform"
77
78menu "Processor type and features"
79
80source "kernel/Kconfig.preempt"
81
82source "kernel/Kconfig.hz"
83
84config MMU
85	bool "MMU support"
86	default n
87
88comment "Boot options"
89
90config CMDLINE_BOOL
91	bool "Default bootloader kernel arguments"
92
93config CMDLINE
94	string "Default kernel command string"
95	depends on CMDLINE_BOOL
96	default "console=ttyUL0,115200"
97	help
98	  On some architectures there is currently no way for the boot loader
99	  to pass arguments to the kernel. For these architectures, you should
100	  supply some command-line options at build time by entering them
101	  here.
102
103config CMDLINE_FORCE
104	bool "Force default kernel command string"
105	depends on CMDLINE_BOOL
106	default n
107	help
108	  Set this to have arguments from the default kernel command string
109	  override those passed by the boot loader.
110
111config SECCOMP
112	bool "Enable seccomp to safely compute untrusted bytecode"
113	depends on PROC_FS
114	default y
115	help
116	  This kernel feature is useful for number crunching applications
117	  that may need to compute untrusted bytecode during their
118	  execution. By using pipes or other transports made available to
119	  the process as file descriptors supporting the read/write
120	  syscalls, it's possible to isolate those applications in
121	  their own address space using seccomp. Once seccomp is
122	  enabled via /proc/<pid>/seccomp, it cannot be disabled
123	  and the task is only allowed to execute a few safe syscalls
124	  defined by each seccomp mode.
125
126	  If unsure, say Y. Only embedded should say N here.
127
128endmenu
129
130menu "Kernel features"
131
132config NR_CPUS
133	int
134	default "1"
135
136config ADVANCED_OPTIONS
137	bool "Prompt for advanced kernel configuration options"
138	help
139	  This option will enable prompting for a variety of advanced kernel
140	  configuration options.  These options can cause the kernel to not
141	  work if they are set incorrectly, but can be used to optimize certain
142	  aspects of kernel memory management.
143
144	  Unless you know what you are doing, say N here.
145
146comment "Default settings for advanced configuration options are used"
147	depends on !ADVANCED_OPTIONS
148
149config XILINX_UNCACHED_SHADOW
150	bool "Are you using uncached shadow for RAM ?"
151	depends on ADVANCED_OPTIONS && !MMU
152	default n
153	help
154	  This is needed to be able to allocate uncachable memory regions.
155	  The feature requires the design to define the RAM memory controller
156	  window to be twice as large as the actual physical memory.
157
158config HIGHMEM
159	bool "High memory support"
160	depends on MMU
161	help
162	  The address space of Microblaze processors is only 4 Gigabytes large
163	  and it has to accommodate user address space, kernel address
164	  space as well as some memory mapped IO. That means that, if you
165	  have a large amount of physical memory and/or IO, not all of the
166	  memory can be "permanently mapped" by the kernel. The physical
167	  memory that is not permanently mapped is called "high memory".
168
169	  If unsure, say n.
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_16K_PAGES
248	bool "16k page size"
249
250config MICROBLAZE_64K_PAGES
251	bool "64k page size"
252
253endchoice
254
255source "mm/Kconfig"
256
257endmenu
258
259menu "Executable file formats"
260
261source "fs/Kconfig.binfmt"
262
263endmenu
264
265menu "Bus Options"
266
267config PCI
268	bool "PCI support"
269
270config PCI_DOMAINS
271	def_bool PCI
272
273config PCI_DOMAINS_GENERIC
274	def_bool PCI_DOMAINS
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