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