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 156comment "Default settings for advanced configuration options are used" 157 depends on !ADVANCED_OPTIONS 158 159config NIOS2_KERNEL_MMU_REGION_BASE_BOOL 160 bool "Set custom kernel MMU region base address" 161 depends on ADVANCED_OPTIONS 162 help 163 This option allows you to set the virtual address of the kernel MMU region. 164 165 Say N here unless you know what you are doing. 166 167config NIOS2_KERNEL_MMU_REGION_BASE 168 hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL 169 default "0x80000000" 170 help 171 This option allows you to set the virtual base address of the kernel MMU region. 172 173config NIOS2_KERNEL_REGION_BASE_BOOL 174 bool "Set custom kernel region base address" 175 depends on ADVANCED_OPTIONS 176 help 177 This option allows you to set the virtual address of the kernel region. 178 179 Say N here unless you know what you are doing. 180 181config NIOS2_KERNEL_REGION_BASE 182 hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL 183 default "0xc0000000" 184 185config NIOS2_IO_REGION_BASE_BOOL 186 bool "Set custom I/O region base address" 187 depends on ADVANCED_OPTIONS 188 help 189 This option allows you to set the virtual address of the I/O region. 190 191 Say N here unless you know what you are doing. 192 193config NIOS2_IO_REGION_BASE 194 hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL 195 default "0xe0000000" 196 197endmenu 198 199menu "Executable file formats" 200 201source "fs/Kconfig.binfmt" 202 203endmenu 204 205source "net/Kconfig" 206 207source "drivers/Kconfig" 208 209source "fs/Kconfig" 210 211source "arch/nios2/Kconfig.debug" 212 213source "security/Kconfig" 214 215source "crypto/Kconfig" 216 217source "lib/Kconfig" 218