| # SPDX-License-Identifier: GPL-2.0-only |
| config MICROBLAZE |
| def_bool y |
| select ARCH_32BIT_OFF_T |
| select ARCH_NO_SWAP |
| select ARCH_HAS_DMA_PREP_COHERENT |
| select ARCH_HAS_GCOV_PROFILE_ALL |
| select ARCH_HAS_SYNC_DMA_FOR_CPU |
| select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| select ARCH_MIGHT_HAVE_PC_PARPORT |
| select ARCH_WANT_IPC_PARSE_VERSION |
| select BUILDTIME_TABLE_SORT |
| select TIMER_OF |
| select CLONE_BACKWARDS3 |
| select COMMON_CLK |
| select DMA_DIRECT_REMAP |
| select GENERIC_ATOMIC64 |
| select GENERIC_CPU_DEVICES |
| select GENERIC_IDLE_POLL_SETUP |
| select GENERIC_IRQ_PROBE |
| select GENERIC_IRQ_SHOW |
| select GENERIC_PCI_IOMAP |
| select GENERIC_SCHED_CLOCK |
| select HAVE_ARCH_HASH |
| select HAVE_ARCH_KGDB |
| select HAVE_ARCH_SECCOMP |
| select HAVE_DEBUG_KMEMLEAK |
| select HAVE_DMA_CONTIGUOUS |
| select HAVE_DYNAMIC_FTRACE |
| select HAVE_FTRACE_MCOUNT_RECORD |
| select HAVE_FUNCTION_GRAPH_TRACER |
| select HAVE_FUNCTION_TRACER |
| select HAVE_PCI |
| select IRQ_DOMAIN |
| select XILINX_INTC |
| select MODULES_USE_ELF_RELA |
| select OF |
| select OF_EARLY_FLATTREE |
| select PCI_DOMAINS_GENERIC if PCI |
| select PCI_SYSCALL if PCI |
| select CPU_NO_EFFICIENT_FFS |
| select MMU_GATHER_NO_RANGE |
| select SPARSE_IRQ |
| select ZONE_DMA |
| select TRACE_IRQFLAGS_SUPPORT |
| select GENERIC_IRQ_MULTI_HANDLER |
| |
| # Endianness selection |
| choice |
| prompt "Endianness selection" |
| default CPU_LITTLE_ENDIAN |
| help |
| microblaze architectures can be configured for either little or |
| big endian formats. Be sure to select the appropriate mode. |
| |
| config CPU_BIG_ENDIAN |
| bool "Big endian" |
| |
| config CPU_LITTLE_ENDIAN |
| bool "Little endian" |
| |
| endchoice |
| |
| config ARCH_HAS_ILOG2_U32 |
| def_bool n |
| |
| config ARCH_HAS_ILOG2_U64 |
| def_bool n |
| |
| config GENERIC_HWEIGHT |
| def_bool y |
| |
| config GENERIC_CALIBRATE_DELAY |
| def_bool y |
| |
| config GENERIC_CSUM |
| def_bool y |
| |
| config STACKTRACE_SUPPORT |
| def_bool y |
| |
| config LOCKDEP_SUPPORT |
| def_bool y |
| |
| source "arch/microblaze/Kconfig.platform" |
| |
| menu "Processor type and features" |
| |
| source "kernel/Kconfig.hz" |
| |
| config MMU |
| def_bool y |
| |
| comment "Boot options" |
| |
| config CMDLINE_BOOL |
| bool "Default bootloader kernel arguments" |
| |
| config CMDLINE |
| string "Default kernel command string" |
| depends on CMDLINE_BOOL |
| default "console=ttyUL0,115200" |
| help |
| On some architectures there is currently no way for the boot loader |
| to pass arguments to the kernel. For these architectures, you should |
| supply some command-line options at build time by entering them |
| here. |
| |
| config CMDLINE_FORCE |
| bool "Force default kernel command string" |
| depends on CMDLINE_BOOL |
| default n |
| help |
| Set this to have arguments from the default kernel command string |
| override those passed by the boot loader. |
| |
| endmenu |
| |
| menu "Kernel features" |
| |
| config NR_CPUS |
| int |
| default "1" |
| |
| config ADVANCED_OPTIONS |
| bool "Prompt for advanced kernel configuration options" |
| help |
| This option will enable prompting for a variety of advanced kernel |
| configuration options. These options can cause the kernel to not |
| work if they are set incorrectly, but can be used to optimize certain |
| aspects of kernel memory management. |
| |
| Unless you know what you are doing, say N here. |
| |
| comment "Default settings for advanced configuration options are used" |
| depends on !ADVANCED_OPTIONS |
| |
| config HIGHMEM |
| bool "High memory support" |
| select KMAP_LOCAL |
| help |
| The address space of Microblaze processors is only 4 Gigabytes large |
| and it has to accommodate user address space, kernel address |
| space as well as some memory mapped IO. That means that, if you |
| have a large amount of physical memory and/or IO, not all of the |
| memory can be "permanently mapped" by the kernel. The physical |
| memory that is not permanently mapped is called "high memory". |
| |
| If unsure, say n. |
| |
| config LOWMEM_SIZE_BOOL |
| bool "Set maximum low memory" |
| depends on ADVANCED_OPTIONS |
| help |
| This option allows you to set the maximum amount of memory which |
| will be used as "low memory", that is, memory which the kernel can |
| access directly, without having to set up a kernel virtual mapping. |
| This can be useful in optimizing the layout of kernel virtual |
| memory. |
| |
| Say N here unless you know what you are doing. |
| |
| config LOWMEM_SIZE |
| hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL |
| default "0x30000000" |
| |
| config MANUAL_RESET_VECTOR |
| hex "Microblaze reset vector address setup" |
| default "0x0" |
| help |
| Set this option to have the kernel override the CPU Reset vector. |
| If zero, no change will be made to the MicroBlaze reset vector at |
| address 0x0. |
| If non-zero, a jump instruction to this address, will be written |
| to the reset vector at address 0x0. |
| If you are unsure, set it to default value 0x0. |
| |
| config KERNEL_START_BOOL |
| bool "Set custom kernel base address" |
| depends on ADVANCED_OPTIONS |
| help |
| This option allows you to set the kernel virtual address at which |
| the kernel will map low memory (the kernel image will be linked at |
| this address). This can be useful in optimizing the virtual memory |
| layout of the system. |
| |
| Say N here unless you know what you are doing. |
| |
| config KERNEL_START |
| hex "Virtual address of kernel base" if KERNEL_START_BOOL |
| default "0xc0000000" |
| |
| config TASK_SIZE_BOOL |
| bool "Set custom user task size" |
| depends on ADVANCED_OPTIONS |
| help |
| This option allows you to set the amount of virtual address space |
| allocated to user tasks. This can be useful in optimizing the |
| virtual memory layout of the system. |
| |
| Say N here unless you know what you are doing. |
| |
| config TASK_SIZE |
| hex "Size of user task space" if TASK_SIZE_BOOL |
| default "0x80000000" |
| |
| config MB_MANAGER |
| bool "Support for Microblaze Manager" |
| depends on ADVANCED_OPTIONS |
| help |
| This option enables API for configuring the MicroBlaze manager |
| control register, which is consumed by the break handler to |
| block the break. |
| |
| Say N here unless you know what you are doing. |
| |
| endmenu |