| # 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 HAS_IOPORT if PCI | |
| 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_FUNCTION_GRAPH_TRACER | |
| select HAVE_FUNCTION_TRACER | |
| select HAVE_PAGE_SIZE_4KB | |
| 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 |