1# SPDX-License-Identifier: GPL-2.0-only 2config MICROBLAZE 3 def_bool y 4 select ARCH_32BIT_OFF_T 5 select ARCH_NO_SWAP 6 select ARCH_HAS_DMA_PREP_COHERENT 7 select ARCH_HAS_GCOV_PROFILE_ALL 8 select ARCH_HAS_SYNC_DMA_FOR_CPU 9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 10 select ARCH_MIGHT_HAVE_PC_PARPORT 11 select ARCH_WANT_IPC_PARSE_VERSION 12 select BUILDTIME_TABLE_SORT 13 select TIMER_OF 14 select CLONE_BACKWARDS3 15 select COMMON_CLK 16 select DMA_DIRECT_REMAP 17 select GENERIC_ATOMIC64 18 select GENERIC_CPU_DEVICES 19 select GENERIC_IDLE_POLL_SETUP 20 select GENERIC_IRQ_PROBE 21 select GENERIC_IRQ_SHOW 22 select GENERIC_PCI_IOMAP 23 select GENERIC_SCHED_CLOCK 24 select HAVE_ARCH_HASH 25 select HAVE_ARCH_KGDB 26 select HAVE_ARCH_SECCOMP 27 select HAVE_DEBUG_KMEMLEAK 28 select HAVE_DMA_CONTIGUOUS 29 select HAVE_DYNAMIC_FTRACE 30 select HAVE_FTRACE_MCOUNT_RECORD 31 select HAVE_FUNCTION_GRAPH_TRACER 32 select HAVE_FUNCTION_TRACER 33 select HAVE_PCI 34 select IRQ_DOMAIN 35 select XILINX_INTC 36 select MODULES_USE_ELF_RELA 37 select OF 38 select OF_EARLY_FLATTREE 39 select PCI_DOMAINS_GENERIC if PCI 40 select PCI_SYSCALL if PCI 41 select TRACING_SUPPORT 42 select VIRT_TO_BUS 43 select CPU_NO_EFFICIENT_FFS 44 select MMU_GATHER_NO_RANGE 45 select SPARSE_IRQ 46 select SET_FS 47 48# Endianness selection 49choice 50 prompt "Endianness selection" 51 default CPU_LITTLE_ENDIAN 52 help 53 microblaze architectures can be configured for either little or 54 big endian formats. Be sure to select the appropriate mode. 55 56config CPU_BIG_ENDIAN 57 bool "Big endian" 58 59config CPU_LITTLE_ENDIAN 60 bool "Little endian" 61 62endchoice 63 64config ZONE_DMA 65 def_bool y 66 67config ARCH_HAS_ILOG2_U32 68 def_bool n 69 70config ARCH_HAS_ILOG2_U64 71 def_bool n 72 73config GENERIC_HWEIGHT 74 def_bool y 75 76config GENERIC_CALIBRATE_DELAY 77 def_bool y 78 79config GENERIC_CSUM 80 def_bool y 81 82config STACKTRACE_SUPPORT 83 def_bool y 84 85config LOCKDEP_SUPPORT 86 def_bool y 87 88source "arch/microblaze/Kconfig.platform" 89 90menu "Processor type and features" 91 92source "kernel/Kconfig.hz" 93 94config MMU 95 def_bool y 96 97comment "Boot options" 98 99config CMDLINE_BOOL 100 bool "Default bootloader kernel arguments" 101 102config CMDLINE 103 string "Default kernel command string" 104 depends on CMDLINE_BOOL 105 default "console=ttyUL0,115200" 106 help 107 On some architectures there is currently no way for the boot loader 108 to pass arguments to the kernel. For these architectures, you should 109 supply some command-line options at build time by entering them 110 here. 111 112config CMDLINE_FORCE 113 bool "Force default kernel command string" 114 depends on CMDLINE_BOOL 115 default n 116 help 117 Set this to have arguments from the default kernel command string 118 override those passed by the boot loader. 119 120endmenu 121 122menu "Kernel features" 123 124config NR_CPUS 125 int 126 default "1" 127 128config ADVANCED_OPTIONS 129 bool "Prompt for advanced kernel configuration options" 130 help 131 This option will enable prompting for a variety of advanced kernel 132 configuration options. These options can cause the kernel to not 133 work if they are set incorrectly, but can be used to optimize certain 134 aspects of kernel memory management. 135 136 Unless you know what you are doing, say N here. 137 138comment "Default settings for advanced configuration options are used" 139 depends on !ADVANCED_OPTIONS 140 141config HIGHMEM 142 bool "High memory support" 143 select KMAP_LOCAL 144 help 145 The address space of Microblaze processors is only 4 Gigabytes large 146 and it has to accommodate user address space, kernel address 147 space as well as some memory mapped IO. That means that, if you 148 have a large amount of physical memory and/or IO, not all of the 149 memory can be "permanently mapped" by the kernel. The physical 150 memory that is not permanently mapped is called "high memory". 151 152 If unsure, say n. 153 154config LOWMEM_SIZE_BOOL 155 bool "Set maximum low memory" 156 depends on ADVANCED_OPTIONS 157 help 158 This option allows you to set the maximum amount of memory which 159 will be used as "low memory", that is, memory which the kernel can 160 access directly, without having to set up a kernel virtual mapping. 161 This can be useful in optimizing the layout of kernel virtual 162 memory. 163 164 Say N here unless you know what you are doing. 165 166config LOWMEM_SIZE 167 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL 168 default "0x30000000" 169 170config MANUAL_RESET_VECTOR 171 hex "Microblaze reset vector address setup" 172 default "0x0" 173 help 174 Set this option to have the kernel override the CPU Reset vector. 175 If zero, no change will be made to the MicroBlaze reset vector at 176 address 0x0. 177 If non-zero, a jump instruction to this address, will be written 178 to the reset vector at address 0x0. 179 If you are unsure, set it to default value 0x0. 180 181config KERNEL_START_BOOL 182 bool "Set custom kernel base address" 183 depends on ADVANCED_OPTIONS 184 help 185 This option allows you to set the kernel virtual address at which 186 the kernel will map low memory (the kernel image will be linked at 187 this address). This can be useful in optimizing the virtual memory 188 layout of the system. 189 190 Say N here unless you know what you are doing. 191 192config KERNEL_START 193 hex "Virtual address of kernel base" if KERNEL_START_BOOL 194 default "0xc0000000" 195 196config TASK_SIZE_BOOL 197 bool "Set custom user task size" 198 depends on ADVANCED_OPTIONS 199 help 200 This option allows you to set the amount of virtual address space 201 allocated to user tasks. This can be useful in optimizing the 202 virtual memory layout of the system. 203 204 Say N here unless you know what you are doing. 205 206config TASK_SIZE 207 hex "Size of user task space" if TASK_SIZE_BOOL 208 default "0x80000000" 209 210endmenu 211 212menu "Bus Options" 213 214config PCI_XILINX 215 bool "Xilinx PCI host bridge support" 216 depends on PCI 217 218endmenu 219