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