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