blob: 32739ab2af25ad692535da87a144c4941a3d6e30 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Michal Simek575ca282009-03-27 14:25:50 +01002config MICROBLAZE
3 def_bool y
Yury Norov942fa982018-05-16 11:18:49 +03004 select ARCH_32BIT_OFF_T
Christoph Hellwig17c46a62018-07-31 13:39:29 +02005 select ARCH_NO_SWAP
Christoph Hellwigd3b9f652019-08-14 16:03:47 +02006 select ARCH_HAS_DMA_PREP_COHERENT
Riku Voipio957e3fa2014-12-12 16:57:44 -08007 select ARCH_HAS_GCOV_PROFILE_ALL
Christoph Hellwig5411ad22018-07-19 05:54:39 -07008 select ARCH_HAS_SYNC_DMA_FOR_CPU
9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
Mark Salter355f65a2013-10-07 22:12:28 -040010 select ARCH_MIGHT_HAVE_PC_PARPORT
Will Deaconc1d7e012012-07-30 14:42:46 -070011 select ARCH_WANT_IPC_PARSE_VERSION
Shile Zhang10916702019-12-04 08:46:31 +080012 select BUILDTIME_TABLE_SORT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020013 select TIMER_OF
Michal Simek25213382014-04-07 12:51:44 +020014 select CLONE_BACKWARDS3
15 select COMMON_CLK
Michal Simek05cdf452020-11-26 14:32:25 +010016 select DMA_DIRECT_REMAP
Michal Simek25213382014-04-07 12:51:44 +020017 select GENERIC_ATOMIC64
18 select GENERIC_CLOCKEVENTS
19 select GENERIC_CPU_DEVICES
20 select GENERIC_IDLE_POLL_SETUP
Thomas Gleixnerb6e31622011-01-19 20:35:05 +010021 select GENERIC_IRQ_PROBE
Thomas Gleixner9d61c182011-03-24 14:55:52 +010022 select GENERIC_IRQ_SHOW
Michael S. Tsirkin1b34d162011-11-24 21:06:41 +020023 select GENERIC_PCI_IOMAP
Michal Simek839396a2013-12-20 10:16:40 +010024 select GENERIC_SCHED_CLOCK
George Spelvin7b132772016-05-25 11:06:09 -040025 select HAVE_ARCH_HASH
Michal Simek25213382014-04-07 12:51:44 +020026 select HAVE_ARCH_KGDB
YiFei Zhu282a1812020-09-24 07:44:16 -050027 select HAVE_ARCH_SECCOMP
Michal Simek25213382014-04-07 12:51:44 +020028 select HAVE_DEBUG_KMEMLEAK
Michal Simek26022762020-01-14 10:05:24 +010029 select HAVE_DMA_CONTIGUOUS
Michal Simek25213382014-04-07 12:51:44 +020030 select HAVE_DYNAMIC_FTRACE
31 select HAVE_FTRACE_MCOUNT_RECORD
32 select HAVE_FUNCTION_GRAPH_TRACER
Michal Simek25213382014-04-07 12:51:44 +020033 select HAVE_FUNCTION_TRACER
Michal Simek25213382014-04-07 12:51:44 +020034 select HAVE_OPROFILE
Christoph Hellwigeb01d422018-11-15 20:05:32 +010035 select HAVE_PCI
Michal Simek25213382014-04-07 12:51:44 +020036 select IRQ_DOMAIN
Zubair Lutfullah Kakakhel0547dc72016-11-14 12:13:45 +000037 select XILINX_INTC
David Howells786d35d2012-09-28 14:31:03 +093038 select MODULES_USE_ELF_RELA
Michal Simek25213382014-04-07 12:51:44 +020039 select OF
40 select OF_EARLY_FLATTREE
Christoph Hellwig2eac9c22018-11-15 20:05:33 +010041 select PCI_DOMAINS_GENERIC if PCI
Christoph Hellwig20f1b792018-11-15 20:05:34 +010042 select PCI_SYSCALL if PCI
Michal Simek25213382014-04-07 12:51:44 +020043 select TRACING_SUPPORT
44 select VIRT_TO_BUS
Zhaoxiu Zengfff7fb02016-05-20 17:03:57 -070045 select CPU_NO_EFFICIENT_FFS
Michal Simek05cdf452020-11-26 14:32:25 +010046 select MMU_GATHER_NO_RANGE
Michal Simek6bf8be72017-08-08 16:06:52 +020047 select SPARSE_IRQ
Christoph Hellwig5e6e9852020-09-03 16:22:35 +020048 select SET_FS
Michal Simek575ca282009-03-27 14:25:50 +010049
Babu Moger206d3642017-09-08 16:14:25 -070050# Endianness selection
51choice
52 prompt "Endianness selection"
Babu Moger428dbf12017-09-18 10:53:29 -060053 default CPU_LITTLE_ENDIAN
Babu Moger206d3642017-09-08 16:14:25 -070054 help
55 microblaze architectures can be configured for either little or
56 big endian formats. Be sure to select the appropriate mode.
57
58config CPU_BIG_ENDIAN
59 bool "Big endian"
60
61config CPU_LITTLE_ENDIAN
62 bool "Little endian"
63
64endchoice
65
Michal Simek4e2e4122011-12-15 09:24:06 +010066config ZONE_DMA
67 def_bool y
68
Michal Simek575ca282009-03-27 14:25:50 +010069config ARCH_HAS_ILOG2_U32
70 def_bool n
71
72config ARCH_HAS_ILOG2_U64
73 def_bool n
74
Michal Simek575ca282009-03-27 14:25:50 +010075config GENERIC_HWEIGHT
76 def_bool y
77
Michal Simek575ca282009-03-27 14:25:50 +010078config GENERIC_CALIBRATE_DELAY
79 def_bool y
80
Remis Lima Baima14f87382009-06-18 19:55:32 +020081config GENERIC_CSUM
82 def_bool y
83
Michal Simek24b45a12009-11-10 15:57:01 +010084config STACKTRACE_SUPPORT
85 def_bool y
86
Michal Simekbf2d8092009-12-10 12:07:02 +010087config LOCKDEP_SUPPORT
88 def_bool y
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.hz"
95
96config MMU
Michal Simek05cdf452020-11-26 14:32:25 +010097 def_bool y
Michal Simek575ca282009-03-27 14:25:50 +010098
Michal Simek575ca282009-03-27 14:25:50 +010099comment "Boot options"
100
101config CMDLINE_BOOL
102 bool "Default bootloader kernel arguments"
103
104config CMDLINE
105 string "Default kernel command string"
106 depends on CMDLINE_BOOL
107 default "console=ttyUL0,115200"
108 help
109 On some architectures there is currently no way for the boot loader
110 to pass arguments to the kernel. For these architectures, you should
111 supply some command-line options at build time by entering them
112 here.
113
114config CMDLINE_FORCE
115 bool "Force default kernel command string"
116 depends on CMDLINE_BOOL
117 default n
118 help
119 Set this to have arguments from the default kernel command string
120 override those passed by the boot loader.
121
Michal Simek575ca282009-03-27 14:25:50 +0100122endmenu
123
Michal Simekb408e2c2014-09-01 16:23:54 +0200124menu "Kernel features"
Michal Simeka116f6d2009-05-26 16:30:31 +0200125
Michal Simek4cbbbb42014-10-27 08:28:16 +0100126config NR_CPUS
127 int
128 default "1"
129
Michal Simeka116f6d2009-05-26 16:30:31 +0200130config ADVANCED_OPTIONS
131 bool "Prompt for advanced kernel configuration options"
Michal Simeka116f6d2009-05-26 16:30:31 +0200132 help
133 This option will enable prompting for a variety of advanced kernel
134 configuration options. These options can cause the kernel to not
135 work if they are set incorrectly, but can be used to optimize certain
136 aspects of kernel memory management.
137
138 Unless you know what you are doing, say N here.
139
140comment "Default settings for advanced configuration options are used"
141 depends on !ADVANCED_OPTIONS
142
Michal Simek2f2f3712011-12-15 15:02:37 +0100143config HIGHMEM
144 bool "High memory support"
Michal Simek2f2f3712011-12-15 15:02:37 +0100145 help
146 The address space of Microblaze processors is only 4 Gigabytes large
147 and it has to accommodate user address space, kernel address
148 space as well as some memory mapped IO. That means that, if you
149 have a large amount of physical memory and/or IO, not all of the
150 memory can be "permanently mapped" by the kernel. The physical
151 memory that is not permanently mapped is called "high memory".
152
153 If unsure, say n.
Michal Simeka116f6d2009-05-26 16:30:31 +0200154
155config LOWMEM_SIZE_BOOL
156 bool "Set maximum low memory"
Michal Simek05cdf452020-11-26 14:32:25 +0100157 depends on ADVANCED_OPTIONS
Michal Simeka116f6d2009-05-26 16:30:31 +0200158 help
159 This option allows you to set the maximum amount of memory which
160 will be used as "low memory", that is, memory which the kernel can
161 access directly, without having to set up a kernel virtual mapping.
162 This can be useful in optimizing the layout of kernel virtual
163 memory.
164
165 Say N here unless you know what you are doing.
166
167config LOWMEM_SIZE
168 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
Michal Simeka116f6d2009-05-26 16:30:31 +0200169 default "0x30000000"
170
Michal Simek0b9b0202010-11-08 12:37:40 +0100171config MANUAL_RESET_VECTOR
172 hex "Microblaze reset vector address setup"
173 default "0x0"
174 help
175 Set this option to have the kernel override the CPU Reset vector.
176 If zero, no change will be made to the MicroBlaze reset vector at
177 address 0x0.
178 If non-zero, a jump instruction to this address, will be written
179 to the reset vector at address 0x0.
180 If you are unsure, set it to default value 0x0.
181
Michal Simeka116f6d2009-05-26 16:30:31 +0200182config KERNEL_START_BOOL
183 bool "Set custom kernel base address"
184 depends on ADVANCED_OPTIONS
185 help
186 This option allows you to set the kernel virtual address at which
187 the kernel will map low memory (the kernel image will be linked at
188 this address). This can be useful in optimizing the virtual memory
189 layout of the system.
190
191 Say N here unless you know what you are doing.
192
193config KERNEL_START
194 hex "Virtual address of kernel base" if KERNEL_START_BOOL
Michal Simek05cdf452020-11-26 14:32:25 +0100195 default "0xc0000000"
Michal Simeka116f6d2009-05-26 16:30:31 +0200196
197config TASK_SIZE_BOOL
198 bool "Set custom user task size"
Michal Simek05cdf452020-11-26 14:32:25 +0100199 depends on ADVANCED_OPTIONS
Michal Simeka116f6d2009-05-26 16:30:31 +0200200 help
201 This option allows you to set the amount of virtual address space
202 allocated to user tasks. This can be useful in optimizing the
203 virtual memory layout of the system.
204
205 Say N here unless you know what you are doing.
206
207config TASK_SIZE
208 hex "Size of user task space" if TASK_SIZE_BOOL
Michal Simeka116f6d2009-05-26 16:30:31 +0200209 default "0x80000000"
210
Michal Simek575ca282009-03-27 14:25:50 +0100211endmenu
212
Michal Simeka6475c12010-01-18 15:27:10 +0100213menu "Bus Options"
214
Michal Simek733cc212010-01-18 15:27:11 +0100215config PCI_XILINX
216 bool "Xilinx PCI host bridge support"
217 depends on PCI
218
Michal Simeka6475c12010-01-18 15:27:10 +0100219endmenu