1# SPDX-License-Identifier: GPL-2.0 2config NIOS2 3 def_bool y 4 select ARCH_HAS_SYNC_DMA_FOR_CPU 5 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 6 select DMA_NONCOHERENT_OPS 7 select TIMER_OF 8 select GENERIC_ATOMIC64 9 select GENERIC_CLOCKEVENTS 10 select GENERIC_CPU_DEVICES 11 select GENERIC_IRQ_PROBE 12 select GENERIC_IRQ_SHOW 13 select GENERIC_STRNCPY_FROM_USER 14 select GENERIC_STRNLEN_USER 15 select HAVE_ARCH_TRACEHOOK 16 select HAVE_ARCH_KGDB 17 select IRQ_DOMAIN 18 select MODULES_USE_ELF_RELA 19 select OF 20 select OF_EARLY_FLATTREE 21 select SOC_BUS 22 select SPARSE_IRQ 23 select USB_ARCH_HAS_HCD if USB_SUPPORT 24 select CPU_NO_EFFICIENT_FFS 25 26config GENERIC_CSUM 27 def_bool y 28 29config GENERIC_HWEIGHT 30 def_bool y 31 32config GENERIC_CALIBRATE_DELAY 33 def_bool y 34 35config NO_IOPORT_MAP 36 def_bool y 37 38config HAS_DMA 39 def_bool y 40 41config FPU 42 def_bool n 43 44config SWAP 45 def_bool n 46 47config RWSEM_GENERIC_SPINLOCK 48 def_bool y 49 50config TRACE_IRQFLAGS_SUPPORT 51 def_bool n 52 53source "init/Kconfig" 54 55menu "Kernel features" 56 57source "kernel/Kconfig.preempt" 58 59source "kernel/Kconfig.freezer" 60 61source "kernel/Kconfig.hz" 62 63source "mm/Kconfig" 64 65config FORCE_MAX_ZONEORDER 66 int "Maximum zone order" 67 range 9 20 68 default "11" 69 help 70 The kernel memory allocator divides physically contiguous memory 71 blocks into "zones", where each zone is a power of two number of 72 pages. This option selects the largest power of two that the kernel 73 keeps in the memory allocator. If you need to allocate very large 74 blocks of physically contiguous memory, then you may need to 75 increase this value. 76 77 This config option is actually maximum order plus one. For example, 78 a value of 11 means that the largest free memory block is 2^10 pages. 79 80endmenu 81 82source "arch/nios2/platform/Kconfig.platform" 83 84menu "Processor type and features" 85 86config MMU 87 def_bool y 88 89config NR_CPUS 90 int 91 default "1" 92 93config NIOS2_ALIGNMENT_TRAP 94 bool "Catch alignment trap" 95 default y 96 help 97 Nios II CPUs cannot fetch/store data which is not bus aligned, 98 i.e., a 2 or 4 byte fetch must start at an address divisible by 99 2 or 4. Any non-aligned load/store instructions will be trapped and 100 emulated in software if you say Y here, which has a performance 101 impact. 102 103comment "Boot options" 104 105config CMDLINE_BOOL 106 bool "Default bootloader kernel arguments" 107 default y 108 109config CMDLINE 110 string "Default kernel command string" 111 default "" 112 depends on CMDLINE_BOOL 113 help 114 On some platforms, there is currently no way for the boot loader to 115 pass arguments to the kernel. For these platforms, you can supply 116 some command-line options at build time by entering them here. In 117 other cases you can specify kernel args so that you don't have 118 to set them up in board prom initialization routines. 119 120config CMDLINE_FORCE 121 bool "Force default kernel command string" 122 depends on CMDLINE_BOOL 123 help 124 Set this to have arguments from the default kernel command string 125 override those passed by the boot loader. 126 127config NIOS2_CMDLINE_IGNORE_DTB 128 bool "Ignore kernel command string from DTB" 129 depends on CMDLINE_BOOL 130 depends on !CMDLINE_FORCE 131 default y 132 help 133 Set this to ignore the bootargs property from the devicetree's 134 chosen node and fall back to CMDLINE if nothing is passed. 135 136config NIOS2_PASS_CMDLINE 137 bool "Passed kernel command line from u-boot" 138 default n 139 help 140 Use bootargs env variable from u-boot for kernel command line. 141 will override "Default kernel command string". 142 Say N if you are unsure. 143 144config NIOS2_BOOT_LINK_OFFSET 145 hex "Link address offset for booting" 146 default "0x00500000" 147 help 148 This option allows you to set the link address offset of the zImage. 149 This can be useful if you are on a board which has a small amount of 150 memory. 151 152endmenu 153 154menu "Advanced setup" 155 156config ADVANCED_OPTIONS 157 bool "Prompt for advanced kernel configuration options" 158 159comment "Default settings for advanced configuration options are used" 160 depends on !ADVANCED_OPTIONS 161 162config NIOS2_KERNEL_MMU_REGION_BASE_BOOL 163 bool "Set custom kernel MMU region base address" 164 depends on ADVANCED_OPTIONS 165 help 166 This option allows you to set the virtual address of the kernel MMU region. 167 168 Say N here unless you know what you are doing. 169 170config NIOS2_KERNEL_MMU_REGION_BASE 171 hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL 172 default "0x80000000" 173 help 174 This option allows you to set the virtual base address of the kernel MMU region. 175 176config NIOS2_KERNEL_REGION_BASE_BOOL 177 bool "Set custom kernel region base address" 178 depends on ADVANCED_OPTIONS 179 help 180 This option allows you to set the virtual address of the kernel region. 181 182 Say N here unless you know what you are doing. 183 184config NIOS2_KERNEL_REGION_BASE 185 hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL 186 default "0xc0000000" 187 188config NIOS2_IO_REGION_BASE_BOOL 189 bool "Set custom I/O region base address" 190 depends on ADVANCED_OPTIONS 191 help 192 This option allows you to set the virtual address of the I/O region. 193 194 Say N here unless you know what you are doing. 195 196config NIOS2_IO_REGION_BASE 197 hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL 198 default "0xe0000000" 199 200endmenu 201 202menu "Executable file formats" 203 204source "fs/Kconfig.binfmt" 205 206endmenu 207 208source "net/Kconfig" 209 210source "drivers/Kconfig" 211 212source "fs/Kconfig" 213 214source "arch/nios2/Kconfig.debug" 215 216source "security/Kconfig" 217 218source "crypto/Kconfig" 219 220source "lib/Kconfig" 221