blob: cc139d1b12845a45fe83685f7bfde61e35efcccb [file] [log] [blame]
Michal Simek575ca282009-03-27 14:25:50 +01001config MICROBLAZE
2 def_bool y
Christoph Hellwig17c46a62018-07-31 13:39:29 +02003 select ARCH_NO_SWAP
Riku Voipio957e3fa2014-12-12 16:57:44 -08004 select ARCH_HAS_GCOV_PROFILE_ALL
Mark Salter355f65a2013-10-07 22:12:28 -04005 select ARCH_MIGHT_HAVE_PC_PARPORT
Vladimir Murzin07c75d72017-06-28 10:16:57 +01006 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
Will Deaconc1d7e012012-07-30 14:42:46 -07007 select ARCH_WANT_IPC_PARSE_VERSION
Michal Simek25213382014-04-07 12:51:44 +02008 select BUILDTIME_EXTABLE_SORT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +02009 select TIMER_OF
Michal Simek25213382014-04-07 12:51:44 +020010 select CLONE_BACKWARDS3
11 select COMMON_CLK
12 select GENERIC_ATOMIC64
13 select GENERIC_CLOCKEVENTS
14 select GENERIC_CPU_DEVICES
15 select GENERIC_IDLE_POLL_SETUP
Thomas Gleixnerb6e31622011-01-19 20:35:05 +010016 select GENERIC_IRQ_PROBE
Thomas Gleixner9d61c182011-03-24 14:55:52 +010017 select GENERIC_IRQ_SHOW
Michael S. Tsirkin1b34d162011-11-24 21:06:41 +020018 select GENERIC_PCI_IOMAP
Michal Simek839396a2013-12-20 10:16:40 +010019 select GENERIC_SCHED_CLOCK
George Spelvin7b132772016-05-25 11:06:09 -040020 select HAVE_ARCH_HASH
Michal Simek25213382014-04-07 12:51:44 +020021 select HAVE_ARCH_KGDB
22 select HAVE_DEBUG_KMEMLEAK
Michal Simek25213382014-04-07 12:51:44 +020023 select HAVE_DYNAMIC_FTRACE
24 select HAVE_FTRACE_MCOUNT_RECORD
25 select HAVE_FUNCTION_GRAPH_TRACER
Michal Simek25213382014-04-07 12:51:44 +020026 select HAVE_FUNCTION_TRACER
Rob Herring101646a2018-03-09 09:54:07 -060027 select NO_BOOTMEM
Michal Simek25213382014-04-07 12:51:44 +020028 select HAVE_MEMBLOCK
29 select HAVE_MEMBLOCK_NODE_MAP
30 select HAVE_OPROFILE
31 select IRQ_DOMAIN
Zubair Lutfullah Kakakhel0547dc72016-11-14 12:13:45 +000032 select XILINX_INTC
David Howells786d35d2012-09-28 14:31:03 +093033 select MODULES_USE_ELF_RELA
Michal Simek25213382014-04-07 12:51:44 +020034 select OF
35 select OF_EARLY_FLATTREE
36 select TRACING_SUPPORT
37 select VIRT_TO_BUS
Zhaoxiu Zengfff7fb02016-05-20 17:03:57 -070038 select CPU_NO_EFFICIENT_FFS
Michal Simek575ca282009-03-27 14:25:50 +010039
Babu Moger206d3642017-09-08 16:14:25 -070040# Endianness selection
41choice
42 prompt "Endianness selection"
Babu Moger428dbf12017-09-18 10:53:29 -060043 default CPU_LITTLE_ENDIAN
Babu Moger206d3642017-09-08 16:14:25 -070044 help
45 microblaze architectures can be configured for either little or
46 big endian formats. Be sure to select the appropriate mode.
47
48config CPU_BIG_ENDIAN
49 bool "Big endian"
50
51config CPU_LITTLE_ENDIAN
52 bool "Little endian"
53
54endchoice
55
Michal Simek575ca282009-03-27 14:25:50 +010056config RWSEM_GENERIC_SPINLOCK
57 def_bool y
58
Michal Simek4e2e4122011-12-15 09:24:06 +010059config ZONE_DMA
60 def_bool y
61
Michal Simek575ca282009-03-27 14:25:50 +010062config RWSEM_XCHGADD_ALGORITHM
63 bool
64
65config ARCH_HAS_ILOG2_U32
66 def_bool n
67
68config ARCH_HAS_ILOG2_U64
69 def_bool n
70
Michal Simek575ca282009-03-27 14:25:50 +010071config GENERIC_HWEIGHT
72 def_bool y
73
Michal Simek575ca282009-03-27 14:25:50 +010074config GENERIC_CALIBRATE_DELAY
75 def_bool y
76
Remis Lima Baima14f87382009-06-18 19:55:32 +020077config GENERIC_CSUM
78 def_bool y
79
Michal Simek24b45a12009-11-10 15:57:01 +010080config STACKTRACE_SUPPORT
81 def_bool y
82
Michal Simekbf2d8092009-12-10 12:07:02 +010083config LOCKDEP_SUPPORT
84 def_bool y
85
Michal Simek575ca282009-03-27 14:25:50 +010086source "init/Kconfig"
87
88source "kernel/Kconfig.freezer"
89
Michal Simekc24cf712014-04-07 13:05:00 +020090source "arch/microblaze/Kconfig.platform"
Michal Simek575ca282009-03-27 14:25:50 +010091
92menu "Processor type and features"
93
Michal Simek575ca282009-03-27 14:25:50 +010094source "kernel/Kconfig.preempt"
95
96source "kernel/Kconfig.hz"
97
98config MMU
Michal Simeka116f6d2009-05-26 16:30:31 +020099 bool "MMU support"
100 default n
Michal Simek575ca282009-03-27 14:25:50 +0100101
Michal Simek575ca282009-03-27 14:25:50 +0100102comment "Boot options"
103
104config CMDLINE_BOOL
105 bool "Default bootloader kernel arguments"
106
107config CMDLINE
108 string "Default kernel command string"
109 depends on CMDLINE_BOOL
110 default "console=ttyUL0,115200"
111 help
112 On some architectures there is currently no way for the boot loader
113 to pass arguments to the kernel. For these architectures, you should
114 supply some command-line options at build time by entering them
115 here.
116
117config CMDLINE_FORCE
118 bool "Force default kernel command string"
119 depends on CMDLINE_BOOL
120 default n
121 help
122 Set this to have arguments from the default kernel command string
123 override those passed by the boot loader.
124
Michal Simek68c6ac32010-08-06 08:50:35 +0200125config SECCOMP
126 bool "Enable seccomp to safely compute untrusted bytecode"
127 depends on PROC_FS
128 default y
129 help
130 This kernel feature is useful for number crunching applications
131 that may need to compute untrusted bytecode during their
132 execution. By using pipes or other transports made available to
133 the process as file descriptors supporting the read/write
134 syscalls, it's possible to isolate those applications in
135 their own address space using seccomp. Once seccomp is
136 enabled via /proc/<pid>/seccomp, it cannot be disabled
137 and the task is only allowed to execute a few safe syscalls
138 defined by each seccomp mode.
139
140 If unsure, say Y. Only embedded should say N here.
141
Michal Simek575ca282009-03-27 14:25:50 +0100142endmenu
143
Michal Simekb408e2c2014-09-01 16:23:54 +0200144menu "Kernel features"
Michal Simeka116f6d2009-05-26 16:30:31 +0200145
Michal Simek4cbbbb42014-10-27 08:28:16 +0100146config NR_CPUS
147 int
148 default "1"
149
Michal Simeka116f6d2009-05-26 16:30:31 +0200150config ADVANCED_OPTIONS
151 bool "Prompt for advanced kernel configuration options"
Michal Simeka116f6d2009-05-26 16:30:31 +0200152 help
153 This option will enable prompting for a variety of advanced kernel
154 configuration options. These options can cause the kernel to not
155 work if they are set incorrectly, but can be used to optimize certain
156 aspects of kernel memory management.
157
158 Unless you know what you are doing, say N here.
159
160comment "Default settings for advanced configuration options are used"
161 depends on !ADVANCED_OPTIONS
162
Michal Simek3a0d7a42010-02-22 12:16:08 +0100163config XILINX_UNCACHED_SHADOW
164 bool "Are you using uncached shadow for RAM ?"
165 depends on ADVANCED_OPTIONS && !MMU
166 default n
167 help
168 This is needed to be able to allocate uncachable memory regions.
169 The feature requires the design to define the RAM memory controller
170 window to be twice as large as the actual physical memory.
171
Michal Simek2f2f3712011-12-15 15:02:37 +0100172config HIGHMEM
173 bool "High memory support"
Michal Simeka116f6d2009-05-26 16:30:31 +0200174 depends on MMU
Michal Simek2f2f3712011-12-15 15:02:37 +0100175 help
176 The address space of Microblaze processors is only 4 Gigabytes large
177 and it has to accommodate user address space, kernel address
178 space as well as some memory mapped IO. That means that, if you
179 have a large amount of physical memory and/or IO, not all of the
180 memory can be "permanently mapped" by the kernel. The physical
181 memory that is not permanently mapped is called "high memory".
182
183 If unsure, say n.
Michal Simeka116f6d2009-05-26 16:30:31 +0200184
185config LOWMEM_SIZE_BOOL
186 bool "Set maximum low memory"
Michal Simekb8a84052010-02-22 11:33:07 +0100187 depends on ADVANCED_OPTIONS && MMU
Michal Simeka116f6d2009-05-26 16:30:31 +0200188 help
189 This option allows you to set the maximum amount of memory which
190 will be used as "low memory", that is, memory which the kernel can
191 access directly, without having to set up a kernel virtual mapping.
192 This can be useful in optimizing the layout of kernel virtual
193 memory.
194
195 Say N here unless you know what you are doing.
196
197config LOWMEM_SIZE
198 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
Michal Simeka116f6d2009-05-26 16:30:31 +0200199 default "0x30000000"
200
Michal Simek0b9b0202010-11-08 12:37:40 +0100201config MANUAL_RESET_VECTOR
202 hex "Microblaze reset vector address setup"
203 default "0x0"
204 help
205 Set this option to have the kernel override the CPU Reset vector.
206 If zero, no change will be made to the MicroBlaze reset vector at
207 address 0x0.
208 If non-zero, a jump instruction to this address, will be written
209 to the reset vector at address 0x0.
210 If you are unsure, set it to default value 0x0.
211
Michal Simeka116f6d2009-05-26 16:30:31 +0200212config KERNEL_START_BOOL
213 bool "Set custom kernel base address"
214 depends on ADVANCED_OPTIONS
215 help
216 This option allows you to set the kernel virtual address at which
217 the kernel will map low memory (the kernel image will be linked at
218 this address). This can be useful in optimizing the virtual memory
219 layout of the system.
220
221 Say N here unless you know what you are doing.
222
223config KERNEL_START
224 hex "Virtual address of kernel base" if KERNEL_START_BOOL
225 default "0xc0000000" if MMU
226 default KERNEL_BASE_ADDR if !MMU
227
228config TASK_SIZE_BOOL
229 bool "Set custom user task size"
Michal Simekb8a84052010-02-22 11:33:07 +0100230 depends on ADVANCED_OPTIONS && MMU
Michal Simeka116f6d2009-05-26 16:30:31 +0200231 help
232 This option allows you to set the amount of virtual address space
233 allocated to user tasks. This can be useful in optimizing the
234 virtual memory layout of the system.
235
236 Say N here unless you know what you are doing.
237
238config TASK_SIZE
239 hex "Size of user task space" if TASK_SIZE_BOOL
Michal Simeka116f6d2009-05-26 16:30:31 +0200240 default "0x80000000"
241
Steven J. Magnaniba9c4f82010-05-13 10:48:27 -0500242choice
243 prompt "Page size"
244 default MICROBLAZE_4K_PAGES
245 depends on ADVANCED_OPTIONS && !MMU
246 help
247 Select the kernel logical page size. Increasing the page size
248 will reduce software overhead at each page boundary, allow
249 hardware prefetch mechanisms to be more effective, and allow
250 larger dma transfers increasing IO efficiency and reducing
251 overhead. However the utilization of memory will increase.
252 For example, each cached file will using a multiple of the
253 page size to hold its contents and the difference between the
254 end of file and the end of page is wasted.
255
256 If unsure, choose 4K_PAGES.
257
258config MICROBLAZE_4K_PAGES
259 bool "4k page size"
260
Steven J. Magnaniba9c4f82010-05-13 10:48:27 -0500261config MICROBLAZE_16K_PAGES
262 bool "16k page size"
263
Michal Simek6e80cff2012-08-01 10:29:28 +0200264config MICROBLAZE_64K_PAGES
265 bool "64k page size"
Steven J. Magnaniba9c4f82010-05-13 10:48:27 -0500266
267endchoice
268
Michal Simek575ca282009-03-27 14:25:50 +0100269source "mm/Kconfig"
270
Michal Simek7acdc1c2014-09-01 16:23:14 +0200271endmenu
272
Tobias Klauser910672d2011-03-02 18:38:35 +0100273menu "Executable file formats"
Michal Simek575ca282009-03-27 14:25:50 +0100274
275source "fs/Kconfig.binfmt"
276
277endmenu
278
Michal Simeka6475c12010-01-18 15:27:10 +0100279menu "Bus Options"
280
281config PCI
282 bool "PCI support"
283
284config PCI_DOMAINS
285 def_bool PCI
286
Bharat Kumar Gogada01cf9d52016-02-11 21:58:11 +0530287config PCI_DOMAINS_GENERIC
288 def_bool PCI_DOMAINS
289
Michal Simeka6475c12010-01-18 15:27:10 +0100290config PCI_SYSCALL
291 def_bool PCI
292
Michal Simek733cc212010-01-18 15:27:11 +0100293config PCI_XILINX
294 bool "Xilinx PCI host bridge support"
295 depends on PCI
296
Michal Simeka6475c12010-01-18 15:27:10 +0100297source "drivers/pci/Kconfig"
298
299endmenu
300
Michal Simek575ca282009-03-27 14:25:50 +0100301source "net/Kconfig"
302
303source "drivers/Kconfig"
304
305source "fs/Kconfig"
306
307source "arch/microblaze/Kconfig.debug"
308
309source "security/Kconfig"
310
311source "crypto/Kconfig"
312
313source "lib/Kconfig"