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 VIRT_TO_BUS 42 select CPU_NO_EFFICIENT_FFS 43 select MMU_GATHER_NO_RANGE 44 select SPARSE_IRQ 45 select SET_FS 46 select ZONE_DMA 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 ARCH_HAS_ILOG2_U32 65 def_bool n 66 67config ARCH_HAS_ILOG2_U64 68 def_bool n 69 70config GENERIC_HWEIGHT 71 def_bool y 72 73config GENERIC_CALIBRATE_DELAY 74 def_bool y 75 76config GENERIC_CSUM 77 def_bool y 78 79config STACKTRACE_SUPPORT 80 def_bool y 81 82config LOCKDEP_SUPPORT 83 def_bool y 84 85source "arch/microblaze/Kconfig.platform" 86 87menu "Processor type and features" 88 89source "kernel/Kconfig.hz" 90 91config MMU 92 def_bool y 93 94comment "Boot options" 95 96config CMDLINE_BOOL 97 bool "Default bootloader kernel arguments" 98 99config CMDLINE 100 string "Default kernel command string" 101 depends on CMDLINE_BOOL 102 default "console=ttyUL0,115200" 103 help 104 On some architectures there is currently no way for the boot loader 105 to pass arguments to the kernel. For these architectures, you should 106 supply some command-line options at build time by entering them 107 here. 108 109config CMDLINE_FORCE 110 bool "Force default kernel command string" 111 depends on CMDLINE_BOOL 112 default n 113 help 114 Set this to have arguments from the default kernel command string 115 override those passed by the boot loader. 116 117endmenu 118 119menu "Kernel features" 120 121config NR_CPUS 122 int 123 default "1" 124 125config ADVANCED_OPTIONS 126 bool "Prompt for advanced kernel configuration options" 127 help 128 This option will enable prompting for a variety of advanced kernel 129 configuration options. These options can cause the kernel to not 130 work if they are set incorrectly, but can be used to optimize certain 131 aspects of kernel memory management. 132 133 Unless you know what you are doing, say N here. 134 135comment "Default settings for advanced configuration options are used" 136 depends on !ADVANCED_OPTIONS 137 138config HIGHMEM 139 bool "High memory support" 140 select KMAP_LOCAL 141 help 142 The address space of Microblaze processors is only 4 Gigabytes large 143 and it has to accommodate user address space, kernel address 144 space as well as some memory mapped IO. That means that, if you 145 have a large amount of physical memory and/or IO, not all of the 146 memory can be "permanently mapped" by the kernel. The physical 147 memory that is not permanently mapped is called "high memory". 148 149 If unsure, say n. 150 151config LOWMEM_SIZE_BOOL 152 bool "Set maximum low memory" 153 depends on ADVANCED_OPTIONS 154 help 155 This option allows you to set the maximum amount of memory which 156 will be used as "low memory", that is, memory which the kernel can 157 access directly, without having to set up a kernel virtual mapping. 158 This can be useful in optimizing the layout of kernel virtual 159 memory. 160 161 Say N here unless you know what you are doing. 162 163config LOWMEM_SIZE 164 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL 165 default "0x30000000" 166 167config MANUAL_RESET_VECTOR 168 hex "Microblaze reset vector address setup" 169 default "0x0" 170 help 171 Set this option to have the kernel override the CPU Reset vector. 172 If zero, no change will be made to the MicroBlaze reset vector at 173 address 0x0. 174 If non-zero, a jump instruction to this address, will be written 175 to the reset vector at address 0x0. 176 If you are unsure, set it to default value 0x0. 177 178config KERNEL_START_BOOL 179 bool "Set custom kernel base address" 180 depends on ADVANCED_OPTIONS 181 help 182 This option allows you to set the kernel virtual address at which 183 the kernel will map low memory (the kernel image will be linked at 184 this address). This can be useful in optimizing the virtual memory 185 layout of the system. 186 187 Say N here unless you know what you are doing. 188 189config KERNEL_START 190 hex "Virtual address of kernel base" if KERNEL_START_BOOL 191 default "0xc0000000" 192 193config TASK_SIZE_BOOL 194 bool "Set custom user task size" 195 depends on ADVANCED_OPTIONS 196 help 197 This option allows you to set the amount of virtual address space 198 allocated to user tasks. This can be useful in optimizing the 199 virtual memory layout of the system. 200 201 Say N here unless you know what you are doing. 202 203config TASK_SIZE 204 hex "Size of user task space" if TASK_SIZE_BOOL 205 default "0x80000000" 206 207endmenu 208 209menu "Bus Options" 210 211config PCI_XILINX 212 bool "Xilinx PCI host bridge support" 213 depends on PCI 214 215endmenu 216