# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#
# Platform selection Kconfig menu for MicroBlaze targets
#

menu "Platform options"
choice
	prompt "Platform"
	default PLATFORM_MICROBLAZE_AUTO
	help
	  Choose which hardware board/platform you are targeting.

config PLATFORM_GENERIC
	bool "Generic"
	help
	  Choose this option for the Generic platform.

endchoice

config SELFMOD
	bool "Use self modified code for intc/timer"
	depends on EXPERIMENTAL && NO_MMU
	default n
	help
	  This choice enables self-modified code for interrupt controller
	  and timer.

config SELFMOD_INTC
	bool "Use self modified code for intc"
	depends on SELFMOD
	default y
	help
	  This choice enables self-modified code for interrupt controller.

config SELFMOD_TIMER
	bool "Use self modified code for timer"
	depends on SELFMOD
	default y
	help
	  This choice enables self-modified code for timer.

config OPT_LIB_FUNCTION
	bool "Optimalized lib function"
	default y
	help
	  Allows turn on optimalized library function (memcpy and memmove).
	  They are optimized by using word alignment. This will work
	  fine if both source and destination are aligned on the same
	  boundary. However, if they are aligned on different boundaries
	  shifts will be necessary. This might result in bad performance
	  on MicroBlaze systems without a barrel shifter.

config OPT_LIB_ASM
	bool "Optimalized lib function ASM"
	depends on OPT_LIB_FUNCTION && (XILINX_MICROBLAZE0_USE_BARREL = 1)
	default n
	help
	  Allows turn on optimalized library function (memcpy and memmove).
	  Function are written in asm code.

if PLATFORM_GENERIC=y
	source "arch/microblaze/platform/generic/Kconfig.auto"
endif

endmenu
