218 lines
5.5 KiB
Plaintext
218 lines
5.5 KiB
Plaintext
|
# 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 VIRT_TO_BUS
|
||
|
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
|
||
|
select HANDLE_DOMAIN_IRQ
|
||
|
|
||
|
# 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"
|
||
|
|
||
|
endmenu
|
||
|
|
||
|
menu "Bus Options"
|
||
|
|
||
|
config PCI_XILINX
|
||
|
bool "Xilinx PCI host bridge support"
|
||
|
depends on PCI
|
||
|
|
||
|
endmenu
|