# SPDX-License-Identifier: GPL-2.0-only
config [31mCONFIG_MICROBLAZE[0m
def_bool y
select [31mCONFIG_ARCH_32BIT_OFF_T[0m
select [31mCONFIG_ARCH_NO_SWAP[0m
select [31mCONFIG_ARCH_HAS_BINFMT_FLAT[0m if ![31mCONFIG_MMU[0m
select [31mCONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN[0m if [31mCONFIG_MMU[0m
select [31mCONFIG_ARCH_HAS_DMA_PREP_COHERENT[0m
select [31mCONFIG_ARCH_HAS_GCOV_PROFILE_ALL[0m
select [31mCONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU[0m
select [31mCONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE[0m
select [31mCONFIG_ARCH_HAS_UNCACHED_SEGMENT[0m if ![31mCONFIG_MMU[0m
select [31mCONFIG_ARCH_MIGHT_HAVE_PC_PARPORT[0m
select [31mCONFIG_ARCH_WANT_IPC_PARSE_VERSION[0m
select [31mCONFIG_BUILDTIME_EXTABLE_SORT[0m
select [31mCONFIG_TIMER_OF[0m
select [31mCONFIG_CLONE_BACKWARDS3[0m
select [31mCONFIG_COMMON_CLK[0m
select [31mCONFIG_DMA_DIRECT_REMAP[0m if [31mCONFIG_MMU[0m
select [31mCONFIG_GENERIC_ATOMIC64[0m
select [31mCONFIG_GENERIC_CLOCKEVENTS[0m
select [31mCONFIG_GENERIC_CPU_DEVICES[0m
select [31mCONFIG_GENERIC_IDLE_POLL_SETUP[0m
select [31mCONFIG_GENERIC_IRQ_PROBE[0m
select [31mCONFIG_GENERIC_IRQ_SHOW[0m
select [31mCONFIG_GENERIC_PCI_IOMAP[0m
select [31mCONFIG_GENERIC_SCHED_CLOCK[0m
select [31mCONFIG_HAVE_ARCH_HASH[0m
select [31mCONFIG_HAVE_ARCH_KGDB[0m
select [31mCONFIG_HAVE_DEBUG_KMEMLEAK[0m
select [31mCONFIG_HAVE_DYNAMIC_FTRACE[0m
select [31mCONFIG_HAVE_FTRACE_MCOUNT_RECORD[0m
select [31mCONFIG_HAVE_FUNCTION_GRAPH_TRACER[0m
select [31mCONFIG_HAVE_FUNCTION_TRACER[0m
select [31mCONFIG_HAVE_MEMBLOCK_NODE_MAP[0m
select [31mCONFIG_HAVE_OPROFILE[0m
select [31mCONFIG_HAVE_PCI[0m
select [31mCONFIG_IRQ_DOMAIN[0m
select [31mCONFIG_XILINX_INTC[0m
select [31mCONFIG_MODULES_USE_ELF_RELA[0m
select [31mCONFIG_OF[0m
select [31mCONFIG_OF_EARLY_FLATTREE[0m
select [31mCONFIG_PCI_DOMAINS_GENERIC[0m if [31mCONFIG_PCI[0m
select [31mCONFIG_PCI_SYSCALL[0m if [31mCONFIG_PCI[0m
select [31mCONFIG_TRACING_SUPPORT[0m
select [31mCONFIG_VIRT_TO_BUS[0m
select [31mCONFIG_CPU_NO_EFFICIENT_FFS[0m
select MMU_GATHER_NO_RANGE if [31mCONFIG_MMU[0m
# Endianness selection
choice
prompt "Endianness selection"
default [31mCONFIG_CPU_LITTLE_ENDIAN[0m
help
microblaze architectures can be configured for either little or
big endian formats. Be sure to select the appropriate mode.
config [31mCONFIG_CPU_BIG_ENDIAN[0m
bool "Big endian"
config [31mCONFIG_CPU_LITTLE_ENDIAN[0m
bool "Little endian"
endchoice
config [31mCONFIG_ZONE_DMA[0m
def_bool y
config [31mCONFIG_ARCH_HAS_ILOG2_U32[0m
def_bool n
config [31mCONFIG_ARCH_HAS_ILOG2_U64[0m
def_bool n
config [31mCONFIG_GENERIC_HWEIGHT[0m
def_bool y
config [31mCONFIG_GENERIC_CALIBRATE_DELAY[0m
def_bool y
config [31mCONFIG_GENERIC_CSUM[0m
def_bool y
config [31mCONFIG_STACKTRACE_SUPPORT[0m
def_bool y
config [31mCONFIG_LOCKDEP_SUPPORT[0m
def_bool y
source "arch/microblaze/Kconfig.platform"
menu "Processor type and features"
source "kernel/Kconfig.hz"
config [31mCONFIG_MMU[0m
bool "MMU support"
default n
comment "Boot options"
config [31mCONFIG_CMDLINE_BOOL[0m
bool "Default bootloader kernel arguments"
config [31mCONFIG_CMDLINE[0m
string "Default kernel command string"
depends on [31mCONFIG_CMDLINE_BOOL[0m
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 [31mCONFIG_CMDLINE_FORCE[0m
bool "Force default kernel command string"
depends on [31mCONFIG_CMDLINE_BOOL[0m
default n
help
Set this to have arguments from the default kernel command string
override those passed by the boot loader.
config [31mCONFIG_SECCOMP[0m
bool "Enable seccomp to safely compute untrusted bytecode"
depends on [31mCONFIG_PROC_FS[0m
default y
help
This kernel feature is useful for number crunching applications
that may need to compute untrusted bytecode during their
execution. By using pipes or other transports made available to
the process as file descriptors supporting the read/write
syscalls, it's possible to isolate those applications in
their own address space using seccomp. Once seccomp is
enabled via /proc/<pid>/seccomp, it cannot be disabled
and the task is only allowed to execute a few safe syscalls
defined by each seccomp mode.
If unsure, say Y. Only embedded should say N here.
endmenu
menu "Kernel features"
config [31mCONFIG_NR_CPUS[0m
int
default "1"
config [31mCONFIG_ADVANCED_OPTIONS[0m
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 ![31mCONFIG_ADVANCED_OPTIONS[0m
config [31mCONFIG_XILINX_UNCACHED_SHADOW[0m
bool "Are you using uncached shadow for RAM ?"
depends on [31mCONFIG_ADVANCED_OPTIONS[0m && ![31mCONFIG_MMU[0m
default n
help
This is needed to be able to allocate uncachable memory regions.
The feature requires the design to define the RAM memory controller
window to be twice as large as the actual physical memory.
config [31mCONFIG_HIGHMEM[0m
bool "High memory support"
depends on [31mCONFIG_MMU[0m
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 [31mCONFIG_LOWMEM_SIZE_BOOL[0m
bool "Set maximum low memory"
depends on [31mCONFIG_ADVANCED_OPTIONS[0m && [31mCONFIG_MMU[0m
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 [31mCONFIG_LOWMEM_SIZE[0m
hex "Maximum low memory size (in bytes)" if [31mCONFIG_LOWMEM_SIZE_BOOL[0m
default "0x30000000"
config [31mCONFIG_MANUAL_RESET_VECTOR[0m
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 [31mCONFIG_KERNEL_START_BOOL[0m
bool "Set custom kernel base address"
depends on [31mCONFIG_ADVANCED_OPTIONS[0m
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 [31mCONFIG_KERNEL_START[0m
hex "Virtual address of kernel base" if [31mCONFIG_KERNEL_START_BOOL[0m
default "0xc0000000" if [31mCONFIG_MMU[0m
default [31mCONFIG_KERNEL_BASE_ADDR[0m if ![31mCONFIG_MMU[0m
config [31mCONFIG_TASK_SIZE_BOOL[0m
bool "Set custom user task size"
depends on [31mCONFIG_ADVANCED_OPTIONS[0m && [31mCONFIG_MMU[0m
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 [31mCONFIG_TASK_SIZE[0m
hex "Size of user task space" if [31mCONFIG_TASK_SIZE_BOOL[0m
default "0x80000000"
choice
prompt "Page size"
default [31mCONFIG_MICROBLAZE_4K_PAGES[0m
depends on [31mCONFIG_ADVANCED_OPTIONS[0m && ![31mCONFIG_MMU[0m
help
Select the kernel logical page size. Increasing the page size
will reduce software overhead at each page boundary, allow
hardware prefetch mechanisms to be more effective, and allow
larger dma transfers increasing IO efficiency and reducing
overhead. However the utilization of memory will increase.
For example, each cached file will using a multiple of the
page size to hold its contents and the difference between the
end of file and the end of page is wasted.
If unsure, choose 4K_PAGES.
config [31mCONFIG_MICROBLAZE_4K_PAGES[0m
bool "4k page size"
config [31mCONFIG_MICROBLAZE_16K_PAGES[0m
bool "16k page size"
config [31mCONFIG_MICROBLAZE_64K_PAGES[0m
bool "64k page size"
endchoice
endmenu
menu "Bus Options"
config [31mCONFIG_PCI_XILINX[0m
bool "Xilinx PCI host bridge support"
depends on [31mCONFIG_PCI[0m
endmenu