123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- # 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
- menu "Bus Options"
- config PCI_XILINX
- bool "Xilinx PCI host bridge support"
- depends on PCI
- endmenu
|